11 citations found. Retrieving documents...
M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Do Program Transformations Help Reverse Engineering? - Bennett (1998)   (8 citations)  (Correct)

....mechanisms are addressed in the publications cited above, and the results are of major interest to the specialist in transformation theory. Our results have come from two main sources: 1. challenging benchmark problems from the literature e.g. Schorr Waite graph marking, Knuth polynomial addition [21,25]. 2. case studies from real world industrial code [e.g. 6] These have included significant industrial legacy systems written in Assembler, Jovial, C, PLC code and COBOL 3. Types of reverse engineering Reverse engineering is a generic term for many different maintenance activities. We have found ....

Ward M. Derivation of Data Intensive Algorithms by Formal Transformation - The Schorr-Waite Graph Marking Algorithm IEEE Transactions on Software Engineering, Vol. 22, No. 9, September 1996, pp. 665-686


Slicing the SCAM Mug: A Case Study in Semantic Slicing - Ward   Self-citation (Ward)   (Correct)

No context found.

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22


Pigs from Sausages? Reengineering from Assembler to C via FermaT.. - Ward (2004)   Self-citation (Ward)   (Correct)

No context found.

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22 (Sept., 1996), 665--686, #http://www.dur.ac.uk/#dcs0mpw/martin/papers/sw-alg.ps.gz#.


The FermaT Assembler Re-engineering Workbench - Ward (2001)   Self-citation (Ward)   (Correct)

....an in nitary rst order logic is used (see [4] for details) which allows countably in nite disjunctions and conjunctions. This use of rst order logic means that statements in WSL can include existential and universal quanti cation over in nite sets, and similar (non executable) operations. In [14,19] program transformations are used to derive a variety of ecient algorithms from abstract speci cations. In [14,17,19] the same transformations are used in the reverse direction: using transformations to derive a concise abstract representation of the speci cation for several challenging programs. ....

....This use of rst order logic means that statements in WSL can include existential and universal quanti cation over in nite sets, and similar (non executable) operations. In [14,19] program transformations are used to derive a variety of ecient algorithms from abstract speci cations. In [14,17,19] the same transformations are used in the reverse direction: using transformations to derive a concise abstract representation of the speci cation for several challenging programs. In [15] program transformations in WSL are used to migrate from assembler to C. In [16] an assembler module is ....

M. Ward, \Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22 (Sept., 1996), 665-686, hhttp://www.dur.ac. uk/dcs0mpw/martin/papers/sw-alg.ps.gzi.


Assembler to C Migration using the FermaT Transformation System - Ward (1999)   Self-citation (Ward)   (Correct)

....exits, action systems, side effects, etc. and the transformation theory includes a large catalogue of proven transformations for manipulating these constructs. Many of the transformations have been implemented in the FermaT transformation engine developed by Software Migrations Ltd. 11,15,16] In [12,14] program transformations are used to derive a variety of efficient algorithms from abstract specifications. In [12,13,14] the same transformations are used in the reverse direction: using transformations to derive a concise abstract representation of the specification for several challenging ....

....for manipulating these constructs. Many of the transformations have been implemented in the FermaT transformation engine developed by Software Migrations Ltd. 11,15,16] In [12,14] program transformations are used to derive a variety of efficient algorithms from abstract specifications. In [12,13,14] the same transformations are used in the reverse direction: using transformations to derive a concise abstract representation of the specification for several challenging programs. Our aim in this paper is to describe how the transformation theory has been sucessfully applied to the very ....

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22 (Sept., 1996), 665--686, hhttp://www.dur.ac.uk/ dcs0mpw/martin/papers/sw-alg.ps.gzi.


Inverse Engineering a simple Real Time program - Younger, Ward (1999)   (1 citation)  Self-citation (Ward)   (Correct)

....which has the same external behaviour (it is equivalent under a precisely de ned denotational semantics) Since both programs and speci cations are part of the same language, transformations can be used to demonstrate that a given program is a correct implementation of a given speci cation. In [43, 46,47,49] program transformations are used to derive a variety of e cient algorithms from abstract speci cations. 2.1 Syntax of Expressions Expressions include variable names, numbers, strings of the form text : the constants N , R , Q , Z, and the following operators and functions. Note that ....

M. Ward, Derivation of Data Intensive Algorithms by Formal Transformation, IEEE Trans. Software Eng. 22 (Sept., 1996), 665686, hhttp://www.dur.ac.uk/dcs0mpw/martin/papers/sw-alg.ps.gzi.


Specifications from Source Code - Alchemists' Dream or Practical.. - Ward (1994)   (1 citation)  Self-citation (Ward)   (Correct)

....between speci cations and programs. See [23,30] for examples; 5. Applicable to real programs not just those in a toy programming language with few constructs. This is achieved by the (programming) language independence and extendibility of the notation via de nitional transformations . See [15,17,24] for examples; 6. Scalable to large programs: this implies a language which is expressive enough to allow automatic translation from existing programming languages, together with the ability to cope with unstructured programs and a high degree of complexity. See [25] for example. A system which ....

....be applied at the right level of abstraction, without diving into details of the implementation. 5 FermaT: A tool for Inverse Engineering FermaT is a program transformation system based on the theory of program re nement and equivalence developed in [14,19] and applied to software development in [13,24] and to reverse engineering in [23,25] The transformation system is intended as a practical tool for software maintenance, program comprehension, reverse engineering and program development. The rst prototype transformation system, called the Maintainer s Assistant , was written in LISP [5, ....

[Article contains additional citation context not shown here]

M. Ward, \Derivation of Data Intensive Algorithms by Formal Transformation," IEEE Trans. Software Eng. 22 (Sept., 1996), 665-686, hhttp: // www. dur. ac. uk/ dcs0mpw/martin/papers/sw-alg.ps.gzi.


Language Oriented Programming - Ward (1995)   (3 citations)  Self-citation (Ward)   (Correct)

....between items, how to break a paragraph into lines, how to lay out a complex mathematical equation, and so on. 2. 4 FermaT: A Case Study FermaT is a program transformation system based on the theory of program refinement and equivalence developed in [35,38] and applied to software development in [28,37] and to reverse engineering 1 An omitted comma in a FORTRAN DO statement caused the loss of the Mariner Venus probe when the statement was silently re interpreted as an assignment to a new variable. 2 There is an oft quoted comment about programmers: Newton said If I have seen farther, it is ....

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," Submitted to IEEE Trans. Software Eng., 1993.


A Recursion Removal Theorem - Ward (1992)   Self-citation (Ward)   (Correct)

....Unlike Bird [8] we did not want to be restricted to a purely functional language since this is incompatible with the aims of a true wide spectrum language. This approach has proved highly successful, not only to the goal of refining specifications into algorithms by formal transformation (see [21,25,27]) but also working in the reverse direction: starting with an unstructured program we can transform it into a high level specification [24] 2 The Wide Spectrum Language Our kernel language has four primitive statements: 1. Assertion: fPg 2. Guard: P] 3. Add variables (with arbitrary values) ....

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," Submitted to IEEE Trans. Software Eng., May, 1992.


Formal Methods for Legacy Systems - Ward, Bennett (1995)   (1 citation)  Self-citation (Ward)   (Correct)

....abstract and concrete variables. Then, one by one, the references to concrete variables are replaced by references to the new abstract variables. Finally, the concrete variables become ghost variables and can be removed. See [13] for an example of this process; it is also used extensively in [10]. In general, if our analysis in step 5b is correct then the result of this stage is likely to be in a form suitable for further restructuring. 6. Acceptance test: We now have a high level specification of the whole system which should go through the usual Q.A. and acceptance tests. 2.1 ....

....engineering process. 3.1.2 The Schorr Waite Graph Marking Algorithm Our next example is a forward engineering example: the Schorr Waite graph marking algorithm [8] This has acquired the status of a standard testbed for program verification techniques applied to complex data structures. In [10] we present a complete derivation of the algorithm, starting with a mathematical specification of graph marking. We develop a simple recursive algorithm by applying general purpose transformations, and then apply Schorr and Waite s pointer switching technique to develop an efficient iterative ....

[Article contains additional citation context not shown here]

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," Submitted to IEEE Trans. Software Eng., 1993.


Formal Methods to Aid the Evolution of Software - Ward, Bennett (1995)   (5 citations)  Self-citation (Ward)   (Correct)

....develop general purpose transformations for loops and for recursive procedures which can be applied without needing loop invariants. Details of the theoretical foundations of our work are given in [38] Examples of the use of the transformation based approach for forward engineering are given in [34,36], and for reverse engineering in [35,40,45] A survey of work on transformation systems may be found in [42] and also in [27] The approach may be contrasted with the refinement calculus (e.g. see [19,20,21] in which the user selects the next refinement step, and in doing so will generate a set ....

....reverse engineering process. 4.2 The Schorr Waite Graph Marking Algorithm Our next example is a forward engineering example: the Schorr Waite graph marking algorithm [30] This has acquired the status of a standard testbed for program verification techniques applied to complex data structures. In [36] we present a complete derivation of the algorithm, starting with a mathematical specification of graph marking. We develop a simple recursive algorithm by applying general purpose transformations, and then apply Schorr and Waite s pointer switching technique to develop an efficient iterative ....

[Article contains additional citation context not shown here]

M. Ward, "Derivation of Data Intensive Algorithms by Formal Transformation," Submitted to IEEE Trans. Software Eng., 1993.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC