Skip to main content

A Formal Approach to Error Localization and Correction in Service Compositions

  • Conference paper
  • First Online:
Software Technologies: Applications and Foundations (STAF 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9946))

Abstract

Error detection, localization and correction are time-intensive tasks in software development, but crucial to deliver functionally correct products. Thus, automated approaches to these tasks have been intensively studied for standard software systems. For model-based software systems, the situation is different. While error detection is still well-studied, error localization and correction is a less-studied domain. In this paper, we examine error localization and correction for models of service compositions. Based on formal definitions of error and correction in this context, we show that the classical approach of error localization and correction, i.e. first determining a set of suspicious statements and then proposing changes to these statements, is ineffective in our context. In fact, it lessens the chance to succeed in finding a correction at all.

In this paper, we introduce correction proposal as a novel approach on error correction in service compositions integrating error localization and correction in one combined step. In addition, we provide an algorithm to compute such correction proposals automatically.

This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Centre “On-The-Fly Computing” (SFB 901).

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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.

    In WSDL (https://www.w3.org/TR/wsdl), all four components together are called IOPE.

  2. 2.

    Using [6], SSA form can be established for all service compositions.

References

  1. Apt, K.R., Olderog, E.-R.: Verification of Sequential and Concurrent Programs: Graduate Texts in Computer Science, 2nd edn. Springer, Heidelberg (1997)

    Book  MATH  Google Scholar 

  2. Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009). Special Issue: Software Performance - Modeling and Analysis

    Article  Google Scholar 

  3. Chen, M.Y., Kiciman, E., Fratkin, E., Fox, A., Brewer, E., Pinpoint: problem determination in large, dynamic internet services. In: International Conference on Dependable Systems and Networks (2002)

    Google Scholar 

  4. Christ, J., Ermis, E., Schäf, M., Wies, T.: Flow-sensitive fault localization. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 189–208. Springer, Heidelberg (2013). doi:10.1007/978-3-642-35873-9_13

    Chapter  Google Scholar 

  5. Cleve, H., Zeller, A.: Locating causes of program failures. In: Proceedings of 27th International Conference on Software Engineering, ICSE 2005. ACM (2005)

    Google Scholar 

  6. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)

    Article  Google Scholar 

  7. Dallmeier, V., Lindig, C., Zeller, A.: Lightweight defect localization for java. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 528–550. Springer, Heidelberg (2005). doi:10.1007/11531142_23

    Chapter  Google Scholar 

  8. Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics: Texts and Monographs in Computer Science. Springer, New York (1990)

    Book  MATH  Google Scholar 

  9. Ermis, E., Schäf, M., Wies, T.: Error invariants. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 187–201. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32759-9_17

    Chapter  Google Scholar 

  10. Fahrenberg, U., Larsen, K.G., Legay, A.: Model-based verification, optimization, synthesis and performance evaluation of real-time systems. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Unifying Theories of Programming and Formal Engineering Methods. LNCS, vol. 8050, pp. 67–108. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39721-9_2

    Chapter  Google Scholar 

  11. Güdemann, M., Poizat, P., Salaün, G., Dumont, A.: VerChor: a framework for verifying choreographies. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 226–230. Springer, Heidelberg (2013). doi:10.1007/978-3-642-37057-1_16

    Chapter  Google Scholar 

  12. Gupta, A., Rybalchenko, A.: InvGen: an efficient invariant generator. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 634–640. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02658-4_48

    Chapter  Google Scholar 

  13. Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings of 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005. ACM (2005)

    Google Scholar 

  14. Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. ACM SIGPLAN Not. 46(6), 437–446 (2011)

    Article  Google Scholar 

  15. Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. In: Proceedings of 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2011. ACM (2011)

    Google Scholar 

  16. önighofer, R.K., Bloem, R.: Automated error localization and correction for imperative programs, FMCAD 2011. FMCAD Inc. (2011)

    Google Scholar 

  17. Korel, B., Laski, J.: Dynamic program slicing. Inf. Process. Lett. 29(3), 155–163 (1988)

    Article  MATH  Google Scholar 

  18. Krämer, J., Wehrheim, H.: A short survey on using software error localization for service compositions. In: Aiello, M., Johnsen, E.B., Georgievski, I., Dustdar, S. (eds.) Service Oriented and Cloud Computing, ESOCC 2016 (2016). (to appear)

    Google Scholar 

  19. Lamraoui, S.-M., Nakajima, S.: A formula-based approach for automatic fault localization of imperative programs. In: Merz, S., Pang, J. (eds.) ICFEM 2014. LNCS, vol. 8829, pp. 251–266. Springer, Heidelberg (2014). doi:10.1007/978-3-319-11737-9_17

    Google Scholar 

  20. Monperrus, M., Automatic software repair: a bibliography. Technical report hal-01206501, University of Lille (2015)

    Google Scholar 

  21. OASIS. Web Services Business Process Execution Language v2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf

  22. Schäfer, W.: Model driven development with mechatronic UML. In: Stapleton, G., Howse, J., Lee, J. (eds.) Diagrams 2008. LNCS (LNAI), vol. 5223, p. 4. Springer, Heidelberg (2008). doi:10.1007/978-3-540-87730-1_3

    Chapter  Google Scholar 

  23. Walther, S., Wehrheim, H.: Knowledge-based verification of service compositions - an SMT approach. In: Engineering of Complex Computer Systems (ICECCS) (2013)

    Google Scholar 

  24. Weiser, M.: Program slicing. In: Proceedings of 5th International Conference on Software Engineering, ICSE 1981. IEEE Press, Piscataway (1981)

    Google Scholar 

  25. Zeller, A.: Yesterday, my program worked. today, it does not. why? In: Nierstrasz, O., Lemoine, M. (eds.) ESEC/SIGSOFT FSE -1999. LNCS, vol. 1687, pp. 253–267. Springer, Heidelberg (1999). doi:10.1007/3-540-48166-4_16

    Chapter  Google Scholar 

  26. Zeller, A.: Isolating cause-effect chains from computer programs. In: Proceedings of 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, SIGSOFT 2002/FSE-10. ACM (2002)

    Google Scholar 

  27. Zeller, A., Hildebrandt, R.: Simplifying and isolating failure-inducing input. IEEE Trans. Softw. Eng. 28(2), 183–200 (2002)

    Article  Google Scholar 

  28. Zhang, X., He, H., Gupta, N., Gupta, R.: Experimental evaluation of using dynamic slices for fault location. In: Proceedings of Sixth International Symposium on Automated Analysis-driven Debugging, AADEBUG 2005. ACM (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Heike Wehrheim .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Krämer, J., Wehrheim, H. (2016). A Formal Approach to Error Localization and Correction in Service Compositions. In: Milazzo, P., Varró, D., Wimmer, M. (eds) Software Technologies: Applications and Foundations. STAF 2016. Lecture Notes in Computer Science(), vol 9946. Springer, Cham. https://doi.org/10.1007/978-3-319-50230-4_35

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-50230-4_35

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-50229-8

  • Online ISBN: 978-3-319-50230-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics