Focused Diagnosis for Failing Software Tests

  • Birgit Hofer
  • Seema Jehan
  • Ingo Pill
  • Franz Wotawa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9101)

Abstract

Ranging from firmware to cloud services, software is an essential part of almost any imaginable system, or at the very least assists us in their design or maintenance. The sheer complexity and sophisticated concepts of today’s software products thus demand for solutions that assist us in assuring their quality. We aim to contribute in this direction by proposing a fault localization approach for failing test cases that draws on model-based diagnosis techniques from the AI community and focuses the search on dynamic executions. With this focus, we offer the scalability needed to consider also designs like service oriented architectures (SOAs). Furthermore, we opt for a flexible approach that allows a user to refine the reasoning by annotating our basic structure of a control flow graph with further information, e.g., for black box components. First experiments with standard software examples, as well as examples taken from the SOA domain show promising results.

Keywords

Model-based diagnosis Software debugging Constraint satisfaction problem Control flow graph 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Brandis, M.M., Mössenböck, H.: Single-pass generation of static assignment form for structured languages. ACM TOPLAS 16(6), 1684–1698 (1994)CrossRefGoogle Scholar
  2. 2.
    Gent, I.P., Jefferson, C., Miguel, I.: Minion: A fast scalable constraint solver. In: Proceedings of ECAI 2006, Riva del Garda, pp. 98–102. IOS Press (2006)Google Scholar
  3. 3.
    Greiner, R., Smith, B.A., Wilkerson, R.W.: A correction to the algorithm in Reiter’s theory of diagnosis. Artificial Intelligence 41(1), 79–88 (1989)CrossRefMATHMathSciNetGoogle Scholar
  4. 4.
    Hofer, B., Jehan, S., Pill, I., Wotawa, F.: Functional diagnosis of a SOA’s BPEL processes. In: International Workshop on Principles of Diagnosis (DX) (2014)Google Scholar
  5. 5.
    Hofer, B., Wotawa, F.: Combining slicing and constraint solving for better debugging: The conbas approach. Adv. Software Engineering 2012 (2012)Google Scholar
  6. 6.
    de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artificial Intelligence 32(1), 97–130 (1987)CrossRefMATHGoogle Scholar
  7. 7.
    Korel, B., Rilling, J.: Dynamic program slicing methods. Information & Software Technology 40(11–12), 647–659 (1998)CrossRefGoogle Scholar
  8. 8.
    Mayer, W., Friedrich, G., Stumptner, M.: On computing correct processes and repairs sing partial behavioral models. In: ECAI. Frontiers in Artificial Intelligence and Applications, vol. 242, pp. 582–587. IOS Press (2012)Google Scholar
  9. 9.
    Mayer, W., Stumptner, M.: Model-based debugging - state of the art and future challenges. Electron. Notes Theor. Comput. Sci. 174(4), 61–82 (2007). http://dx.doi.org/10.1016/j.entcs.2006.12.030 CrossRefGoogle Scholar
  10. 10.
    Metodi, A., Stern, R., Kalech, M., Codish, M.: Compiling model-based diagnosis to Boolean satisfaction. In: 26th AAAI Conference on Artificial Intelligence, pp. 793–799 (2012)Google Scholar
  11. 11.
    Nica, I., Pill, I., Quaritsch, T., Wotawa, F.: The route to success - a performance comparison of diagnosis algorithms. In: International Joint Conference on Artificial Intelligence, pp. 1039–1045 (2013)Google Scholar
  12. 12.
    Pill, I., Quaritsch, T.: Behavioral diagnosis of LTL specifications at operator level. In: International Conference on Artificial Intelligence, pp. 1053–1059 (2013)Google Scholar
  13. 13.
    Reiter, R.: A theory of diagnosis from first principles. Artif. Intelligence 32(1), 57–95 (1987)CrossRefMATHMathSciNetGoogle Scholar
  14. 14.
    Wotawa, F., Schulz, M., Pill, I., Jehan, S., Leitner, P., Hummer, W., Schulte, S., Hoenisch, P., Dustdar, S.: Fifty shades of grey in SOA testing. In: 9th Workshop on Advances in Model Based Testing; 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 154–157 (2013)Google Scholar
  15. 15.
    Wotawa, F.: Fault localization based on dynamic slicing and hitting-set computation. In: The 10th International Conference on Quality Software (QSIC). IEEE (2010)Google Scholar
  16. 16.
    Wotawa, F., Nica, M., Moraru, I.: Automated debugging based on a constraint model of the program and a test case. The journal of logic and algebraic programming 81(4), 390–407 (2012)CrossRefMATHMathSciNetGoogle Scholar
  17. 17.
    Zhang, X., He, H., Gupta, N., Gupta, R.: Experimental evaluation of using dynamic slices for fault localization. In: Sixth International Symposium on Automated & Analysis-Driven Debugging (AADEBUG), pp. 33–42 (2005)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Birgit Hofer
    • 1
  • Seema Jehan
    • 1
  • Ingo Pill
    • 1
  • Franz Wotawa
    • 1
  1. 1.Graz University of TechnologyGrazAustria

Personalised recommendations