Skip to main content

Fault Localization in Service Compositions

  • Conference paper
  • First Online:
Formal Aspects of Component Software (FACS 2017)

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

Included in the following conference series:

  • 464 Accesses

Abstract

Service-oriented architectures aim at the assemblance of service compositions out of independent, small services. In a model-based design, such service compositions first of all exist as formal models, describing the employed services with their interfaces plus their assemblance. Such formal models allow for an early analysis with respect to user requirements. While a large number of such analysis methods exist today, this is less so for techniques localizing faults in erroneous service compositions.

In this paper, we extend an existing technique for fault localization in software to the model-based domain. The approach employs maximum satisfiability solving (MAX-SAT) of trace formulae encoding faulty program runs. Contrary to software, we can, however, not use testing as a way of determining such faulty runs, but instead employ SMT solving. Moreover, due to the usage of undefined function symbols encoding concepts of domain ontologies, the trace formula also needs an encoding of the logical structure producing the fault. We furthermore show how to use weights on soft constraints in the MAX-SAT instance to steer the solver to particular types of faults.

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.

    For simplicity, subconcept relations of ontologies are not considered here.

  2. 2.

    Total correctness would involve defining termination functions for loops.

References

  1. Agrawal, H., Demillo, R., Spafford, E.: Debugging with dynamic slicing and backtracking. Softw. Pract. Exp. 23, 589–616 (1993)

    Article  Google Scholar 

  2. Antoniou, G., Harmelen, F.: Web ontology language: OWL. In: Staab, S., Studer, R. (eds.) Handbook on Ontologies. IHIS, pp. 91–110. Springer, Heidelberg (2009). doi:10.1007/978-3-540-92673-3_4

    Chapter  Google Scholar 

  3. Arifulina, S., Walther, S., Becker, M., Platenius, M.C.: SeSAME: modeling and analyzing high-quality service compositions. In: ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, Vasteras, Sweden, 15–19 September 2014, pp. 839–842 (2014). http://doi.acm.org/10.1145/2642937.2648621

  4. Barrett, C., Stump, A., Tinelli, C.: The SMT-LIB standard: version 2.0. In: Gupta, A., Kroening, D. (eds.) Proceedings of the 8th International Workshop on Satisfiability Modulo Theories (Edinburgh, UK) (2010). http://homepage.cs.uiowa.edu/~/papers/BarST-SMT-10.pdf

  5. Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009). specialIssue: SoftwarePerformance-ModelingandAnalysis. http://www.sciencedirect.com/science/article/pii/S0164121208001015

  6. Brüseke, F., Wachsmuth, H., Engels, G., Becker, S.: PBlaman: performance blame analysis based on Palladio contracts. Concurr. Comput.: Pract. Exp. 26(12), 1975–2004 (2014). http://dx.doi.org/10.1002/cpe.3226

    Article  Google Scholar 

  7. Cleve, H., Zeller, A.: Locating causes of program failures. In: Proceedings of 27th International Conference on Software Engineering, ICSE 2005, pp. 342–351. ACM (2005). http://doi.acm.org/10.1145/1062455.1062522

  8. 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 

  9. Engels, G., Güldali, B., Soltenborn, C., Wehrheim, H.: Assuring consistency of business process models and web services using visual contracts. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 17–31. Springer, Heidelberg (2008). doi:10.1007/978-3-540-89020-1_2

    Chapter  Google Scholar 

  10. Güdemann, M., Poizat, P., Salaün, G., Ye, L.: VerChor: a framework for the design and verification of choreographies. IEEE Trans. Serv. Comput. 9(4), 647–660 (2016). http://dx.doi.org/10.1109/TSC.2015.2413401

    Article  Google Scholar 

  11. Hoder, K., Bjørner, N., de Moura, L.: \(\mu {Z}\)– an efficient engine for fixed points with constraints. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 457–462. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22110-1_36

    Chapter  Google Scholar 

  12. Horrocks, I., Patel-Schneider, P.F., Boley, H., Tabet, S., Grosof, B., Dean, M.: SWRL: a semantic web rule language combining OWL and RuleML (2004). http://www.w3.org/Submission/2004/SUBM-SWRL-20040521/

  13. Jose, M., Majumdar, R.: Cause clue clauses: error localization using maximum satisfiability. In: Hall, M.W., Padua, D.A. (eds.) Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2011, San Jose, CA, USA, 4–8 June 2011, pp. 437–446. ACM (2011). http://doi.acm.org/10.1145/1993498.1993550

  14. Krämer, J., Wehrheim, H.: A formal approach to error localization and correction in service compositions. In: Milazzo, P., Varró, D., Wimmer, M. (eds.) STAF 2016. LNCS, vol. 9946, pp. 445–457. Springer, Cham (2016). doi:10.1007/978-3-319-50230-4_35

    Chapter  Google Scholar 

  15. Krämer, J., Wehrheim, H.: A short survey on using software error localization for service compositions. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 248–262. Springer, Cham (2016). doi:10.1007/978-3-319-44482-6_16

    Chapter  Google Scholar 

  16. Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Cytron, R., Gupta, R. (eds.) Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation 2003, San Diego, California, USA, 9–11 June 2003, pp. 141–154. ACM (2003). http://doi.acm.org/10.1145/781131.781148

  17. Mirandola, R., Potena, P., Riccobene, E., Scandurra, P.: A reliability model for service component architectures. J. Syst. Softw. 89, 109–127 (2014)

    Article  Google Scholar 

  18. 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). doi:10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  19. Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Dumas, M., ter Hofstede, A.H.M.: Formal semantics and analysis of control flow in WS-BPEL. Sci. Comput. Program. 67(2–3), 162–198 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  20. Reynisson, A.H., Sirjani, M., Aceto, L., Cimini, M., Jafari, A., Ingólfsdóttir, A., Sigurdarson, S.H.: Modelling and simulation of asynchronous real-time systems using Timed Rebeca. Sci. Comput. Program. 89, 41–68 (2014). http://dx.doi.org/10.1016/j.scico.2014.01.008

    Article  Google Scholar 

  21. Schäfer, W., Wehrheim, H.: Model-driven development with Mechatronic UML. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering. LNCS, vol. 5765, pp. 533–554. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17322-6_23

    Chapter  Google Scholar 

  22. Walther, S., Wehrheim, H.: Knowledge-based verification of service compositions - an SMT approach. In: 18th International Conference on Engineering of Complex Computer Systems, ICECCS 2013, pp. 24–32. IEEE Computer Society (2013)

    Google Scholar 

  23. Walther, S., Wehrheim, H.: On-the-fly construction of provably correct service compositions - templates and proofs. Sci. Comput. Program. 127, 2–23 (2016). http://dx.doi.org/10.1016/j.scico.2016.04.002

    Article  Google Scholar 

  24. Weiser, M.: Program slicing. In: Proceedings of 5th International Conference on Software Engineering, ICSE 1981, pp. 439–449. IEEE Press (1981). http://dl.acm.org/citation.cfm?id=800078.802557

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Heike Wehrheim .

Editor information

Editors and Affiliations

A Z3 Code

A Z3 Code

Encoding of the correctness check for RestaurantChecker:

figure c

Fault structure returned as model of above query:

figure d

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Wehrheim, H. (2017). Fault Localization in Service Compositions. In: Proença, J., Lumpe, M. (eds) Formal Aspects of Component Software. FACS 2017. Lecture Notes in Computer Science(), vol 10487. Springer, Cham. https://doi.org/10.1007/978-3-319-68034-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-68034-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-68033-0

  • Online ISBN: 978-3-319-68034-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics