IEA/AIE 2015: Current Approaches in Applied Artificial Intelligence pp 712-721 | Cite as
Focused Diagnosis for Failing Software Tests
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 graphPreview
Unable to display preview. Download preview PDF.
References
- 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.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.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.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.Hofer, B., Wotawa, F.: Combining slicing and constraint solving for better debugging: The conbas approach. Adv. Software Engineering 2012 (2012)Google Scholar
- 6.de Kleer, J., Williams, B.C.: Diagnosing multiple faults. Artificial Intelligence 32(1), 97–130 (1987)CrossRefMATHGoogle Scholar
- 7.Korel, B., Rilling, J.: Dynamic program slicing methods. Information & Software Technology 40(11–12), 647–659 (1998)CrossRefGoogle Scholar
- 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.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.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.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.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.Reiter, R.: A theory of diagnosis from first principles. Artif. Intelligence 32(1), 57–95 (1987)CrossRefMATHMathSciNetGoogle Scholar
- 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.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.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.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