Filters








6,347 Hits in 3.6 sec

Modular Verification of Static Class Invariants [chapter]

K. Rustan M. Leino, Peter Müller
2005 Lecture Notes in Computer Science  
The methodology supports the three major uses of static fields and invariants in the Java library. The methodology is amenable to static, modular verification and is sound.  ...  The consistency of static fields is described by static class invariants, which are enforced at the class level.  ...  To support programming in the large, a crucial aspect of any specification and verification methodology is that it be modular.  ... 
doi:10.1007/11526841_4 fatcat:fvwyzifsh5av3p27a3zdz5ijoy

Reasoning about Object Structures Using Ownership [chapter]

Peter Müller
2008 Lecture Notes in Computer Science  
Modular verification means that a class can be verified based on its implementation and the specifications of all classes it uses, but without knowing its subclasses and clients.  ...  Our work focuses on modular specification and verification of object-oriented programs.  ...  For instance, ownership has also been applied successfully to the modular verification of frame properties [29] , static class invariants [23] , reasoning about multi-threaded programs [5, 18] , confinement  ... 
doi:10.1007/978-3-540-69149-5_12 fatcat:ruly7ftpcjbl3lauwekuf7ycam

Program Checking with Less Hassle [chapter]

Julian Tschannen, Carlo A. Furia, Martin Nordio, Bertrand Meyer
2014 Lecture Notes in Computer Science  
Two-step verification is implemented in AutoProof, our static verifier for Eiffel programs integrated in EVE (the Eiffel Verification Environment) and available online.  ...  Two-step verification performs two independent verification attempts for each program element: one using standard modular reasoning, and another one after inlining and unrolling; comparing the outcomes  ...  preconditions P , postconditions Q, invariants I (loop invariants in examples 1-5; class invariants in examples 6-8), and intermediate assertions A); the size (in lines) of the Boogie code generated by  ... 
doi:10.1007/978-3-642-54108-7_8 fatcat:oxdnmdid65antgsjhuhyfbjsiu

Extended Static Checking: A Ten-Year Perspective [chapter]

K. Rustan M. Leino
2001 Lecture Notes in Computer Science  
A powerful approach to finding errors in computer software is to translate a given program into a verification condition, a logical formula that is valid if and only if the program is free of the classes  ...  of errors under consideration.  ...  Figure 0 shows some classes of static checkers along the two dimensions.  ... 
doi:10.1007/3-540-44577-3_11 fatcat:ubh6gkw5wber5h2abpzmkgcpri

Specification and verification challenges for sequential object-oriented programs

Gary T. Leavens, K. Rustan M. Leino, Peter Müller
2007 Formal Aspects of Computing  
Modularity is crucial to verify reusable classes such as library classes and for scalability. Many of our challenges stem from this modularity requirement.  ...  It is essential that verification techniques are modular, that is, that they allow one to reason about a class independently of its clients and subclasses.  ...  Acknowledgments We are grateful to Kristina Boysen, David Cok,Ádám Darvas, Fraaz Hussain, Bart Jacobs, Joseph Kiniry, and Joseph Ruskiewicz for their comments on draft versions of this paper.  ... 
doi:10.1007/s00165-007-0026-7 fatcat:znwzmmmvqbdwtoygf2qcbozlli

Reasoning About Inheritance and Unrestricted Reuse in Object-Oriented Concurrent Systems [chapter]

Olaf Owe
2016 Lecture Notes in Computer Science  
We also show results on verification reuse, based on a combination of Hoare-style logic and static checking.  ...  The overall aim of this paper is to develop a formal framework for modular reasoning about classes and inheritance, supporting unrestricted reuse of code, as well as of specifications.  ...  From our definition of class verification we get the following verification conditions for class BANK 1. B I B ⇒ I PerfectBank (h/PerfectBank ) (entailment of interface invariant) 2.  ... 
doi:10.1007/978-3-319-33693-0_14 fatcat:hqnuhqyubvd67o7l5d2kaph3pi

Finding Model-Checkable Needles in Large Source Code Haystacks: Modular Bug-Finding via Static Analysis and Dynamic Invariant Discovery [article]

Mohammad Amin Alipour, Alex Groce, Chaoqiang Zhang, Anahita Sanadaji,, Gokul Caushik
2016 arXiv   pre-print
In this paper, we present a novel marriage of static and dynamic analysis.  ...  While providing little in the way of verification, this approach may provide an additional quick and highly scalable bug-finding method for programs that are usually considered "too large to model check  ...  Our approach to "modular verification" works more like many static analysis algorithms, which "give up" on pointers when alias analysis fails, and abandon overly complex paths.  ... 
arXiv:1609.06382v1 fatcat:6ccyvhlvlrcijhpu4cap4wgfim

Formal Techniques for Java Programs [chapter]

Gary T. Leavens, Sophia Drossopoulou, Susan Eisenbach, Arnd Poetzsch-Heffter, Erik Poll
2002 Lecture Notes in Computer Science  
This report gives an overview of the third ECOOP Workshop on Formal Techniques for Java Programs. It explains the motivation for such a workshop and summarizes the presentations and discussions.  ...  Invariants can cause significant problems for modular verification, because the class invariants of all objects are supposed to hold at all calls and returns from all public methods.  ...  The paper by Joachim van den Berg, Cees-Bart Breunesse, Bart Jacobs, and Erik Poll [vdBBJP01] discussed problems relating to the semantics and modular verification of class invariants.  ... 
doi:10.1007/3-540-47853-1_3 fatcat:rbitilj3dbfgxohlt3lenzkcze

Cooperation-based Invariants for OO Languages

Ronald Middelkoop, Cornelis Huizing, Ruurd Kuiper, Erik Luit
2006 Electronical Notes in Theoretical Computer Science  
The approach introduced in this paper allows this for objects of mutually visible classes, in a way that supports modular verification. To this end, dependencies are made explicit by cooperation.  ...  In general, invariants may depend on the state of other objects.  ...  Acknowledgement We would like to thank Mike Barnett and Erik Poll for useful comments on earlier versions of this paper.  ... 
doi:10.1016/j.entcs.2006.05.025 fatcat:qxjqqkojzfgcxbov2ppoybally

Flexible and configurable verification policies with Omnibus

Thomas Wilson, Savi Maharaj, Robert G. Clark
2007 Journal of Software and Systems Modeling  
The three main assertion-based verification approaches are: Run-time Assertion Checking (RAC), Extended Static Checking (ESC) and Full Formal Verification (FFV).  ...  verification approaches within a single tool.  ...  Acknowledgements: We are grateful for the valuable feedback from the anonymous reviewers and the attendees and organisers of the SEFM 2005 conference.  ... 
doi:10.1007/s10270-007-0060-1 fatcat:fk6eugbvjveydd5fn5z3s2ykqi

Enhancing modular OO verification with separation logic

Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin
2008 SIGPLAN notices  
Using a predicate mechanism, we propose a flexible scheme for supporting class invariant and lossless casting.  ...  Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding.  ...  Acknowledgments : Cristian Gherghina implemented a prototype system for OO verification.  ... 
doi:10.1145/1328897.1328452 fatcat:763476pm7fabhmackdml27helu

Enhancing modular OO verification with separation logic

Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin
2008 Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '08  
Using a predicate mechanism, we propose a flexible scheme for supporting class invariant and lossless casting.  ...  Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding.  ...  Acknowledgments : Cristian Gherghina implemented a prototype system for OO verification.  ... 
doi:10.1145/1328438.1328452 dblp:conf/popl/ChinDNQ08 fatcat:fzjiyyqtfjhkdmnkqyi4ti33je

A Simple Sequential Reasoning Approach for Sound Modular Verification of Mainstream Multithreaded Programs

Bart Jacobs, Jan Smans, Frank Piessens, Wolfram Schulte
2007 Electronical Notes in Theoretical Computer Science  
Our approach supports immutable objects as well as static fields and static initializers.  ...  Java or C# programs developed according to our model can be annotated by means of stylized comments to make the use of the model explicit.  ...  It supports object invariants, but these can depend only on the fields of this. No claim of modular verification is made.  ... 
doi:10.1016/j.entcs.2007.04.005 fatcat:xp3nvrg2ivguhijrlhhsdjh5tu

Verification of Software Product Lines with Delta-Oriented Slicing [chapter]

Daniel Bruns, Vladimir Klebanov, Ina Schaefer
2011 Lecture Notes in Computer Science  
On the verification side, we combine proof slicing and similarity-guided proof reuse to ease the verification process.  ...  In this paper, we present delta-oriented slicing, an approach to reduce the deductive verification effort across an SPL where individual products are Java programs and their relations are described by  ...  -Our method is also parametric on how a verification system treats invariants.  ... 
doi:10.1007/978-3-642-18070-5_5 fatcat:fnzh2qdfnzaihejinjiyadpgsi

Omnibus verification policies: a flexible, configurable approach to assertion-based software verification

T. Wilson, S. Maharaj, R.G. Clark
2005 Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)  
The three main assertion-based verification approaches are: Design by Contract (DBC), Extended Static Checking (ESC) and Verified Design by Contract (VDBC).  ...  verification approaches within a single tool.  ...  Kemmerer for support with an earlier version of the project. References  ... 
doi:10.1109/sefm.2005.29 dblp:conf/sefm/WilsonMC05 fatcat:33kozwqby5dfjafokeamzxlv5u
« Previous Showing results 1 — 15 out of 6,347 results