The logic of programming
Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
Systematic software development using VDM
Systematic software development using VDM
A theoretical basis for stepwise refinement and the programming calculus
Science of Computer Programming
Specification statements and refinements
IBM Journal of Research and Development
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Information Processing Letters
Procedures, parameters, and abstraction: separate concerns
Science of Computer Programming
Specification case studies
The Science of Programming
A Discipline of Programming
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Abstracto 84: The next generation
ACM '79 Proceedings of the 1979 annual conference
Specification statements and refinements
IBM Journal of Research and Development
A Case-Study in Timed Refinement: A Mine Pump
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
Procedural implementation of algebraic specification
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical approach to software engineering using Z and the refinement calculus
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Formal specification and design of a message router
ACM Transactions on Software Engineering and Methodology (TOSEM)
Probabilistic predicate transformers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Formal Specification and Design of Mobile Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
A Trace-Based Refinement Calculus for Shared-Variable Parallel Programs
AMAST '98 Proceedings of the 7th International Conference on Algebraic Methodology and Software Technology
Representing WP Semantics in Isabelle/ZF
TPHOLs '99 Proceedings of the 12th International Conference on Theorem Proving in Higher Order Logics
Weakest Precondition for General Recursive Programs Formalized in Coq
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
On the Semantics of Refinement Calculi
FOSSACS '00 Proceedings of the Third International Conference on Foundations of Software Science and Computation Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software,ETAPS 2000
A Semantic Basis for Local Reasoning
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Deriving Software Specifications from Event Based Models
ZB '00 Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B
A Theory of Generalised Substitutions
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
Interpreting the B-Method in the Refinement Calculus
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
The Real-Time Refinement Calculus: A Foundation for Machine-Independent Real-Time Programming
ICATPN '02 Proceedings of the 23rd International Conference on Applications and Theory of Petri Nets
Towards a Unified Development Methodology for Shared-Variable Parallel and Distributed Programs
IFM '00 Proceedings of the Second International Conference on Integrated Formal Methods
A class of synchronization systems that permit the use of large atomic blocks
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Pigs from sausages? Reengineering from assembler to C via FermaT transformations
Science of Computer Programming - Special issue on program transformation
Generating error traces from verification-condition counterexamples
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
A theory for execution-time derivation in real-time programs
Theoretical Computer Science - Quantitative aspects of programming languages (QAPL 2004)
Dually nondeterministic functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bounded Verification of Voting Software
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
HOL-Boogie -- An Interactive Prover for the Boogie Program-Verifier
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Separation and information hiding
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic construction of simple artifact-based business processes
Proceedings of the 12th International Conference on Database Theory
Formal methods: Practice and experience
ACM Computing Surveys (CSUR)
The concept of nondeterminism: its development and implications for teaching
ACM SIGCSE Bulletin
Reusing Patterns through Design Refinement
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
HOL-Boogie--An Interactive Prover-Backend for the Verifying C Compiler
Journal of Automated Reasoning
Security, Probability and Nearly Fair Coins in the Cryptographers' Café
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Simpler Reasoning About System Properties: a Proof-by-Refinement Technique
Electronic Notes in Theoretical Computer Science (ENTCS)
An Analysis of Operation-Refinement in an Abortive Paradigm
Electronic Notes in Theoretical Computer Science (ENTCS)
Probabilistic termination in B
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Automating refinement checking in probabilistic system design
ICFEM'07 Proceedings of the formal engineering methods 9th international conference on Formal methods and software engineering
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Falling back on executable specifications
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Unifying theories of programming that distinguish nontermination and abort
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Unifying execution of imperative and declarative code
Proceedings of the 33rd International Conference on Software Engineering
Proving Reachability in B using Substitution Refinement
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards automated proof support for probabilistic distributed systems
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A design-based model of reversible computation
UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A language for automatically enforcing privacy policies
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An imperative extension to alloy
ABZ'10 Proceedings of the Second international conference on Abstract State Machines, Alloy, B and Z
The challenge of probabilistic event B
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Development via refinement in probabilistic b: foundation and case study
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Monotone predicate transformers as up-closed multirelations
RelMiCS'06/AKA'06 Proceedings of the 9th international conference on Relational Methods in Computer Science, and 4th international conference on Applications of Kleene Algebra
Of probabilistic wp and CSP - and compositionality
CSP'04 Proceedings of the 2004 international conference on Communicating Sequential Processes: the First 25 Years
Interpreting nondeterminism in the refinement calculus
FAC-RW'96 Proceedings of the BCS-FACS 7th conference on Refinement
Procedures in the refinement calculus: a new approach?
FAC-RW'96 Proceedings of the BCS-FACS 7th conference on Refinement
An iterator construct for the refinement calculus
IW-FM'00 Proceedings of the 4th Irish conference on Formal Methods
Coercing real-time refinement: a transmitter
1FACS'96 Proceedings of the 1st BCS-FACS conference on Northern Formal Methods
Proving acceptability properties of relaxed nondeterministic approximate programs
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Unifying correctness statements
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Modular safety checking for fine-grained concurrency
SAS'07 Proceedings of the 14th international conference on Static Analysis
A marriage of rely/guarantee and separation logic
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Linking Unifying Theories of Program refinement
Science of Computer Programming
Set-theoretic models of computations
Theories of Programming and Formal Methods
Hi-index | 0.00 |
Dijkstra's programming language is extended by specification statements, which specify parts of a program “yet to be developed.” A weakest precondition semantics is given for these statements so that the extended language has a meaning as precise as the original.The goal is to improve the development of programs, making it closer to manipulations within a single calculus. The extension does this by providing one semantic framework for specifications and programs alike: Developments begin with a program (a single specification statement) and end with a program (in the executable language). And the notion of refinement or satisfaction, which normally relates a specification to its possible implementations, is automatically generalized to act between specifications and between programs as well.A surprising consequence of the extension is the appearance of miracles: program fragments that do not satisfy Dijkstra's Law of the Excluded Miracle. Uses for them are suggested.