203,736 Hits in 5.5 sec

An Interface Theory for Program Verification [chapter]

Dirk Beyer, Sudeep Kanav
2020 Lecture Notes in Computer Science  
To prove correctness, we try to construct a more abstract interface $$I_{C}$$ of the program (overapproximation) that satisfies the specification.  ...  This viewpoint exposes the duality of these two tasks — proving correctness and violation. It enables the decomposition of the verification process, and its tools, into (at least!)  ...  If I P I φ holds, then there exists is a refinement path through the area of correctness interfaces from the program interface to the specification interface.  ... 
doi:10.1007/978-3-030-61362-4_9 fatcat:lnkkcvr37ndm5cmrobrsbss63u

Overcoming Restraint: Modular Refinement using Cogent's Principled Foreign Function Interface [article]

Louis Cheung, Liam O'Connor, Christine Rizkallah
2021 arXiv   pre-print
In this paper, we instead prove such obligations. We demonstrate how they smoothly compose with existing Cogent theorems, and result in a correctness theorem of the overall Cogent-C system.  ...  This poses a problem when verifying Cogent programs, as imported C components do not enjoy the same level of static guarantees that Cogent does.  ...  We can reduce this partiality or even eliminate it entirely, proving whole program compilation correctness, by manually proving the functional correctness of the necessary abstract functions.  ... 
arXiv:2102.09920v3 fatcat:vs7qgwc53nenfebp66rqeq2qma

Tool Support for Correctness-by-Construction [chapter]

Tobias Runge, Ina Schaefer, Loek Cleophas, Thomas Thüm, Derrick Kourie, Bruce W. Watson
2019 Lecture Notes in Computer Science  
Starting with a specification, our open source tool supports CbC developers in refining a program by a sequence of refinement steps and in verifying the correctness of these refinement steps using the  ...  A program is created using refinement rules that guarantee the resulting implementation is correct with respect to the specification.  ...  Verification of CorC Programs To prove the refined program is correct, we have to prove side conditions of refinements correct (e.g., prove that an assignment satiesfies the pre-/postcondition specification  ... 
doi:10.1007/978-3-030-16722-6_2 fatcat:hjsfdbx4ingxxhmqtwlqkj7nhy

Assertional Data Reification Proofs: Survey and Perspective [chapter]

J. Coenen, W.-P. de Roever, J. Zwiers
1991 Workshops in Computing  
Then, C refines A if, and only if, for all programs P, cf. [Hoare87] . Proving a reification step correct can be done by showing that there exists a simulation relation.  ...  Unfortunately, Uand U-I-simulation are in general not subdistributive, and can therefore not be used to prove refinement of a complete program by proving the refinement of the operations in isolation.  ... 
doi:10.1007/978-1-4471-3756-6_5 fatcat:rveeh2x5gvfd5f4tdoanx4y4ki

Lazy abstraction

Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, Grégoire Sutre
2002 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '02  
Proving correctness needs data- dependent analysis.  ...  ,Refine Program Analysis -Imprecise + Abstraction Shrink state space Lazy Abstraction  ... 
doi:10.1145/503272.503279 dblp:conf/popl/HenzingerJMS02 fatcat:t33s2zpx6jdrvfiab63rsp6pzu

Linking the Meaning of Programs to What the Compiler Can Verify [chapter]

Egon Börger
2008 Lecture Notes in Computer Science  
We propose to broaden the program verifier challenge by relating the verification of the correctness for compilable programs to the experimental validation of the application-domain-based semantical correctness  ...  By its definition, Hoare's challenge is focussed on the correctness of programs: software representations of computer-based systems, tobe-compiled by a verifying compiler.  ...  A refinement verifier milestone is to enhance leading mechanical verification systems by means to prove the correctness of model refinement steps.  ... 
doi:10.1007/978-3-540-69149-5_35 fatcat:j4glj7epbvgbzppobp7dkywvuq

Relative Correctness: A Bridge Between Proving and Testing

Wided Ghardallou, Ali Mili, Nafi Diallo
2016 International Workshop on Verification and Evaluation of Computer and Communication Systems  
Also, whereas traditionally we deploy proof methods on correct programs to prove their correctness and we deploy testing methods on incorrect programs to detect and remove their faults, relative correctness  ...  Given that there are orders of magnitude more incorrect programs than correct programs in use nowadays, this has the potential to expand the scope of proving methods significantly.  ...  The prevailing paradigm for developing programs from specifications is that of refinement, whereby a program is derived from a specification through a sequence of correctness-preserving transformations  ... 
dblp:conf/vecos/GhardallouMD16 fatcat:dukuw5soo5ckpmomxjxex5mvri

Traits for Correct-by-Construction Programming [article]

Tobias Runge and Alex Potanin and Thomas Thüm and Ina Schaefer
2022 arXiv   pre-print
TraitCbC enables program construction by trait composition instead of refinement rules.  ...  With Correctness-by-Construction, programs are constructed incrementally along with a specification that is inherently guaranteed to be satisfied.  ...  While refining the program, the correctness of the whole program is guaranteed through the check of conditions in the refinement rules. The construction ends when no abstract statement is left.  ... 
arXiv:2204.05644v1 fatcat:zbboonw33fajjiyugc4ciynp4a

Can We Build an Automatic Program Verifier? Invariant Proofs and Other Challenges [chapter]

Myla Archer
2008 Lecture Notes in Computer Science  
This paper reviews some common knowledge about establishing correctness of programs and the current status of program specification and verification.  ...  The paper argues that invariants are central to establishing correctness of programs and that thus, a major part of an automatic program verifier must be automated support for verifying invariants, a significant  ...  The benefit of establishing a refinement relation from program to model is that any properties proved of the model will translate into properties of the program.  ... 
doi:10.1007/978-3-540-69149-5_33 fatcat:7scejdlnkbagrkktnriryefvhe

Lazy abstraction

Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, Grégoire Sutre
2002 SIGPLAN notices  
Proving correctness needs data- dependent analysis.  ...  ,Refine Program Analysis -Imprecise + Abstraction Shrink state space Lazy Abstraction  ... 
doi:10.1145/565816.503279 fatcat:zszzjyf5kfffxlyyy65qj5v2xa

Formal System Development with KIV [chapter]

Michael Balser, Wolfgang Reif, Gerhard Schellhorn, Kurt Stenzel, Andreas Thums
2000 Lecture Notes in Computer Science  
., for the development of safety critical systems from formal requirements specifications to executable code, including the verification of safety requirements and the correctness of implementations, for  ...  semantical foundations of programming languages from a specification of the semantics to a verified compiler, for building security models and architectural models as they are needed for high level ITSEC  ...  Correctness proofs use Dynamic Logic, a program logic for imperative programs.  ... 
doi:10.1007/3-540-46428-x_25 fatcat:md2qu57kdrc7rajillf7xxkxbu

Modular translation validation of a full-sized synchronous compiler using off-the-shelf verification tools

Van-Chan Ngo, Jean-Pierre Talpin, Thierry Gautier, Loïc Besnard, Paul Le Guernic
2015 Proceedings of the 18th International Workshop on Software and Compilers for Embedded Systems - SCOPES '15  
The aim of this presentation is to demonstrate a scalable, modular, refinable methodology to design, assess and improve the trustability of an existing (20 years old), large (500k lines of C), open source  ...  For the purpose of compiler verification, there are two approaches to prove the software correctness.  ...  Then, it checks the existence of the refinement relation to prove semantic-preservation.  ... 
doi:10.1145/2764967.2775291 dblp:conf/scopes/NgoTGBG15 fatcat:km2rzqbcrvh2fnnfworls66s3i

Automated and Modular Refinement Reasoning for Concurrent Programs [chapter]

Chris Hawblitzel, Erez Petrank, Shaz Qadeer, Serdar Tasiran
2015 Lecture Notes in Computer Science  
We present civl, a language and verifier for concurrent programs based on automated and modular refinement reasoning. civl supports reasoning about a concurrent program at many levels of abstraction.  ...  A novel combination of automata theoretic and logic-based checks is used to verify refinement.  ...  First, we do not require the annotations to be strong enough to prove program correctness but only strong enough to provide the context for refinement checking.  ... 
doi:10.1007/978-3-319-21668-3_26 fatcat:n2eslalhbzfbtbeplhbj65pwju

AliveInLean: A Verified LLVM Peephole Optimization Verifier [chapter]

Juneyoung Lee, Chung-Kil Hur, Nuno P. Lopes
2019 Lecture Notes in Computer Science  
Ensuring that compiler optimizations are correct is important for the reliability of the entire software ecosystem, since all software is compiled.  ...  Despite having verified many LLVM optimizations so far, Alive is itself not verified, which has led to at least once declaring an optimization correct when it was not.  ...  This work was supported in part by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science and ICT (2017R1A2B2007512).  ... 
doi:10.1007/978-3-030-25543-5_25 fatcat:alnvzcairjeu3fo4ns7zxrmkha

Information Flow Control-by-Construction for an Object-Oriented Language Using Type Modifiers [article]

Tobias Runge, Alexander Kittelmann, Marco Servetto, Alex Potanin, Ina Schaefer
2022 arXiv   pre-print
In each refinement step, confidentiality or integrity (or both) is guaranteed alongside the functional correctness of the program, such that insecure programs are declined by construction.  ...  In this work, we formalize IFbCOO and prove soundness of the refinement rules. We implement IFbCOO in the tool CorC and conduct a feasibility study by successfully implementing case studies.  ...  We formalize IFbCOO and establish 13 refinement rules. We prove soundness that programs constructed with IFbCOO are secure.  ... 
arXiv:2208.02672v1 fatcat:owf6bwacynhj7imrjjkuhkadhm
« Previous Showing results 1 — 15 out of 203,736 results