Skip to main content

The Java2CSP Debugging Tool Utilizing Constraint Solving and Model-Based Diagnosis Principles

  • Conference paper
  • First Online:
Advances and Trends in Artificial Intelligence. Theory and Practices in Artificial Intelligence (IEA/AIE 2022)

Abstract

Localizing faults in programs and repairing them is considered a difficult, time-consuming, but necessary activity of software engineering to assure programs fulfilling their expected behavior during operation. In this paper, we introduce the Java2CSP debugging tool implementing the principles of model-based diagnosis for fault localization, which can be accessed over the internet using an ordinary web browser. Java2CSP makes use of a constraint representation of a program together with a failing test case for reporting debugging candidates. The tool supports a non-object-oriented subset of the programming language Java. Java2CSP is not supposed to be used in any production environment. Instead, the tool has been developed for providing a prototypical implementation of a debugger using constraints. We present the underlying foundations behind Java2CSP, discuss some preliminary results, and show how the tool can also be used for test case generation and other applications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Access the web interface of Java2CSP using the following link: http://modelinho.ist.tugraz.at. Note that there are currently two frontends available. The one we are talking about in this paper, and an early release of a new improved interface that is currently under development. To access the version of the tool we are describing in this paper follow the first version link given on the mentioned web page.

  2. 2.

    The model used in Java2CSP and especially the given indices might vary but follows the same idea behind conversion.

References

  1. Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.J.C.: A practical evaluation of spectrum-based fault localization. J. Syst. Software 82(11), 1780–1792 (2009). https://doi.org/10.1016/j.jss.2009.06.035

  2. Beizer, B.: Software Testing Techniques. Van Nostrand Reinhold, New York (1990)

    MATH  Google Scholar 

  3. Boehm, B.W.: Improving software productivity. Computer 20, 43–57 (1987)

    Article  Google Scholar 

  4. Brandis, M.M., Mössenböck, H.: Single-pass generation of static assignment form for structured languages. ACM TOPLAS 16(6), 1684–1698 (1994)

    Article  Google Scholar 

  5. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  6. Gotlieb, A., Botella, B., Rueher, M.: Automatic test data generation using constraint solving techniques. In: Proceedings of the 1998 ACM SIGSOFT International Symposium on Software Testing and Analysis. ISSTA 1998, New York, NY, USA, pp. 53–62. Association for Computing Machinery (1998). https://doi.org/10.1145/271771.271790

  7. Krinke, J.: Effects of contex on program slicing. J. Syst. Softw. 79, 1249–1260 (2006)

    Article  Google Scholar 

  8. Reiter, R.: A theory of diagnosis from first principles. Artif. Intell. 32(1), 57–95 (1987)

    Article  MathSciNet  Google Scholar 

  9. Weiser, M.: Program slicing. IEEE Trans. Software Eng. 10(4), 352–357 (1984)

    Article  Google Scholar 

  10. Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Software Eng. 42(8), 707–740 (2016). https://doi.org/10.1109/TSE.2016.2521368

    Article  Google Scholar 

  11. Lughofer, E., Sayed-Mouchaweh, M. (eds.): Predictive Maintenance in Dynamic Systems. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-05645-2

    Book  Google Scholar 

  12. Wotawa, F., Dumitru, V.A.: Java2csp - a model-based diagnosis tool not only for software debugging. In: Intelligent Decision Technologies 2021 - Proceedings of the 13th KES International Conference on Intelligent Decision Technologies (KES-IDT-21). Smart Innovation, Systems and Technologies, Springer Nature Singapore Pte Ltd. (2021)

    Google Scholar 

  13. Wotawa, F., Lewitschnig, H.: Monitoring hierarchical systems for safety assurance. In: Intelligent Distributed Computing XIV. Studies in Computational Intelligence. Springer (2022)

    Google Scholar 

  14. Wotawa, F., Nica, M., Aichernig, B.K.: Generating distinguishing tests using the minion constraint solver. In: ICST Workshops. pp. 325–330. IEEE Computer Society (2010)

    Google Scholar 

  15. Wotawa, F., Nica, M., Moraru, I.: Automated debugging based on a constraint model of the program and a test case. J. Log. Algebraic Methods Program. 81(4), 390–407 (2012). https://doi.org/10.1016/j.jlap.2012.03.002

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

ArchitectECA2030 receives funding within the Electronic Components and Systems For European Leadership Joint Undertaking (ESCEL JU) in collaboration with the European Union’s Horizon2020 Framework Programme and National Authorities, under grant agreement number 877539. All ArchitectECA2030 related communication reflects only the author’s view and the Agency and the Commission are not responsible for any use that may be made of the information it contains. The work was partially funded by the Austrian Federal Ministry of Climate Action, Environment, Energy, Mobility, Innovation and Technology (BMK) under the program “ICT of the Future” project 877587.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franz Wotawa .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Wotawa, F., Dumitru, V.A. (2022). The Java2CSP Debugging Tool Utilizing Constraint Solving and Model-Based Diagnosis Principles. In: Fujita, H., Fournier-Viger, P., Ali, M., Wang, Y. (eds) Advances and Trends in Artificial Intelligence. Theory and Practices in Artificial Intelligence. IEA/AIE 2022. Lecture Notes in Computer Science(), vol 13343. Springer, Cham. https://doi.org/10.1007/978-3-031-08530-7_46

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-08530-7_46

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-08529-1

  • Online ISBN: 978-3-031-08530-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics