Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parametric shape analysis via 3-valued logic
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Weakest Precondition Semantics for Refinement of Object-Oriented Programs
IEEE Transactions on Software Engineering
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
The LOOP Compiler for Java and JML
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Program Extraction from Classical Proofs
LCC '94 Selected Papers from the International Workshop on Logical and Computational Complexity
Modular Reasoning in an Object-Oriented Refinement Calculus
Proceedings of the Second International Conference on Mathematics of Program Construction
Reasoning about Pointers in Refinement Calculus
APSEC '03 Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference
ERC – An object-oriented refinement calculus for Eiffel
Formal Aspects of Computing
A machine-checked model for a Java-like language, virtual machine, and compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automation for interactive proof: first prototype
Information and Computation - Special issue: Combining logical systems
A Refinement Driven Component-Based Design
ICECCS '07 Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems
Refinement and verification in component-based model-driven design
Science of Computer Programming
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Verification of Concurrent Programs with Chalice
Foundations of Security Analysis and Design V
A Graph-Based Operational Semantics of OO Programs
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
A Taxonomy of Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Zenon: an extensible automated theorem prover producing checkable proofs
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
Robustness testing for software components
Science of Computer Programming
Rodin: an open toolset for modelling and reasoning in Event-B
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on VSTTE 2008
A type-theoretic framework for certified model transformations
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
A graph-based implementation for mechanized refinement calculus of OO programs
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Automating refinement of circus programs
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Integration of a software model checker into isabelle
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Taking our own medicine: applying the refinement calculus to state-rich refinement model checking
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
rCOS: theory and tool for component-based model driven development
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Specification and validation of behavioural protocols in the rCOS modeler
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Verifying safety properties with the TLA+ proof system
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
A tool for developing correct programs by refinement
FAC-RW'96 Proceedings of the BCS-FACS 7th conference on Refinement
Hi-index | 0.00 |
The refinement calculus provides a methodology for transforming an abstract specification into a concrete implementation, by following a succession of refinement rules. These rules have been mechanized in theorem provers, thus providing a formal and rigorous way to prove that a given program refines another one. In a previous work, we have extended this mechanization for object-oriented programs, where the memory is represented as a graph, and we have integrated our approach within the rCOS tool, a model-driven software development tool providing a refinement language. Hence, for any refinement step, the tool automatically generates the corresponding proof obligations and the user can manually discharge them, using a provided library of refinement lemmas. In this work, we propose an approach to automate the search of possible refinement rules from a program to another, using the rewriting tool Maude. Each refinement rule in Maude is associated with the corresponding lemma in Isabelle, thus allowing the tool to automatically generate the Isabelle proof when a refinement rule can be automatically found. The user can add a new refinement rule by providing the corresponding Maude rule and Isabelle lemma.