Advertisement

Automated Software Engineering

, Volume 24, Issue 2, pp 341–368 | Cite as

Fault localization using itemset mining under constraints

  • Mehdi Maamar
  • Nadjib Lazaar
  • Samir Loudni
  • Yahia Lebbah
Article
  • 405 Downloads

Abstract

We introduce in this paper an itemset mining approach to tackle the fault localization problem, which is one of the most difficult processes in software debugging. We formalize the problem of fault localization as finding the k best patterns satisfying a set of constraints modelling the most suspicious statements. We use a Constraint Programming (CP) approach to model and to solve our itemset based fault localization problem. Our approach consists of two steps: (i) mining top-k suspicious suites of statements; (ii) fault localization by processing top-k patterns. Experiments performed on standard benchmark programs show that our approach enables to propose a more precise localization than a standard approach.

Keywords

Fault localization Itemset mining Constraint programming  Test case coverage 

Notes

Compliance with ethical standards

Conflict of Interest

The authors declare that they have no conflict of interest.

References

  1. Agrawal, H., DeMillo, R.A., Spafford, E.H.: Debugging with dynamic slicing and backtracking. Softw. Pract. Exp. 23(6), 589–616 (1993)CrossRefGoogle Scholar
  2. Cellier, P., Ducassé, M., Ferré, S., Ridoux, O.: Formal concept analysis enhances fault localization in software. Formal Concept Analysis, pp. 273–288. Springer, Berlin (2008)CrossRefGoogle Scholar
  3. Cellier, P., Ducassé, M., Ferré, S., Ridoux, O.: Dellis: A data mining process for fault localization. In: Proceedings of the 21st International Conference on Software Engineering & Knowledge Engineering (SEKE’2009), Boston, July 1–3, 2009, pp. 432–437 (2009)Google Scholar
  4. Cellier, P., Ducassé, M., Ferré, S., Ridoux, O.: Multiple fault localization with data mining. In: Proceedings of the 23rd International Conference on Software Engineering & Knowledge Engineering (SEKE’2011), Eden Roc Renaissance, Miami Beach, July 7–9, 2011, pp. 238–243 (2011)Google Scholar
  5. Cleve, H., Zeller, A.: Locating causes of program failures. In: 27th International Conference on Software Engineering (ICSE 2005), 15–21 May 2005, St. Louis, pp. 342–351 (2005)Google Scholar
  6. Crémilleux, B., Soulet, A.: Discovering knowledge from local patterns with global constraints. In: ICCSA (2), pp. 1242–1257 (2008)Google Scholar
  7. De Raedt, L., Zimmermann, A.: Constraint-based pattern set mining. In: Proceedings of the Seventh SIAM International Conference on Data Mining, SIAM, Minneapolis (2007)Google Scholar
  8. De Raedt, L., Guns, T., Nijssen, S.: Constraint programming for itemset mining. In: Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM, pp. 204–212 (2008)Google Scholar
  9. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. Computer 11(4), 34–41 (1978). doi: 10.1109/C-M.1978.218136 CrossRefGoogle Scholar
  10. Eric Wong, W., Debroy, V., Choi, B.: A family of code coverage-based heuristics for effective fault localization. Journal of Systems and Software 83(2), 188–208 (2010)CrossRefGoogle Scholar
  11. Gonzalez-Sanchez, A., Abreu, R., Gross, H.G., van Gemund, A.J.: Prioritizing tests for fault localization through ambiguity group reduction. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), IEEE, pp. 83–92 (2011)Google Scholar
  12. Guns, T., Nijssen, S., De Raedt, L.: Itemset mining: a constraint programming perspective. Artif. Intell. 175(12), 1951–1983 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  13. Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments of the effectiveness of dataflow-and controlflow-based test adequacy criteria. In: Proceedings of the 16th International Conference on Software Engineering, IEEE Computer Society Press, pp. 191–200 (1994)Google Scholar
  14. Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), November 7–11, 2005, Long Beach, pp. 273–282 (2005)Google Scholar
  15. Jones, J.A., Harrold, M.J., Stasko, J.T.: Visualization of test information to assist fault localization. In: Proceedings of the 22rd International Conference on Software Engineering, ICSE 2002, 19–25 May 2002, Orlando, pp. 467–477 (2002)Google Scholar
  16. Khiari, M., Boizumault, P., Crémilleux, B.: Constraint programming for mining n-ary patterns. In: CP’10. LNCS, vol 6308, pp. 552–567. Springer, Berlin (2010)Google Scholar
  17. Laprie, J.C., Avizienis, A., Kopetz, H. (eds.): Dependability: Basic Concepts and Terminology. Springer, New York (1992)Google Scholar
  18. Mannila, H., Toivonen, H.: Levelwise search and borders of theories in knowledge discovery. Data Min. Knowl. Discov. 1(3), 241–258 (1997)CrossRefGoogle Scholar
  19. Nessa, S., Abedin, M., Wong, W.E., Khan, L., Qi, Y.: Software fault localization using n-gram analysis. Wireless Algorithms, Systems, and Applications. Springer, Berlin (2008)Google Scholar
  20. Novak, P.K., Lavrac, N., Webb, G.I.: Supervised descriptive rule discovery: a unifying survey of contrast set, emerging pattern and subgroup mining. J. Mach. Learn. Res. 10, 377–403 (2009)zbMATHGoogle Scholar
  21. Ott, L., Longnecker, M., Ott, R.L.: An Introduction to Statistical Methods and Data Analysis, vol. 511. Duxbury, Pacific Grove (2011)Google Scholar
  22. Renieres, M., Reiss, S.P.: Fault localization with nearest neighbor queries. In: Proceedings of 18th IEEE International Conference on Automated Software Engineering, IEEE, pp. 30–39 (2003)Google Scholar
  23. Rojas, W.U., Boizumault, P., Loudni, S., Crémilleux, B., Lepailleur, A.: Mining (soft-) skypatterns using dynamic CSP. In: Proceedings of 11th International Conference Integration of AI and OR Techniques in Constraint Programming, CPAIOR 2014, Cork, May 19–23, 2014. Lecture Notes in Computer Science, vol. 8451, pp. 71–87. Springer, Berlin (2014)Google Scholar
  24. Rossi, F., Beek, Pv, Walsh, T.: Handbook of Constraint Programming. Foundations of Artificial Intelligence. Elsevier, New York (2006)zbMATHGoogle Scholar
  25. Vessey, I.: Expertise in debugging computer programs: a process analysis. Int. J. Man Mach. Stud. 23(5), 459–494 (1985)CrossRefGoogle Scholar
  26. Wong, W.E., Debroy, V.: A survey of software fault localization. Department of Computer Science, University of Texas at Dallas, Technical Report UTDCS-45-09 (2009)Google Scholar
  27. Zeller, A.: Isolating cause-effect chains from computer programs. In: Proceedings of the Tenth ACM SIGSOFT Symposium on Foundations of Software Engineering 2002, Charleston, November 18–22, 2002, ACM, pp. 1–10 (2002)Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Lab. LITIOUniversity of Oran 1OranAlgeria
  2. 2.CNRS, University of Montpellier, LIRMMMontpellierFrance
  3. 3.University of Caen, CNRS, UMR 6072 GREYCCaenFrance

Personalised recommendations