Software model checking
R Jhala, R Majumdar - ACM Computing Surveys (CSUR), 2009 - dl.acm.org
Software model checking Page 1 21 Software Model Checking RANJIT JHALA University of
California, San Diego and RUPAK MAJUMDAR University of California, Los Angeles We survey …
California, San Diego and RUPAK MAJUMDAR University of California, Los Angeles We survey …
Compositional shape analysis by means of bi-abduction
C Calcagno, D Distefano, P O'Hearn… - Proceedings of the 36th …, 2009 - dl.acm.org
This paper describes a compositional shape analysis, where each procedure is analyzed
independently of its callers. The analysis uses an abstract domain based on a restricted …
independently of its callers. The analysis uses an abstract domain based on a restricted …
Compositional shape analysis by means of bi-abduction
C Calcagno, D Distefano, PW O'hearn… - Journal of the ACM (JACM …, 2011 - dl.acm.org
The accurate and efficient treatment of mutable data structures is one of the outstanding
problem areas in automatic program verification and analysis. Shape analysis is a form of …
problem areas in automatic program verification and analysis. Shape analysis is a form of …
Mostly-automated verification of low-level programs in computational separation logic
A Chlipala - Proceedings of the 32nd ACM SIGPLAN conference on …, 2011 - dl.acm.org
Several recent projects have shown the feasibility of verifying low-level systems software.
Verifications based on automated theorem-proving have omitted reasoning about first-class …
Verifications based on automated theorem-proving have omitted reasoning about first-class …
The Bedrock structured programming system: Combining generative metaprogramming and Hoare logic in an extensible program verifier
A Chlipala - Proceedings of the 18th ACM SIGPLAN international …, 2013 - dl.acm.org
We report on the design and implementation of an extensible programming language and its
intrinsic support for formal verification. Our language is targeted at low-level programming of …
intrinsic support for formal verification. Our language is targeted at low-level programming of …
Natural proofs for structure, data, and separation
We propose natural proofs for reasoning with programs that manipulate data-structures
against specifications that describe the structure of the heap, the data stored within it, and …
against specifications that describe the structure of the heap, the data stored within it, and …
Detecting inefficiently-used containers to avoid bloat
Runtime bloat degrades significantly the performance and scalability of software systems.
An important source of bloat is the inefficient use of containers. It is expensive to create …
An important source of bloat is the inefficient use of containers. It is expensive to create …
Sound automation of magic wands
T Dardinier, G Parthasarathy, N Weeks, P Müller… - … on Computer Aided …, 2022 - Springer
The magic wand-∗(also called separating implication) is a separation logic connective
commonly used to specify properties of partial data structures, for instance during iterative …
commonly used to specify properties of partial data structures, for instance during iterative …
Static race detection for device drivers: the Goblint approach
Device drivers rely on fine-grained locking to ensure safe access to shared data structures.
For human testers, concurrency makes such code notoriously hard to debug; for automated …
For human testers, concurrency makes such code notoriously hard to debug; for automated …
Quantitative separation logic: a logic for reasoning about probabilistic pointer programs
We present quantitative separation logic (QSL). In contrast to classical separation logic, QSL
employs quantities which evaluate to real numbers instead of predicates which evaluate to …
employs quantities which evaluate to real numbers instead of predicates which evaluate to …