ABSTRACT
Program analysis techniques are used by software engineers to deduce and infer targeted characteristics of software systems for tasks such as testing, debugging, maintenance, and program comprehension. Recently, some program analysis techniques have been designed to leverage characteristics of traditional experimentation in order to analyze software systems. We believe that the use of experimentation for program analysis constitutes a new program analysis paradigm: experimental program analysis. This research seeks to accomplish four goals: to precisely define experimental program analysis, to provide a means for classifying experimental program analysis techniques, to identify existing experimental program analysis techniques in the research literature, and to enhance the use of experimental program analysis by improving existing, and by creating new, experimental program analysis techniques.
- M. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. In Proc. ACM SIGPLAN 2001 Conf. Prog. Lang. Des. Impl., pages 168--179, June 2001.]] Google ScholarDigital Library
- V. R. Basili, F. Shull, and F. Lanubile. Using experiments to build a body of knowledge. In NASA Softw. Eng. Wshop., pages 265--282, December 1999.]] Google ScholarDigital Library
- D. M. Cohen, S. R. Dalal, M. L. Fredman, and G. C. Patton. The AETG system: An approach to testing based on combinatorial design. IEEE Trans. Softw. Eng., 23(7):437--444, July 1997.]] Google ScholarDigital Library
- I. S. Dunietz, W. K. Ehrlich, B. D. Szablak, C. L. Mallows, and A. Iannino. Applying design of experiments to software testing: Experience report. In Proc. 19th Int'l. Conf. Softw. Eng., pages 205--215, May 1997.]] Google ScholarDigital Library
- S. Elbaum and M. Diep. Profiling deployed software: Assessing strategies and testing opportunities. IEEE Trans. Softw. Eng., 31(4):312--327, April 2005.]] Google ScholarDigital Library
- M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Trans. Softw. Eng., 27(2):99--123, February 2001.]] Google ScholarDigital Library
- N. E. Fenton and S. L. Pfleeger. Software Metrics: A Rigorous and Practical Approach. Course Technology, 2nd edition, 1998.]] Google ScholarDigital Library
- M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.]] Google ScholarDigital Library
- B. A. Kitchenham, S. L. Pfleeger, L. M. Pickard, P. W. Jones, D. C. Hoaglin, K. E. Emam, and J. Rosenberg. Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng., 28(8):721--734, August 2002.]] Google ScholarDigital Library
- B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable statistical bug isolation. In Proc. ACM SIGPLAN 2005 Conf. Prog. Lang. Des. Impl., pages 15--26, June 2005.]] Google ScholarDigital Library
- J. R. Ruthruff, S. Elbaum, and G. Rothermel. Experimental program analysis: A new program analysis paradigm. Technical Report TR-UNL-CSE-2005-0001, Dept. of Comp. Sci. and Eng., University of Nebraska--Lincoln, April 2005. http://csce.unl.edu/$sim$ruthruff/papers/tr-unl-cse-2005-0001/TR-UNL-CSE-20%05-0001.pdf.]]Google Scholar
- D. Siegmund. Sequential Analysis: Tests and Confidence Intervals. Springer-Verlag, 1985.]]Google ScholarCross Ref
- C. Wohlin, P. Runeson, M. Host, B. Regnell, and A. Wesslen. Experimentation in Software Engineering. Kluwer Academic Publishers, 2000.]] Google ScholarCross Ref
- A. Zeller. Isolating cause-effect chains from computer programs. In Proc. 10th ACM SIGSOFT Symp. Found. Softw. Eng., pages 1--10, November 2002.]] Google ScholarDigital Library
- A. Zeller. Program analysis: A hierarchy. In Proc. ICSE 2003 Wshop. Dyn. Ana., pages 6--9, May 2003.]]Google Scholar
Index Terms
- Experimental program analysis: a new paradigm for program analysis
Recommendations
Experimental program analysis: a new program analysis paradigm
ISSTA '06: Proceedings of the 2006 international symposium on Software testing and analysisProgram analysis techniques are used by software engineers to deduce and infer characteristics of software systems. Recent research has suggested that a new form of program analysis technique can be created by incorporating characteristics of ...
Experimental program analysis
Program analysis techniques are used by software engineers to deduce and infer characteristics of software systems. Recent research has suggested that certain program analysis techniques can be formulated as formal experiments. This article reports the ...
Comments