Filters








14,336 Hits in 5.8 sec

Soft contract verification for higher-order stateful programs

Phúc C. Nguyễn, Thomas Gilray, Sam Tobin-Hochstadt, David Van Horn
2017 Proceedings of the ACM on Programming Languages  
Stateful, higher-order functions pose significant challenges for static contract verification in particular.  ...  Existing methods for static contract verification satisfy the needs of more restricted target languages, but fail to address the challenges unique to those conjoining untyped, dynamic programming, higher-order  ...  , stateful values and a mechanically verified proof of soundness. (3) We give a method for translating the symbolic execution history of a higher-order, stateful program into a pure, first-order formula  ... 
doi:10.1145/3158139 dblp:journals/pacmpl/NguyenGTH18 fatcat:5p4w5rjhxrdgfhgkphzmqt23jq

Higher-order symbolic execution for contract verification and refutation [article]

Phuc C. Nguyen and Sam Tobin-Hochstadt and David Van Horn
2016 arXiv   pre-print
Therefore, it can form the basis of automated verification and bug-finding tools for higher-order programs.  ...  To validate our approach, we use it to develop and evaluate a system for verifying and refuting behavioral software contracts of components in a functional language, which we call soft contract verification  ...  We benefited from discussing preliminary results at the "Dagstuhl Seminar on Scripting Languages and Frameworks: Analysis and Verification" and the "NII Workshop on Software Contracts for Communication  ... 
arXiv:1507.04817v3 fatcat:vxeq56o7czbinhfvamlal6iwbm

Soft contract verification

Phúc C. Nguyen, Sam Tobin-Hochstadt, David Van Horn
2014 Proceedings of the 19th ACM SIGPLAN international conference on Functional programming - ICFP '14  
To overcome these issues, we present soft contract verification, which aims to statically prove either complete or partial contract correctness of components, written in an untyped, higher-order language  ...  Our approach uses higher-order symbolic execution, leveraging contracts as a source of symbolic values including unknown behavioral values, and employs an updatable heap of contract invariants to reason  ...  Ian Johnson, Lindsey Kuper, Aseem Rastogi, and Matthew Wilson for comments.  ... 
doi:10.1145/2628136.2628156 dblp:conf/icfp/NguyenTH14 fatcat:qxbbe2ehijdmjkuisx7fxux4ua

Relatively Complete Counterexamples for Higher-Order Programs [article]

Phuc C. Nguyen, David Van Horn
2015 arXiv   pre-print
We achieve this result by employing a novel form of symbolic execution for higher-order programs.  ...  In practice, this means an SMT solver can be used for the effective, automated generation of higher-order counterexamples for a large class of programs.  ...  This research is supported in part by the National Security Agency under the Science of Security program.  ... 
arXiv:1411.3967v2 fatcat:zprjhaw5ovgohpglks4av7m3he

Relatively complete counterexamples for higher-order programs

Phúc C. Nguyễn, David Van Horn
2015 Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2015  
We achieve this result by employing a novel form of symbolic execution for higher-order programs.  ...  In practice, this means an SMT solver can be used for the effective, automated generation of higher-order counterexamples for a large class of programs.  ...  Acknowledgments We thank Sam Tobin-Hochstadt for countless discussions that contributed significantly to the development of this work.  ... 
doi:10.1145/2737924.2737971 dblp:conf/pldi/NguyenH15 fatcat:fgomesiyovfk5io53gm3ycq6be

Towards Assertion-based Debugging of Higher-Order (C)LP Programs [article]

Nataliia Stulova, José F. Morales, Manuel V. Hermenegildo
2014 arXiv   pre-print
Higher-order constructs extend the expressiveness of first-order (Constraint) Logic Programming ((C)LP) both syntactically and semantically.  ...  At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs.  ...  A similar evolution is represented by the soft/gradual typing-based approaches in functional programming and the contracts-based extensions in object-oriented programming.  ... 
arXiv:1405.7898v2 fatcat:thgzz7zckbf2rfbg3t7ok4epsm

Language Based Verification Tools for Functional Programs (Dagstuhl Seminar 16131)

Marco Gaboardi, Suresh Jagannathan, Ranjit Jhala, Stephanie Weirich, Marc Herbstritt
2016 Dagstuhl Reports  
, Model Checking, and Separation Logic and so on -it is only relatively recently, that proposals have emerged for language based verification tools for functional and higher-order programs.  ...  While the research community has studied the problem of language based verification for imperative and first-order programs for decades -yielding important ideas like Floyd-Hoare Logics, Abstract Interpretation  ...  To validate our approach, we use it to develop and evaluate a system for verifying and refuting behavioral software contracts of components in a functional language, which we call soft contract verification  ... 
doi:10.4230/dagrep.6.3.59 dblp:journals/dagstuhl-reports/GaboardiJJW16 fatcat:zeqdceqvzrgplfdpsbt6deoi2i

Size-Change Termination as a Contract [article]

Phuc C. Nguyen, Thomas Gilray, Sam Tobin-Hochstadt, David Van Horn
2018 arXiv   pre-print
The result compliments existing contracts that enforce partial correctness specifications to obtain contracts for total correctness.  ...  Termination is an important but undecidable program property, which has led to a large body of work on static methods for conservatively predicting or enforcing termination.  ...  and contracts as well as higher-order functions and state.  ... 
arXiv:1808.02101v1 fatcat:uowsryeo7jdgbajc5zhhaxqhoy

LMS-Verify: abstraction without regret for verified systems programming

Nada Amin, Tiark Rompf
2017 Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages - POPL 2017  
We demonstrate that staging achieves "abstraction without regret" for verification: we show how high-level programming models, in particular higher-order composable contracts from dynamic languages, can  ...  Recent years have seen a surge in staging and generative programming: the key idea is to use high-level languages and their abstraction power as glorified macro systems to compose code fragments in first-order  ...  Acknowledgments The authors thank Viktor Kuncak and Sandrine Blazy for insightful discussions.  ... 
doi:10.1145/3009837.3009867 fatcat:pkp6vnsu7ja2pfqbznp6clva5u

LMS-Verify: abstraction without regret for verified systems programming

Nada Amin, Tiark Rompf
2017 SIGPLAN notices  
We demonstrate that staging achieves "abstraction without regret" for verification: we show how high-level programming models, in particular higher-order composable contracts from dynamic languages, can  ...  Recent years have seen a surge in staging and generative programming: the key idea is to use high-level languages and their abstraction power as glorified macro systems to compose code fragments in first-order  ...  Acknowledgments The authors thank Viktor Kuncak and Sandrine Blazy for insightful discussions.  ... 
doi:10.1145/3093333.3009867 fatcat:wzdor44y4jgmliywznkftexpnu

Corpse Reviver: Sound and Efficient Gradual Typing via Contract Verification [article]

Cameron Moy and Phúc C. Nguyẽn and Sam Tobin-Hochstadt and David Van Horn
2020 arXiv   pre-print
In this paper, we show that by building on existing work on soft contract verification, we can reduce or eliminate this overhead.  ...  Gradually-typed programming languages permit the incremental addition of static types to untyped programs.  ...  EVALUATION We claim that contract verification of gradually-typed programs can eliminate effectively all the overhead of enforcing higher-order soundness.  ... 
arXiv:2007.12630v1 fatcat:n7qoqveskvemjdtonenerramky

Smluvní vztah mezi věřitelem a dlužníkem z hlediska přístupu teorie zastoupení

Karel Janda
2006 Acta Oeconomica Pragensia  
The costly state verification and costly punishment models of optimal debt contracts are introduced and compared with respect to their performance in the situation characterized by risk aversion.  ...  For all these topics a number of references from Czech and iternational economic literature is provided.  ...  In order to illustrate this brief discussion of the soft budget constraint as one of the applications of the agency theory to the credit markets, we will present here a simplified version of the soft budget  ... 
doi:10.18267/j.aop.84 fatcat:3c5oo6qybbhppml3rpdkywe6rq

Corpse reviver: sound and efficient gradual typing via contract verification

Cameron Moy, Phúc C. Nguyễn, Sam Tobin-Hochstadt, David Van Horn
2021 Proceedings of the ACM on Programming Languages (PACMPL)  
In this paper, we show that by building on existing work on soft contract verification, we can reduce or eliminate this overhead.  ...  CCS Concepts: • Software and its engineering → Formal software verification; Functional languages.  ...  EVALUATION We claim that contract verification of gradually typed programs can eliminate effectively all the overhead of enforcing higher-order soundness.  ... 
doi:10.1145/3434334 fatcat:42yb3qaqf5cetphgdqu2akrzty

Stabilizing trust and reputation for self-stabilizing efficient hosts in spite of byzantine guests

Shlomi Dolev, Reuven Yagel
2010 ACM SIGOPS Operating Systems Review  
We provide concepts for building a system that can automatically recover from an arbitrary state including even one in which a Byzantine execution of one or more programs repeatedly attempts to corrupt  ...  the system state.  ...  -Offline Byzantine behavior detectors use code verification techniques, analyzing a program offline and looking for possible breaks of contracts.  ... 
doi:10.1145/1842733.1842746 fatcat:sjloi4gnszeszn4zdotuod7hoa

Formal specification and automated verification of railway software with Frama-C

Virgile Prevosto, Jochen Burghardt, Jens Gerlach, Kerstin Hartig, Hans Pohl, Kim Voellinger
2013 2013 11th IEEE International Conference on Industrial Informatics (INDIN)  
This paper presents the use of the Frama-C toolkit for the formal verification of a model of train-controlling software against the requirements of the CENELEC norm EN 50128.  ...  CVC3 stood out in comparison to the other provers, since those had a higher percentage of unproven verification conditions.  ...  For each algorithm, the number of generated verification conditions (VC) are listed, as well as the percentage of proven verification conditions for each prover.  ... 
doi:10.1109/indin.2013.6622971 dblp:conf/indin/PrevostoBGHPV13 fatcat:g33po4fyzbbmbbrkorb2xjwghu
« Previous Showing results 1 — 15 out of 14,336 results