Abstract
In order to verify programs with pointer variables, we introduce a temporal logic LTL mem whose underlying assertion language is the quantifier-free fragment of separation logic and the temporal logic on the top of it is the standard linear-time temporal logic LTL. We analyze the complexity of various model-checking and satisfiability problems for LTL mem , considering various fragments of separation logic (including pointer arithmetic), various classes of models (with or without constant heap), and the influence of fixing the initial memory state. We provide a complete picture based on these criteria. Our main decidability result is -completeness of the satisfiability problems on the record fragment and on a classical fragment allowing pointer arithmetic. ${\Sigma^{0}_{1}}$-completeness or $\Sigma^{1}_{1}$-completeness results are established for various problems by reducing standard problems for Minsky machines, and underline the tightness of our decidability results.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.