Today one of the most widely accepted paradigms of software engineering is the Top-Down method. Based on the hypothesises that (a) Top-Down is a good way to go and (b) programmers are lazy by their very nature, I show here that with most modern imperative programming languages, we stop the Top-Down process at least one level too early. What languages need is the concept of refinements within procedures, so the Top-Down development process can continue arbitrarily deep inside each procedure. This leads to better-structured code with improved understandability. Existing languages can be extended to support the notion of inner-procedural refinements. It is described how this was done with a fast preprocessor for C and C ++ and what the exper...
Discussion of a simple example demonstrates various expressive limitations of the refinement calculu...
In the previous, companion, paper [13] to this paper we introduced our general model of refinement, ...
This paper improves a program development method proposed in a recent paper by R. G. Dromey. It is a...
Top-down programming is procedural programming style, which design begins by defining the solution a...
The original publication is available at www.springerlink.com ISSN 0302-9743 (Print) 1611-3349 (Onli...
The C preprocessor is heavily used in C programs because it provides useful and even necessary addit...
Software refactoring is the process by which a sequence of incremental transforma-tions is performed...
C preprocessor directives are heavily used in C programs because they provide useful and even necess...
International audienceWe present a mechanized theory of program refinement that allows for the stepw...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
Despite all of the recent progress concerning the tools and techniques of Software Development, whic...
The C preprocessor is heavily used in C programs because it provides useful and even necessary addit...
Refactoriug has become a well-known technique for transforming code in a way that preserves behavior...
In the last twenty years the software engineering community has adopted structured methods for the d...
In this paper, rigorous application of stepwise refinement is explored. The steps of definition, dec...
Discussion of a simple example demonstrates various expressive limitations of the refinement calculu...
In the previous, companion, paper [13] to this paper we introduced our general model of refinement, ...
This paper improves a program development method proposed in a recent paper by R. G. Dromey. It is a...
Top-down programming is procedural programming style, which design begins by defining the solution a...
The original publication is available at www.springerlink.com ISSN 0302-9743 (Print) 1611-3349 (Onli...
The C preprocessor is heavily used in C programs because it provides useful and even necessary addit...
Software refactoring is the process by which a sequence of incremental transforma-tions is performed...
C preprocessor directives are heavily used in C programs because they provide useful and even necess...
International audienceWe present a mechanized theory of program refinement that allows for the stepw...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
Despite all of the recent progress concerning the tools and techniques of Software Development, whic...
The C preprocessor is heavily used in C programs because it provides useful and even necessary addit...
Refactoriug has become a well-known technique for transforming code in a way that preserves behavior...
In the last twenty years the software engineering community has adopted structured methods for the d...
In this paper, rigorous application of stepwise refinement is explored. The steps of definition, dec...
Discussion of a simple example demonstrates various expressive limitations of the refinement calculu...
In the previous, companion, paper [13] to this paper we introduced our general model of refinement, ...
This paper improves a program development method proposed in a recent paper by R. G. Dromey. It is a...