2019/06/28 by René Haberland
Computer Science · #Computer science #Formal Methods in Verification #Logic, programming, and type systems #Software Testing and Debugging Techniques #cs.LO #cs.SC
paper · pdf · doi:10.32603/2071-2340-2019-2-5-30
published as Computer Tools in Education Journal, ISSN 2071-2359, ISSN 2071-2340 · fully translated preprint (English); final journal paper 26 pages (in Russian)
openalex publication_date 2019/06/28 · openalex created_date 2020/11/23 · arxiv created 2022/03/24 · arxiv updated 2022/03/25 · openalex updated_date 2026/08/05
The article provides an overview of the existing methods of dynamic memory verification; a comparative analysis is carried out; the applicability for solving problems of control, monitoring, and verification of dynamic memory is evaluated. This article is divided into eight sections. The first section introduces formal verification, followed by a section that discusses dynamic memory management problems. The third section discusses Hoare's calculus resumed by heap transformations to the stack. The fifth and sixth sections introduce the concept of dynamic memory shape analysis and the rotation of pointers. The seventh is on separation logic. The last section discusses possible areas of further research, particularly the recognition at recording level of various instances of objects; automation of proofs; "hot" code, that is, software code that updates itself when the program runs; expanding intuitiveness, for instance, on proof explanations.