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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
For simplicity, subconcept relations of ontologies are not considered here.
- 2.
Total correctness would involve defining termination functions for loops.
References
Agrawal, H., Demillo, R., Spafford, E.: Debugging with dynamic slicing and backtracking. Softw. Pract. Exp. 23, 589–616 (1993)
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
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
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
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
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
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
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)
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
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
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
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/
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
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
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
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
Mirandola, R., Potena, P., Riccobene, E., Scandurra, P.: A reliability model for service component architectures. J. Syst. Softw. 89, 109–127 (2014)
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
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)
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
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
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)
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Z3 Code
A Z3 Code
Encoding of the correctness check for RestaurantChecker:
Fault structure returned as model of above query:
Rights 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)