Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The Craft of Programming
Formal Specification and Static Checking of Gemplus' Electronic Purse Using ESC/Java
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
A Sequent Calculus for First-Order Dynamic Logic with Trace Modalities
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Foundational Proof-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
A program logic for handling JAVACARD's transaction mechanism
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
MOBIUS: mobility, ubiquity, security objectives and progress report
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
Mobile resource guarantees for smart devices
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Certification Using the Mobius Base Logic
Formal Methods for Components and Objects
Verifying a local generic solver in coq
SAS'10 Proceedings of the 17th international conference on Static analysis
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
A hoare logic for the coinductive trace-based big-step semantics of while
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Local Reasoning for Global Invariants, Part I: Region Logic
Journal of the ACM (JACM)
Hi-index | 0.01 |
Ghost variables are assignable variables that appear in program annotations but do not correspond to physical entities. They are used to facilitate specification and verification, e.g., by using a ghost variable to count the number of iterations of a loop, and also to express extra-functional behaviours. In this paper we give a formal model of ghost variables and show how they can be eliminated from specifications and proofs in a compositional and automatic way. Thus, with the results of this paper ghost variables can be seen as a specification pattern rather than a primitive notion.