Abstract
Contract-based design (CBD) is an emerging paradigm for complex systems, specifying the input-output behavior of a component by defining what the component guarantees, provided its environment satisfies the given assumptions. Under certain circumstances, it is possible to verify the decomposition of contracts to conclude the correctness of the top-level system requirements. Verification is performed by using model checkers. If the decomposition of the contract is found to be incorrect, a model checker generates a counterexample. However, the challenging task is to understand the counterexample, which usually is lengthy, cryptic, and verbose. In this paper, we propose an approach to derive an understandable error explanation for counterexamples in CBD. In addition, we highlight the erroneous variables and erroneous states in the counterexample, which reduces the effort to identify errors. Therefore, our approach supports error comprehension of the original counterexample. Our approach is evaluated based on two industrial use cases, the Bosch Electronic Power Steering (EPS) and a redundant sensor system.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)
Barbon, G., Leroy, V., Salaun, G.: Debugging of behavioural models using counterexample analysis. IEEE Trans. Softw. Eng. 1–14 (2019). https://ieeexplore.ieee.org/abstract/document/8708934
Benveniste, A., Caillaud, B., Passerone, R.: A generic model of contracts for embedded systems. CoRR abs/0706.1456 (2007)
van den Berg, L., Strooper, P.A., Johnston, W.: An automated approach for the interpretation of counter-examples. ENTCS 174(4), 19–35 (2007)
Bozzano, M., Munk, P., Schweizer, M., Tonetta, S., Vozárová, V.: Model-based safety analysis of mode transitions. In: Proceedings of SAFECOMP (2020, in press)
Cavada, R., et al.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08867-9_22
Cimatti, A., et al.: NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_29
Cimatti, A., Tonetta, S.: A property-based proof system for contract-based design. In: 38th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2012, pp. 21–28 (2012)
Clarke, E.M.: The birth of model checking. In: 25 Years of Model Checking - History, Achievements, Perspectives, pp. 1–26 (2008)
Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another look at LTL model checking. Formal Methods Syst. Des. 10(1), 47–71 (1997). https://doi.org/10.1023/A:1008615614281
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2001)
Clarke, E.M., Wing, J.M.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)
Crapo, A.W., Moitra, A.: Using OWL ontologies as a domain-specific language for capturing requirements for formal analysis and test case generation. In: 13th IEEE International Conference on Semantic Computing, ICSC, pp. 361–366 (2019)
Fenelon, P., McDermid, J.A.: An integrated tool set for software safety analysis. J. Syst. Softw. 21(3), 279–290 (1993)
Grunske, L.: Towards an integration of standard component-based safety evaluation techniques with SaveCCM. In: Hofmeister, C., Crnkovic, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 199–213. Springer, Heidelberg (2006). https://doi.org/10.1007/11921998_17
Jin, H.S., Ravi, K., Somenzi, F.: Fate and free will in error traces. Int. J. Softw. Tools Technol. Transf. 6(2), 102–116 (2004). https://doi.org/10.1007/s10009-004-0146-9
Kaiser, B., Weber, R., Oertel, M., Böde, E., Nejad, B.M., Zander, J.: Contract-based design of embedded systems integrating nominal behavior and safety. CSIMQ 4, 66–91 (2015)
Kaleeswaran, A.P., Munk, P., Sarkic, S., Vogel, T., Nordmann, A.: A domain specific language to support HAZOP studies of SysML models. In: Papadopoulos, Y., Aslansefat, K., Katsaros, P., Bozzano, M. (eds.) IMBSA 2019. LNCS, vol. 11842, pp. 47–62. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32872-6_4
Kaleeswaran, A.P., Nordmann, A., ul Mehdi, A.: Towards integrating ontologies into verification for autonomous driving. In: ISWC 2019 Satellite Tracks (Posters & Demonstrations, Industry, and Outrageous Ideas), pp. 319–320 (2019)
Langenfeld, V., Dietsch, D., Westphal, B., Hoenicke, J., Post, A.: Scalable analysis of real-time requirements. In: 27th IEEE International Requirements Engineering Conference, RE, pp. 234–244 (2019)
Leue, S., Tabaei Befrouei, M.: Counterexample explanation by anomaly detection. In: Donaldson, A., Parker, D. (eds.) SPIN 2012. LNCS, vol. 7385, pp. 24–42. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31759-0_5
Marcantonio, D., Tonetta, S.: Redundant Sensors (2014). https://es-static.fbk.eu/tools/ocra/download/RedundantSensors.pdf
Moitra, A., et al.: Automating requirements analysis and test case generation. Requir. Eng. 24(3), 341–364 (2019). https://doi.org/10.1007/s00766-019-00316-x
Munk, P., et al.: Semi-automatic safety analysis and optimization. In: 55th ACM/ESDA/IEEE Design Automation Conference (DAC) (2018)
Munk, P., Nordmann, A.: Model-based safety assessment with SysML and component fault trees: application and lessons learned. Softw. Syst. Model. 19, 889–910 (2020). https://doi.org/10.1007/s10270-020-00782-w
Muram, F.U., Tran, H., Zdun, U.: Counterexample analysis for supporting containment checking of business process models. In: Reichert, M., Reijers, H. (eds.) BPM 2015. LNBIP, vol. 256, pp. 515–528. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42887-1_41
Narizzano, M., Pulina, L., Tacchella, A., Vuotto, S.: Property specification patterns at work: verification and inconsistency explanation. Innov. Syst. Softw. Eng. 15(3–4), 307–323 (2019). https://doi.org/10.1007/s11334-019-00339-1
Ortmeier, F., Thums, A., Schellhorn, G., Reif, W.: Combining formal methods and safety analysis – the ForMoSA approach. In: Ehrig, H., et al. (eds.) Integration of Software Specification Techniques for Applications in Engineering. LNCS, vol. 3147, pp. 474–493. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-27863-4_26
Pakonen, A., Buzhinsky, I., Vyatkin, V.: Counterexample visualization and explanation for function block diagrams. In: INDIN, pp. 747–753 (2018)
Papadopoulos, Y., McDermid, J., Sasse, R., Heiner, G.: Analysis and synthesis of the behaviour of complex programmable electronic systems in conditions of failure. Reliab. Eng. Syst. Saf. 71(3), 229–247 (2001)
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, pp. 46–57 (1977)
Ratiu, D., Gario, M., Schoenhaar, H.: FASTEN: an open extensible framework to experiment with formal specification approaches: using language engineering to develop a multi-paradigm specification environment for NuSMV. In: FormaliSE@ICSE, pp. 41–50. IEEE/ACM (2019)
Sharvia, S., Papadopoulos, Y.: Integrating model checking with hip-hops in model-based safety analysis. Reliab. Eng. Syst. Saf. 135, 64–80 (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Kaleeswaran, A.P., Nordmann, A., Vogel, T., Grunske, L. (2020). Counterexample Interpretation for Contract-Based Design. In: Zeller, M., Höfig, K. (eds) Model-Based Safety and Assessment. IMBSA 2020. Lecture Notes in Computer Science(), vol 12297. Springer, Cham. https://doi.org/10.1007/978-3-030-58920-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-58920-2_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58919-6
Online ISBN: 978-3-030-58920-2
eBook Packages: Computer ScienceComputer Science (R0)