A Formal Evaluation of Data Flow Path Selection Criteria
IEEE Transactions on Software Engineering
Applying design metrics to predict fault-proneness: a case study on a large-scale software system
Software—Practice & Experience
Predicting Source-Code Complexity at the Design Stage
IEEE Software
Operational Profiles in Software-Reliability Engineering
IEEE Software
Emerald: Software Metrics and Models on the Desktop
IEEE Software
A Formal Analysis of the Fault-Detecting Ability of Testing Methods
IEEE Transactions on Software Engineering
An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing
IEEE Transactions on Software Engineering
Extending Software Quality Assessment Techniques to Java Systems
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
ARMOR: Analyzer for Reducing Module Operational Risk
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
Source-Based Software Risk Assessment
ICSM '03 Proceedings of the International Conference on Software Maintenance
An Execution Slice and Inter-Block Data Dependency-Based Approach for Fault Localization
APSEC '04 Proceedings of the 11th Asia-Pacific Software Engineering Conference
Enabling the adoption of aspects - testing aspects: a risk model, fault model and patterns
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Hi-index | 0.00 |
The more complex a software system is, the more likely it is that programmers will make mistakes that introduce faults which can lead to execution failures. A risk in a software system can be viewed as a potential problem, and a problem is a risk that has manifested. In order to reduce the risk of software operations, code which has the potential to cause problems has to be identified so that necessary actions (e.g., performing a more thorough testing on such code) can be taken to prevent any such problems from occurring. Consequently, this can help programmers detect faults in the software before it is deployed and reduce the overall maintenance code. In this paper, we propose a static and a dynamic risk model using metrics collected based on the source code; more specifically, metrics which are either related to the static structure of the source code or the dynamic test coverage of the code. The computation of the risk of code is automated at different granularity levels ranging from basic blocks to functions. An experiment to demonstrate the feasibility of using our method is reported. High risk code, so identified by our method, can be integrated with information collected from other software quality assurance practices to further ensure the safe operation of software applications.