Computer Science > Logic in Computer Science
[Submitted on 12 Jul 2023 (v1), last revised 23 Nov 2023 (this version, v2)]
Title:Sound One-Phase Shape Analysis with Biabduction
View PDFAbstract:Biabduction-based shape analysis is a static analysis technique that can find bugs and ensure memory safety in the presence of complex, linked data structures. As such, this analysis has proven to be scalable and is implemented in state-of-the-art industrial-strength analyzers. However, standard biabduction-based shape analysis requires two analysis phases to guarantee that all computed function contracts are sound. We introduce two novel techniques shared learning and shape extrapolation that tackle the soundness problems of biabduction-based shape analysis and allow for a sound one-phase analysis for many real-world programs. We formally prove that both techniques guarantee soundness and verify their effectiveness in a case study based on a prototype implementation.
Submission history
From: Florian Sextl [view email][v1] Wed, 12 Jul 2023 17:16:58 UTC (91 KB)
[v2] Thu, 23 Nov 2023 18:48:17 UTC (88 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.