ABSTRACT
One of the most expensive and time-consuming components of the debugging process is locating the errors or faults. To locate faults, developers must identify statements involved in failures and select suspicious statements that might contain faults. This paper presents a new technique that uses visualization to assist with these tasks. The technique uses color to visually map the participation of each program statement in the outcome of the execution of the program with a test suite, consisting of both passed and failed test cases. Based on this visual mapping, a user can inspect the statements in the program, identify statements involved in failures, and locate potentially faulty statements. The paper also describes a prototype tool that implements our technique along with a set of empirical studies that use the tool for evaluation of the technique. The empirical studies show that, for the subject we studied, the technique can be effective in helping a user locate faults in a program.
- xSlice: A tool for program debugging. http://xsuds.argreenhouse.com/html-man/coverpage.html.Google Scholar
- H. Agrawal, J. Horgan, S. London, and W. Wong. Fault localization using execution slices and dataflow tests. In Proceedings of IEEE Software Reliability Engineering, pages 143-151, 1995.Google ScholarCross Ref
- T. Ball and S. G. Eick. Software visualization in the large. Computer, 29(4):33-43, Apr. 1996. Google ScholarDigital Library
- J. S. Collofello and S. N. Woodfield. Evaluating the effectiveness of reliability-assurance techniques. Journal of Systems and Software, 9(3):191-195, 1989. Google ScholarDigital Library
- J. Eagan, M. J. Harrold, J. Jones, and J. Stasko. Technical note: Visually encoding program test information to find faults in software. In Proceedings of IEEE Information Visualization, pages 33-36, October 2001. Google ScholarDigital Library
- S. G. Eick, L. Steffen, Joseph, and E. E. Sumner Jr. Seesoft---A tool for visualizing line oriented software statistics. IEEE Transactions on Software Engineering, 18(11):957-968, Nov. 1992. Google ScholarDigital Library
- S. Elbaum, A. Malishevsky, and G. Rothermel. Prioritizing test cases for regression testing. In Proceedings of the ACM International Symposium on Softw. Testing and Analysis, pages 102-112, Aug. 2000. Google ScholarDigital Library
- M. J. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. S., S. Spoon, and A. Gujarathi. Regression test selection for java software. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 312-326, October 2001. Google ScholarDigital Library
- J. Jones and M. J. Harrold. Test-suite reduction and prioritization for modified condition/decision coverage. In Proceedings of the International Conference on Software Maintenance, pages 92-101, November 2001. Google ScholarDigital Library
- H. Pan, R. A. DeMillo, and E. H. Spafford. Failure and fault analysis for software debugging. In Proceedings of COMPSAC 97, pages 515-521, Wahington, D.C., August 1997. Google ScholarDigital Library
- G. Rothermel and M. J. Harrold. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology, 6(2):173-210, Apr. 1997. Google ScholarDigital Library
- G. Rothermel, M. J. Harrold, J. Ostrin, and C. Hong. An empirical study of the effects of minimization on the fault detecti on capabilities of test suites. In Proceedings of the International Conference on Software Maintenance, Nov. 1998. Google ScholarDigital Library
- G. Rothermel, R. Untch, C. Chu, and M. J. Harrold. Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering, 27(10):929-948, October 2001. Google ScholarDigital Library
- J. Stasko, J. Domingue, M. Brown, and B. Price, editors. Software Visualization: Programming as a Multimedia Experience. MIT Press, Cambridge, MA, 1998. Google ScholarDigital Library
- Telcordia Technologies, Inc. xATAC: A tool for improving testing effectiveness. http://xsuds.argreenhouse.com/html-man/coverpage.html.Google Scholar
- I. Vessey. Expertise in debugging computer programs. International Journal of Man-Machine Studies: A process analysis, 23(5):459-494, 1985.Google Scholar
- F. Vokolos and P. Frankl. Empirical evaluation of the textual differencing regression testing tec hniques. In International Conference on Software Maintenance, November 1998. Google ScholarDigital Library
Index Terms
- Visualization of test information to assist fault localization
Recommendations
Tester Feedback Driven Fault Localization
ICST '12: Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and ValidationCoincidentally correct test cases are those that execute faulty statements but do not cause failures. Such test cases reduce the effectiveness of spectrum-based fault localization techniques, such as Ochiai, because the correlation of failure with the ...
Learning test-mutant relationship for accurate fault localisation
Abstract Context:Automated fault localisation aims to assist developers in the task of identifying the root cause of the fault by narrowing down the space of likely fault locations. Simulating variants of the faulty program called ...
Fault density, fault types, and spectra-based fault localization
This paper presents multiple empirical experiments that investigate the impact of fault quantity and fault type on statistical, coverage-based fault localization techniques and fault-localization interference. Fault-localization interference is a ...
Comments