Program errors are hard to detect or prove absent. Allowing pro-grammers to write formal and precise specifications, especially in the form of contracts, is a popular approach to program verifica-tion and error discovery. We formalize and implement a hybrid (static and dynamic) contract checker for a subset of OCaml. The key technique is symbolic simplification, which makes integrating static and dynamic contract checking easy and effective. Our tech-nique statically checks contract satisfaction or blames the function violating the contract. When a contract satisfaction is undecidable, it leaves residual code for dynamic contract checking
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...
Program errors are hard to detect or prove absent. Allowing programmers to write formal and precise ...
Program errors are hard to detect or prove absent. Allowing programmers to write formal and precise ...
International audienceProgram errors are hard to detect or prove absent. Allowing programmers to wri...
International audienceProgram errors are hard to detect or prove absent. Allowing programmers to wri...
Design-by-contract is a development best practice that requires the interactions between software co...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
We understand by a contract a document written in natural language which engages several parties int...
Program errors are hard to detect and are costly, to both programmers who spend sig-nificant efforts...
Abstract. We enrich the static semantics of Haskell in order to give stronger static guarantees abou...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Even in statically typed languages it is useful to have certain invariants checked dynamically. Find...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...
Program errors are hard to detect or prove absent. Allowing programmers to write formal and precise ...
Program errors are hard to detect or prove absent. Allowing programmers to write formal and precise ...
International audienceProgram errors are hard to detect or prove absent. Allowing programmers to wri...
International audienceProgram errors are hard to detect or prove absent. Allowing programmers to wri...
Design-by-contract is a development best practice that requires the interactions between software co...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
We understand by a contract a document written in natural language which engages several parties int...
Program errors are hard to detect and are costly, to both programmers who spend sig-nificant efforts...
Abstract. We enrich the static semantics of Haskell in order to give stronger static guarantees abou...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Even in statically typed languages it is useful to have certain invariants checked dynamically. Find...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
Program errors are hard to detect and are costly both to programmers who spend significant efforts i...