Generation of and Debugging with Logical Pre and Postconditions
Angel Herrranz-Nieva Juan Jose Moreno Navarro

TL;DR
This paper presents the SLAM system, which combines a specification language with debugging tools that generate code with embedded assertions, enabling automatic property checking during program execution.
Contribution
It introduces a specification language integrating algebraic and model-based specs with logical pre/postconditions, and a debugging environment that checks properties via Prolog during execution.
Findings
SLAM can describe complex properties effectively.
Generated code includes assertions for automatic debugging.
Prolog interface enables real-time property verification.
Abstract
This paper shows the debugging facilities provided by the SLAM system. The SLAM system includes i) a specification language that integrates algebraic specifications and model-based specifications using the object oriented model. Class operations are defined by using rules each of them with logical pre and postconditions but with a functional flavour. ii) A development environment that, among other features, is able to generate readable code in a high level object oriented language. iii) The generated code includes (part of) the pre and postconditions as assertions, that can be automatically checked in the debug mode execution of programs. We focus on this last aspect. The SLAM language is expressive enough to describe many useful properties and these properties are translated into a Prolog program that is linked (via an adequate interface) with the user program. The debugging…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
