The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
A structural test selection criterion
Information Processing Letters
Information Processing Letters
Automatic generation of test scripts from formal test specifications
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
The semantic approach to program slicing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
PIE: A Dynamic Failure-Based Technique
IEEE Transactions on Software Engineering
Data flow analysis techniques for test data selection
ICSE '82 Proceedings of the 6th international conference on Software engineering
Software error analysis: a real case study involving real faults and mutations
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
A semantic model of program faults
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Theory of Fault-Based Predicate Testing for Computer Programs
IEEE Transactions on Software Engineering
DAC '98 Proceedings of the 35th annual Design Automation Conference
Prioritizing test cases for regression testing
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Testability, fault size and the domain-to-range ratio: An eternal triangle
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
Test Case Prioritization: A Family of Empirical Studies
IEEE Transactions on Software Engineering
Observability analysis of embedded software for coverage-directed validation
Proceedings of the 2000 IEEE/ACM international conference on Computer-aided design
Interprocedural Def-Use Associations for C Systems with Single Level Pointers
IEEE Transactions on Software Engineering
The Impact of Software Evolution on Code Coverage Information
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
An empirical, path-oriented approach to software analysis and testing
Journal of Systems and Software
Error propagation analysis for file systems
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Quantitative program slicing: separating statements by relevance
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
This paper introduces dynamic impact analysis as a cost-effective technique to enforce the error-propagation condition for detecting a fault. The intuition behind dynamic impact analysis is as follows. In a specific test-case, if an execution of a syntactic component has a strong impact on the program output and if the output is correct, then the value of that component-execution is not likely to be erroneous. To capture this intuition in a theoretical framework the notion of impact is formally defined and the concept of impact strength is proposed as a quantitative measure of the impact. In order to provide an infrastructure supporting the computation of impact strengths, program impact graphs and execution impact graphs are introduced. An empirical study validating the computation of impact strengths is presented. It is shown that the impact strengths computed by dynamic impact analysis provide reasonable estimates for the error-sensitivity with respect to the output except when the impact is via one or more error-tolerant components of the program. Potential applications of dynamic impact analysis in the area of mutation testing and dynamic program slicing are discussed.