Abstract
We illustrate the usage of context-aware trace contracts (for short: CATs) by way of an example. CATs are a systematic approach to specify non-procedure local behavior. Technically, they consist of symbolic expressions specifying the assumed behavior of the callers before a procedure enters its contract, the behavior a procedure guarantees, and the behavior expected to happen in the continuation after termination. This generalizes state-based, Hoare-style specification triples.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
This constitutes a special case of a general smallest fixed point operator that is part of the definition of trace formulas, see [2] for details.
- 3.
This is a simplified form of a typical secure information flow property.
- 4.
An event of the form \(\textsf{pop} (m,k)\) signifies that a call of procedure m with call identifier k has terminated, see [2] for details. There is also a dual event \(\textsf{start} (m,k)\) used below.
References
Bliudze, S., van den Bos, P., Huisman, M., Rubbens, R., Safina, L.: JavaBIP meets VerCors: towards the safety of concurrent software systems in Java. In: Lambers, L., Uchitel, S. (eds.) Fundamental Approaches to Software Engineering, 26th International Conference, FASE, Paris, France, vol. 13991 of LNCS, pp. 143–150. Springer, Heidelberg (2023). https://doi.org/10.1007/978-3-031-30826-0_8
Bubel, R., Gurov, D., Hähnle, R., Scaletta, M.: Trace-based deductive verification. In: Piskac, R., Voronkov, A. (eds.) Proceedings 20th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), Manizales Colombia, EPiC Series in Computing. EasyChair (2023)
de Boer, F., et al. A survey of active object languages. ACM Comput. Surv. 50(5), 76:1–76:39 (2017)
Ernst, G., Knapp, A., Murray, T.: A Hoare logic with regular behavioral specifications. In: Margaria, T., Steffen, B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation, 11th International Symposium, ISoLA, Rhodes, Greece, Proceedings Part I, vol. 13701 of LNCS, pp. 45–64. Springer, Heidelberg (2022)
Hähnle, R., Huisman, M.: Deductive verification: from pen-and-paper proofs to industrial tools. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science: State of the Art and Perspectives. LNCS, vol. 10000, pp. 345–373. Springer, Cham (2019)
Hähnle, R., Kamburjan, E., Scaletta, M.: Context-aware trace contracts. In: De Boer, F., Damiani, F., Hähnle, R., Johnsen, E.B., Kamburjan, E. (eds.) Active Object Languages: Current Research Trends, vol. 14360 of LNCS. Springer, Cham (2023)
Hoare, C.A.R.: Procedures and parameters: an axiomatic approach. In: Engeler, E. (ed.) Symposium on Semantics of Algorithmic Languages. LNM, vol. 188, pp. 102–116. Springer, Heidelberg (1971). https://doi.org/10.1007/BFb0059696
Meyer, B.: Applying “design by contract’’. IEEE Comput. 25(10), 40–51 (1992)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Hähnle, R., Scaletta, M., Kamburjan, E. (2023). Herding CATs. In: Ferreira, C., Willemse, T.A.C. (eds) Software Engineering and Formal Methods. SEFM 2023. Lecture Notes in Computer Science, vol 14323. Springer, Cham. https://doi.org/10.1007/978-3-031-47115-5_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-47115-5_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-47114-8
Online ISBN: 978-3-031-47115-5
eBook Packages: Computer ScienceComputer Science (R0)