Filters








2,004 Hits in 2.7 sec

Refinement reflection: complete verification with SMT

Niki Vazou, Anish Tondwalkar, Vikraman Choudhury, Ryan G. Scott, Ryan R. Newton, Philip Wadler, Ranjit Jhala
2017 Proceedings of the ACM on Programming Languages  
In this work, we extend refinement types with refinement reflection, leading to the following three contributions. 1.  ...  We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers, which permits the specification of arbitrary properties and yet enables complete, automated SMT-based reasoning  ...  Refinement Types First, we recall some preliminaries about specification and verification with refinement types.  ... 
doi:10.1145/3158141 dblp:journals/pacmpl/VazouTCSNWJ18 fatcat:kwduqhz3bzfmpckp74g7ujykle

Refinement Reflection: Complete Verification with SMT [article]

Niki Vazou, Anish Tondwalkar, Vikraman Choudhury, Ryan G. Scott, Ryan R. Newton, Philip Wadler, Ranjit Jhala
2017 arXiv   pre-print
We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers.  ...  As a consequence, at uses of the function, the function definition is instantiated in the SMT logic in a precise fashion that permits decidable verification.  ...  Refinement Types First, we recall some preliminaries about specification and verification with refinement types.  ... 
arXiv:1711.03842v1 fatcat:2rh3i5bogzgiphvpme3zrfcwaa

Refinement Reflection (or, how to turn your favorite language into a proof assistant using SMT) [article]

Niki Vazou, Ranjit Jhala
2016 arXiv   pre-print
In the logic, we encode functions and lambdas using uninterpreted symbols preserving SMT-based decidable verification.  ...  Refinement Reflection turns your favorite programming language into a proof assistant by reflecting the code implementing a user-defined function into the function's (output) refinement type.  ...  First, reflection allows SMT-aided verification which drastically simplifies proofs over key theories like linear arithmetic and equality. Second, refinements are completely erased at run-time.  ... 
arXiv:1610.04641v1 fatcat:rbhguza4cvfznflzmrzmdfqsba

Nested refinements

Ravi Chugh, Patrick M. Rondon, Ranjit Jhala
2012 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '12  
By coupling nested refinements with McCarthy's theory of finite maps, System D can precisely reason about the interaction of higher-order functions, polymorphism, and dictionaries.  ...  The addition of type predicates to the refinement logic creates a circularity that leads to unique technical challenges in the metatheory, which we solve with a novel stratification approach that we use  ...  Reflection.  ... 
doi:10.1145/2103656.2103686 dblp:conf/popl/ChughRJ12 fatcat:2lsgl2iaqnforb2yl5vgh5x73y

Nested refinements

Ravi Chugh, Patrick M. Rondon, Ranjit Jhala
2012 SIGPLAN notices  
By coupling nested refinements with McCarthy's theory of finite maps, System D can precisely reason about the interaction of higher-order functions, polymorphism, and dictionaries.  ...  The addition of type predicates to the refinement logic creates a circularity that leads to unique technical challenges in the metatheory, which we solve with a novel stratification approach that we use  ...  Reflection.  ... 
doi:10.1145/2103621.2103686 fatcat:xwejomftjze35pg7ir55ld33ne

Don't care in SMT: building flexible yet efficient abstraction/refinement solvers

Andreas Bauer, Martin Leucker, Christian Schallhart, Michael Tautschnig
2009 International Journal on Software Tools for Technology Transfer (STTT)  
Our method follows the abstraction/refinement approach to simplify the implementation of custom SMT solvers.  ...  We have implemented our approach in the ABSOLVER framework and applied the resulting solver successfully to an industrial case-study: The verification problems arising in verifying an electronic car steering  ...  Abstraction and refinement for SMT In this section, we develop the framework in which we describe our approach.  ... 
doi:10.1007/s10009-009-0133-2 fatcat:73mnhvcddjb6lg7hzykt3jluza

CEG4N: Counter-Example Guided Neural Network Quantization Refinement [article]

João Batista P. Matos Jr. and Iury Bessa and Edoardo Manino and Xidan Song and Lucas C. Cordeiro
2022 arXiv   pre-print
We propose Counter-Example Guided Neural Network Quantization Refinement (CEG4N).  ...  Our technique successfully quantizes the networks in our evaluation while producing models with up to 72% better accuracy than state-of-the-art techniques.  ...  Verification of NN properties In this paper, we use the classic paradigm of SMT verification.  ... 
arXiv:2207.04231v1 fatcat:yqt4bl3lmbesjfh5kjxtfjgrqy

Refinement Types for TypeScript [article]

Panagiotis Vekris, Benjamin Cosman, Ranjit Jhala
2016 arXiv   pre-print
We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs.  ...  We develop a formal core of RSC that delineates the interaction between refinement types and mutability. Next, we extend the core to account for the imperative and dynamic features of TypeScript.  ...  Types and Refinements A basic refinement type is a basic type, e.g. number, refined with a logical formula from an SMT decidable logic [24] .  ... 
arXiv:1604.02480v1 fatcat:uh66gyucgzbsxidrzghru757yq

Application of Counterexample-Guided Abstraction Refinement on Concurrent Programs

Levente Bajczi
2021 Zenodo  
Effectively handling multithreaded programs is an active field of research in the context of formal software verification.  ...  I also present an overview of existing approaches to handling sequentiallyordered concurrent programs using the Counterexample-Guided Abstraction Refinement (CEGAR) technique.  ...  Dartagnan is a software verification tool, complete with an integration to Smack [37] , an LLVM-based program transformation tool that allows Dartagnan to work on formal models rather than source-level  ... 
doi:10.5281/zenodo.5905781 fatcat:r3rpu5khvjfkfhhtvl2l6gisti

Nested Refinements for Dynamic Languages [article]

Ravi Chugh and Patrick M. Rondon and Ranjit Jhala
2011 arXiv   pre-print
By coupling nested refinements with McCarthy's theory of finite maps, System D can precisely reason about the interaction of higher-order functions, polymorphism, and dictionaries.  ...  The addition of type predicates to the refinement logic creates a circularity that leads to unique technical challenges in the metatheory, which we solve with a novel stratification approach that we use  ...  Reflection.  ... 
arXiv:1103.5055v2 fatcat:4aneujg6urhc3eouf2xgh63bjy

Maintaining Database Integrity with Refinement Types [chapter]

Ioannis G. Baltopoulos, Johannes Borgström, Andrew D. Gordon
2011 Lecture Notes in Computer Science  
Our analysis uses a refinement-type checker, which relies on recent highly efficient SMT algorithms to check proof obligations.  ...  We use refinement types to track constraints on data and the underlying database.  ...  Acknowledgements Discussions with Peter Buneman, Giorgio Ghelli, and Tim Griffin were useful.  ... 
doi:10.1007/978-3-642-22655-7_23 fatcat:mt5tgb6yivfc7o2gw7pt5xfgvy

Gradual refinement types

Nico Lehmann, Éric Tanter
2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages - POPL 2017  
Refinement types are an effective language-based verification technique. However, as any expressive typing discipline, its strength is its weakness, imposing sometimes undesired rigidity.  ...  In doing so, we address two challenges unexplored in the gradual typing literature: dealing with imprecise logical information, and with dependent function types.  ...  Introduction Refinement types are a lightweight form of language-based verification, enriching types with logical predicates.  ... 
doi:10.1145/3009837.3009856 fatcat:xjdftigpkrbd7eah63jaom5w4u

Stepwise refinement of heap-manipulating code in Chalice

K. Rustan M. Leino, Kuat Yessenov
2012 Formal Aspects of Computing  
This paper describes a system with automated tool support for refinement, powered by a stateof-the-art verification engine that uses an SMT solver.  ...  Finally, the system uses a language with familiar object-oriented features, including sequential composition, loops, and recursive calls, offers a syntax with skeletons for describing program changes between  ...  Acknowledgments We are grateful to Peter Müller who suggested we might try to base our refinements on the permissions in Chalice rather than on the dynamic frames of Dafny [29] , where we had started.  ... 
doi:10.1007/s00165-012-0254-3 fatcat:s5mgcqnkwbeupl2pilyvdjb524

Executable Refinement Types [article]

Kenneth Knowles
2014 arXiv   pre-print
is decidable even though type checking is not, when suitably redefined to apply to undecidable type systems; (4) a novel use of existential types with dependent types to ensure that the language of logical  ...  This dissertation introduces executable refinement types, which refine structural types by semi-decidable predicates, and establishes their metatheory and accompanying implementation techniques.  ...  Liquid types [Rondon et al. 2008 ] also refines basic types with predicates, but the research agenda is more aligned with the question "how can we develop usable and effective static verification of modern  ... 
arXiv:1403.3336v1 fatcat:7nbq2k2uf5a4zd3bgg3magdtvq

Incremental Refinement Checking for Test Case Generation [chapter]

Bernhard K. Aichernig, Elisabeth Jöbstl, Matthias Kegele
2013 Lecture Notes in Computer Science  
We implemented our algorithms in two versions: one uses a constraint solver, the other one an SMT solver. Both show similar performance.  ...  To generate test cases that detect whether a modelled fault has been implemented, we perform a refinement check between the original and the mutated models. Action systems serve as formal models.  ...  Our case study also indicates that both SMT and constraint solvers are able to cope with refinement checking problems.  ... 
doi:10.1007/978-3-642-38916-0_1 fatcat:g55cieic5jahhgjki5ebcoxftm
« Previous Showing results 1 — 15 out of 2,004 results