Abstract Environment Trimming
Daniel Jurjo-Rivas, Jose F. Morales, Pedro L\'opez-Garc\'ia, Manuel V., Hermenegildo

TL;DR
This paper introduces techniques inspired by compiler optimizations, such as expression reassociation and variable trimming, to improve the efficiency of sharing analysis in logic programs without sacrificing precision, enabling faster analysis of larger codebases.
Contribution
The paper proposes novel techniques to enhance the scalability of sharing analysis in logic programming by reducing complexity without losing precision.
Findings
Significant speed-ups in analysis times.
Halved number of modules requiring timeouts.
More programs analyzed precisely within reasonable times.
Abstract
Variable sharing is a fundamental property in the static analysis of logic programs, since it is instrumental for ensuring correctness and increasing precision while inferring many useful program properties. Such properties include modes, determinacy, non-failure, cost, etc. This has motivated significant work on developing abstract domains to improve the precision and performance of sharing analyses. Much of this work has centered around the family of set-sharing domains, because of the high precision they offer. However, this comes at a price: their scalability to a wide set of realistic programs remains challenging and this hinders their wider adoption. In this work, rather than defining new sharing abstract domains, we focus instead on developing techniques which can be incorporated in the analyzers to address aspects that are known to affect the efficiency of these domains, such as…
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 · Parallel Computing and Optimization Techniques · Formal Methods in Verification
