Skip to main content
Log in

The Efficiency of Critical Slicing in Fault Localization

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

In software testing, developing effective debugging strategies is important to guarantee the reliability of software under testing. A heuristic technique is to cause failure and therefore expose faults. Based on this approach mutation testing has been found very useful technique in detecting faults. However, it suffers from two problems with successfully testing programs: (1) requires extensive computing resources and (2) puts heavy demand on human resources. Later, empirical observations suggest that critical slicing based on Statement Deletion (Sdl) mutation operator has been found the most effective technique in reducing effort and the required computing resources in locating the program faults. The second problem of mutation testing may be solved by automating the program testing with the help of software tools. Our study focuses on determining the effectiveness of the critical slicing technique with the help of the Mothra Mutation Testing System in detecting program faults. This paper presents the results showing the performance of Mothra Mutation Testing System through conducting critical slicing testing on a selected suite of programs.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Acree, A.T. 1980. On mutation, School of Information and Computer Science, Ph.D. Thesis, Georgia Institute of Technology, Atlanta, Georgia.

  • Acree, A.T., Budd, T.A., Lipton, R.J., DeMillo, R.A., and Sayward, F.G. 1979. Mutation analysis, School of Information and Computer Science, Technical Report, Georgia Institute of Technology, Atlanta, Georgia.

  • Agarwal, H., DeMillo, R., Hataway, R., Wm. Hsu., Krauser E., Martin, R.J., Mathur, A., and Spafford, E. 1989. Design of mutants operators for the C programming language, Software Engineering Research Center, Technical Report SERC-TR-41-P, Purdue University, West Lafayette, Indiana 47907.

  • Al-Khanjari, Z.A. 1995. Mutation testing using mothra, Dissertation for the Degree of Master of Science (Software Engineering), Supervised by Dr Martin Woodward, College of Science, Liverpool University, UK.

  • Al-Khanjari, Z.A., Woodward, M.R., Ramadhan, H., and Shihab, K. 2002. Faults localization with critical slicing, The 2002 International Multiconference in Computer Science, Monte Carlo Resort, Las Vegas, Nevada, USA, June 24–27, 2002.

  • Binkley, D.W. and Gallagher, K.B. 1996. Program slicing. Advances in Computers, eds Marvin Zelkowitz, Vol. 43. Academic Press, San Diego, CA.

  • Binkley, D.W., Harman, N., Raszewski, L.R., and Smith, C. 2000. An empirical study of amorphous slicing as a program comprehension support tool. In 8th International Workshop on Program Comprehension (IWPC 2000),Limerick, Ireland, pp. 161–170.

  • Budd, T.A. 1980. Mutation analysis of program test data, Ph.D. Thesis, Yale University, New Haven, Connecticut.

  • Canfora, G., Cimitile, A., and De Lucia, A. 1998. Conditioned program slicing, Information and Software Technology special issue on Program Slicing, 40(11–12), pp. 595–607, December 1998.

  • Choi, J.D., Miller, B., and Netzer, P. 1988. Techniques for debugging parallel programs, Technical Report 786, Univ. Wisconsin–Madison.

  • De Lucia, A. 2001. Program slicing: Methods and applications, In IEEE International Workshop on source Code Analysis and Manipulation, IEEE Computer Society Press, Florence, Italy, pp. 142–149.

  • DeMillo, R.A., Lipton, R.J., and Sayward, F.G. 1978. Hints on test data selection help for the practicing programmer,IEEE Computer 11(4): 34–41.

    Google Scholar 

  • DeMillo, R.A., Guindi, D.S., McCracken, W.M., Offutt, A.J., and King, K.N. 1988. An extended overview of the mothra software testing environment, In Proceedings of Second workshop on Software Testing, Verification and Reliability, Banff, Canada, IEEE Computer Society, pp. 142–151.

  • DeMillo, R. 1989. Test adequacy and program mutation, In Proceedings of 11th International Conference on Software Engineering. Pittsburg, PA, May 16–18, 1989, IEEE Computer Society Press, pp. 355–356.

  • DeMillo, R. and Offut, A.J. 1991. Constraint-based automatic test data generation, IEEE Transactions on Software Engineering, SE-17(9), September 1991, pp. 900–910.

    Google Scholar 

  • DeMillo, R.A., Pan, H., and Spafford, E.H. 1996. Critical slicing for software fault localization, Conference Proceedings, ISSTA, San Diego, California, USA.

  • Field, J., Ramalingam, G., and Tip, F. 1995. Parametric program slicing, In 22nd Symposium on Principles of Programming Languages (POPL’95), January 22–25, 1995, pp. 379–392.

  • Fleyshgakker, V.N. and Weiss, S.N. 1994. Efficient mutation analysis: A new approach, In Proceedings of the 1994 International Symposium on Software Testing and Analysis (ISSTA), Seattle, Washington, USA, pp. 185-195.

  • Gallagher, K.B. and Lyle, J.R. 1991. Using program slicing in software maintenance, IEEE Transactions Software Engineering 17(8): 751–761.

    Google Scholar 

  • Hamlet, R.G. 1977. Testing programs with the aid of a compiler, IEEE Transactions on Software Engineering 3(4): 279–290.

    MATH  MathSciNet  Google Scholar 

  • Harman, M. and Danicic, S. 1995. Using program slicing to simplify testing. Journal of Software Testing, Verification and Reliability 5(3): 143–162.

    Google Scholar 

  • Harman, M. and Danicic, S. 1997. Amorphous program slicing, IEEE International Workshop on program Comprehension (IWPC’97), IEEE Computer Society Press, pp. 70–79.

  • Harman, M. and Hierons, R.M. 2001. An overview of program slicing, Software Focus 2(3): 85–92.

    Article  Google Scholar 

  • Horwitz, S., Prins, J., and Reps, T. 1989. Integrating non-interfering versions of programs, ACM Transactions Programming Languages and Systems 11(3): 345–386.

    Google Scholar 

  • Horwitz, S., Reps, T., and Binkley, D. 1990. Interprocedural slicing using dependence graphs, ACM Transactions Programming Languages and Systems 12(1): 35–46.

    Google Scholar 

  • Howden, W.E. 1982, Weak mutation testing and completeness of test sets, IEEE Transactions on Software Engineering 8(4): 371–379.

    Google Scholar 

  • King, K.N. and Offutt, A.J. (1991), A fortran language system for mutation-based software testing, Software-Practice and Experience {21}(7): 685–718.

    Google Scholar 

  • Korel, B. and Laski, J. 1988a. Dynamic program slicing, Information Processing Letters 29(3): 155–163.

    Article  Google Scholar 

  • Korel, B. and Laski, J. 1988b. STAD—a system For testing and debugging: User perspective, In Proc. 2nd Workshop on Software Testing, Verification and Analysis, 19–21 July, Banff, Canada, 1988, pp. 13–20.

  • Korel, B. and Rilling, J. 1998. Dynamic program slicing methods, Information and Software Technology Special Issue on Program Slicing 40(11–12), December 1998, pp. 647–659.

  • Longworth, H.D., Ottenstein, L.M., and Smith, M.R. 1986. The relationship between program complexity and slice complexity during debugging tasks, In Proceedings of IEEE COMPSAC, pp. 383–389.

  • Myers, G.J. 1979. The Art of Software Testing, John Wiley & Sons, Inc., New York.

    Google Scholar 

  • Offutt, A.J. and Craft, W.M. 1994. Using compiler optimization techniques to detect equivalent mutants, In Conference Proceedings on Software Testing, Verification and Reliability, USA, Vol. 4, No. 3, pp. 131–154.

  • Ottenstein, L.M. 1992. Using slice profiles and metrics during software maintenance, In Proceedings of the 10th Annual Software Reliability Symposium, pp. 16–23.

  • Ottenstein, K.J. and Ottenstein, L.M. 1984. The program dependence graph in a software development environment, In Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments. See also SIGPLAN Notices, Vol. 19, No. 5, pp. 177–184.

  • Ottenstein, L.M. and Thuss, J.J. 1992. Using slice profiles and metrics as tools in the production of reliable software, Technical Report CS-92-8, Dept. Computer Science, Michigan Technological University. Also published as Technical Report CS-92-115, Dept. Computer Science, Colorado State University.

  • Pan, H. 1991. Debugging with dynamic instrumentation and test-based knowledge, Technical Report SERCTR-105-p, Software Engineering Research Center, Purdue University, West Lafayette, Indiana.

  • Reps, T. and Yang, W. 1989. The semantic of program slicing and program integration, In Proc. of the Colloquim on Current Issues in Programming Languages, pp. 360–374. Lecture Notes in Computer Science, Vol. 352. Springer-Verlag, New York, NY.

  • Reps, T., Horwitz, S., Sagiv, M., and Rsay, G. 1994. Speeding up Slicing, In Proc. of the ACM SIGSOFT’94 Synposium on the foundations of Software Engineering.

  • Tip, F. 1995a. Generation of program analysis tools, Institute for Logic, Language and Computation, University of Amsterdam, Amsterdam, PhD Thesis, ILLC Dissertation Series, 1995–5.

  • Tip, F. 1995b. A survey of program slicing techniques, Journal of Programming Languages 3(3): 121–189.

    Google Scholar 

  • Untch, R.H. and Offutt, A.J. 1993. Mutation analysis using mutant schemata, In Proceedings of the 1993 International Symposium on Software Testing and Analysis, Cambridge, Massachusetts, USA, IEEE Computer Society, pp. 139–148.

  • Venkatesh, G.A. 1991. The semantic approach to program slicing, In ACM SIGPLAN Conference on Programming Language Design and Implementation, 26–28, Toronto, Canada. AlsoProcessings in SIGPLAN Notices, Vol. 26, No. 6, pp. 107–119.

  • Vessey, I. 1985. Expertise in debugging computer programs: A process analysis, International Journal of Man-Machine Studies 23(5): 459–494.

    Google Scholar 

  • Weiser, M.D. 1979. Program slices: Formal, psychological, and Practical investigations of an automatic program abstraction method, PhD Thesis, University of Michigan, Ann Arbor, MI.

  • Weiser, M.D. 1981. Program slicing, In Proceedings of the 5th International Conference on Software Engineering, pp. 439–449.

  • Weiser, M.D. 1982. Programmers use slices when debugging, Communications of the ACM 25(7): 446–452.

    Article  Google Scholar 

  • Weiser, M.D. 1984. Program slicing, IEEE Transactions Software Engineering 10(4): 352–357.

    MATH  Google Scholar 

  • Weiss, S.N. and Fleyshgakker, V.N. 1993. Improved serial algorithms for mutation analysis, In Proceedings of the 1993 International Symposium on Software Testing and Analysis, Cambridge, Massachusetts, USA, pp. 149–158.

  • Woodward, M.R. 1993. Mutation testing-its origin and evolution, Information and Software Technology 35(3): 163–170.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Z. A. Al-Khanjari.

Additional information

Zuhoor Abdullah Al-Khanjari is an assistant professor in the Computer Science Department at Sultan Qaboos University, Sultanate of Oman. She received her BSc in mathematics and computing from Sultan Qaboos University, MSc and PhD in Computer Science (Software Engineering) from the University of Liverpool, UK. Her research interests include software testing, database management, e-learning, human-computer interaction, programming languages, intelligent search engines, and web data mining and development. ~Currently, she is the coordinator of the software engineering research group in the Department of Computer Science, College of Science, Sultan Qaboos University. She is also coordinating a program to develop e-learning based undergraduate teaching in the Department of Computer Science. Currently she is holding the position of assistant dean for postgraduate studies and research in the College of Science, Sultan Qaboos University, Sultanate of Oman.

Martin Woodward is a Senior Fellow in the Computer Science Department at the University of Liverpool in the UK. After obtaining BSc and Ph.D. degrees in mathematics from the University of Nottingham, he was employed by the University of Oxford as a Research Assistant on secondment to the UK Atomic Energy Authority at the Culham Laboratory. He has been at the University of Liverpool for many years and initially worked on the so-called ‘Testbed’ project, helping to develop automated tools for software testing which are now marketed successfully by a commercial organisation. His research interests include software testing techniques, the relationship between formal methods and testing, and software visualisation. He has served as Editor of the journal ‘Software Testing, Verification and Reliability’ for the past thirteen years.

Haider Ramadhan is an associate professor in the Computer Science Department at Sultan Qaboos University. He received his BS and MS in Computer Science from University of North Carolina, and the PhD in Computer Science and AI from Sussex University. His research interests include visualization of software, systems, and process, system engineering, human-computer interaction, intelligent search engines, and Web data mining and development. Currently, he is the chairman of the Computer Science Department, College of Science, Sultan Qaboos University, Sultanate of Oman.

Swamy Kutti (N. S. Kutti) is an associate professor in the Computer Science Department at Sultan Qaboos University. He received his B.E. in Electronics Engineering from the University of Madras, M.E. in Communication Engineering from Indian Institute of Science (Bangalore), and the MSc in Computer Science from Monash University (Australia) and PhD in Computer Science from Deakin University (Australia). His research interests include Real-Time Programming, Programming Languages, Program Testing and Verification, eLearning, and Distributed Operating Systems.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Al-Khanjari, Z.A., Woodward, M.R., Ramadhan, H.A. et al. The Efficiency of Critical Slicing in Fault Localization. Software Qual J 13, 129–153 (2005). https://doi.org/10.1007/s11219-005-6214-x

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-005-6214-x

Navigation