VeriFly: On-the-fly Assertion Checking via Incrementality
Miguel A. Sanchez-Ordaz, Isabel Garcia-Contreras, Victor, Perez-Carrasco, Jose F. Morales, Pedro lopez-Garcia, Manuel V. Hermenegildo

TL;DR
VeriFly introduces an incremental, on-the-fly assertion checking framework integrated into an IDE, enabling fast, precise semantic feedback during Prolog development and potentially other languages.
Contribution
It presents a modular, incremental analysis framework that provides real-time semantic verification within IDEs, improving early error detection in dynamic languages.
Findings
Low latency times for assertion checking
Effective integration with IDEs like Emacs
Supports multiple languages through semantic transformation
Abstract
Assertion checking is an invaluable programmer's tool for finding many classes of errors or verifying their absence in dynamic languages such as Prolog. For Prolog programmers this means being able to have relevant properties such as modes, types, determinacy, non-failure, sharing, constraints, cost, etc., checked and errors flagged without having to actually run the program. Such global static analysis tools are arguably most useful the earlier they are used in the software development cycle, and fast response times are essential for interactive use. Triggering a full and precise semantic analysis of a software project every time a change is made can be prohibitively expensive. In our static analysis and verification framework this challenge is addressed through a combination of modular and incremental (context- and path-sensitive) analysis that is responsive to program edits, at…
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
TopicsLogic, programming, and type systems · Software Engineering Research · Software Testing and Debugging Techniques
