Proof reuse in formal software verification is crucial in presence of constant evolutionary changes to the verification target. Contract-based verification makes it possible to verify large programs, because each method in a program can be verified against its contract separately. A small change to some contract, however, invalidates all proofs that rely on it, which makes reuse difficult. We introduce fully abstract contracts and class invariants which permit to completely decouple reasoning about programs from the applicability check of contracts. We implemented tool support for abstract contracts as part of the KeY verification system and empirically show the considerable reuse potential of our approach
Many software verification tools use the design-by-contract approach to annotate programs with asse...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Many software verification tools use the design-by-contract approach to annotate programs with asse...
Proof reuse in formal software verification is crucial in presence of constant evolutionary changes ...
Even in statically typed languages it is useful to have certain invariants checked dynamically. Find...
Design-by-contract is a development best practice that requires the interactions between software co...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
The important role that class contracts - pre and post-conditions of methods, and invariants - play ...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
Item does not contain fulltextTo make verification a manageable part of the system development proce...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Reusable software components need well-defined interfaces, rigorously and completely documented feat...
Abstract. Good components need precise contracts. In the practice of Design by Contract TM, applicat...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Contract-based design, first conceived for software specifica-tion [7] and now also applied to embed...
Many software verification tools use the design-by-contract approach to annotate programs with asse...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Many software verification tools use the design-by-contract approach to annotate programs with asse...
Proof reuse in formal software verification is crucial in presence of constant evolutionary changes ...
Even in statically typed languages it is useful to have certain invariants checked dynamically. Find...
Design-by-contract is a development best practice that requires the interactions between software co...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
The important role that class contracts - pre and post-conditions of methods, and invariants - play ...
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliab...
Item does not contain fulltextTo make verification a manageable part of the system development proce...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Reusable software components need well-defined interfaces, rigorously and completely documented feat...
Abstract. Good components need precise contracts. In the practice of Design by Contract TM, applicat...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Contract-based design, first conceived for software specifica-tion [7] and now also applied to embed...
Many software verification tools use the design-by-contract approach to annotate programs with asse...
Eiffel popularized design by contract, a software design philosophy where programmers specify the re...
Many software verification tools use the design-by-contract approach to annotate programs with asse...