ABSTRACT
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.
- 1.H. Agrawal and J. R. Horgan. Dynamic Program Slicing. In Proc. A CM $IGPLAN Conf. Programmzng Language Deszgn and fmplementatzon, pages 246-256, White Plains, New York, June 1990. Google ScholarDigital Library
- 2.M. J. Balcer, W. M. Hasling, and T. J. Ostrand. Automatic Generation of Test Scripts from Formal Test Specifications. In Proc. A CM $}GSOFT Thzrd Workshop on Software Testzng, Analysis and Verzficatzon, pages 210-218, KeyWest-Florida, Dec. 1989. Google ScholarDigital Library
- 3.T. A. Budd. Mutation Analysis: Ideas, Examples, Problems and Prospects. In B. Chandrasekaran and S. Radicchi, editors, Computer Program Testing, pages 129-148. North-Holland Publishing Company, 1981.Google Scholar
- 4.R. A. Demillo, R. J. Lipton, and F. G. Sayward. Hints on test data selection: Help for the practising programmer. Computer, 11(4):34-41, April 1978.Google ScholarDigital Library
- 5.E. Duesterwald, R. Gupta, and M. L. Sofia. Rigorous Data Flow Testing through Output Influences. In Proc. 2nd Irwne Software Symposium (ISS'92), pages 131-145, Irvine, CA, March 1992.Google Scholar
- 6.J. Ferrante, K. J. Ottenstein, and J. D. Warren. The Program Dependence Graph and Its Use in Optimization. A CM Trans. Prog. Lang. $yst., pages 319-349, July 1987. Google ScholarDigital Library
- 7.R. G. Hamlet. Testing Programs with the Aid of a Compiler. IEEE Trans. Sofiw. Eng., SE-3(4):279- 290, July 1977.Google ScholarDigital Library
- 8.W. A. Howden. Weak Mutation Testing and Completeness of Test Sets. }EEE Trans. Sofiw. Eng., SE-8(4):371-379, July 1982.Google ScholarDigital Library
- 9.B. Korel and J. Laski. Dynamic Program Slicing. In Information Processzng Letters 29, pages 155-163. Elsevier Science Publishers B.V. (North-Holland), October 1988. Google Scholar
- 10.B. Marick. Two Experiments in Software Testing. Technical Report UIUCDCS-R-90-1644, University of Illinois, i990.Google Scholar
- 11.E. W. Minium. Statzstical Reasoning in Psychology and Educatzon. John Wiley & Sons, 2nd edition, 1978.Google Scholar
- 12.L. j. Morell. Theoretical Insights into Fault-Based Testing. in Proc. A CM SIGSOFT Second Workshop on Software Testing, Analyszs and Vcmficatzon, pages 45-62, Banff-Canada, 1988.Google ScholarCross Ref
- 13.S. Rapps and E. J. Weyuker. Data Flow Analysis Techniques for Program Test Data Selection. In Proc. Sixth International Conference on Software Engineering, pages 272-278, Tokyo-Japan, Sept. 1982. Google ScholarDigital Library
- 14.D. J. Richardson and M. C. Thompson. The RE- LAY Model of Error Detection and its Application. In Proc. A 6'31 SIGSOFT Second Workshop on Software Tcstzng, Analyszs and Vcrzficatzon, pages 223- 230, Banff-Canada, 1988.Google Scholar
- 15.H. Ural and B. Yang. A Structural Test Selection Criterion. Informatzon Processzng Letters, 28(3):157-163, July 1988. Google ScholarDigital Library
- 16.G. A. Ventkatesh. The Semantic Approach to Program Slicing. in Proc. A CM SIGPLAN Conf. Programming Language Design and Implemcntatzon, pages 107-119, Toronto, June 1991. Google ScholarDigital Library
- 17.J. M. Voas. PIE: A Dynamic Failure-Based Technique. {EEE Trans. Sofiw. Eng., 18(8):717-727, Aug. 1992. Google ScholarDigital Library
Index Terms
- Dynamic impact analysis: a cost-effective technique to enforce error-propagation
Recommendations
Dynamic impact analysis: a cost-effective technique to enforce error-propagation
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 ...
Estimating the Accuracy of Dynamic Change-Impact Analysis Using Sensitivity Analysis
SERE '14: Proceedings of the 2014 Eighth International Conference on Software Security and ReliabilityThe reliability and security of software are affected by its constant changes. For that reason, developers use change-impact analysis early to identify the potential consequences of changing a program location. Dynamic impact analysis, in particular, ...
Comments