On Error Representativeness of Function Call Interfaces for C/C++ Program.
2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS)(2023)
Abstract
Software fault injection is a fundamental technique for studying the dependability of software systems. The code mutation based defect injections encounter efficiency (i.e., dormant faults) and accuracy (when they are not done at the source code level) issues. Software error injections directly emulate the effects of software defects, which is more efficient and practical. But, whether the injected errors truly represent the impact of bugs in the real world is still an open problem. Several studies have investigated the representativeness problem of component interface (API) errors. However, the component API error injections are relatively coarse in granularity because they regard the component programs as black boxes. Thus, they cannot be used to analyze the internal error behaviors within the components. To overcome this issue, we propose a finite state machine for generating representative code mutations (as baseline) and a novel tracing approach for collecting function call interface data. That enables the analysis of the representativeness of program internal errors from the perspective of function call interface for C/C++ programs by fault-free and fault injection control experiments. The experimental results imply that the traditional error models cannot accurately emulate software defects at function call interfaces. We provide useful suggestions based on our findings for improving the representativeness of function call interface error injection.
MoreTranslated text
Key words
dependability,software fault injection,error modeling,representativeness,function call interface
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined