25 citations found. Retrieving documents...
C.A.R. Hoare, He Jifeng, J.P.Bowen and P.K. Pandya, An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language. In ESPRIT '90 ConferenceProceedings,Kluwer Academic Publishers (1990) pp 804--818

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Safety-Critical Systems, Formal Methods and Standards - Bowen, Stavridou (1993)   (11 citations)  (Correct)

....are used, a complete reversal of the previous guidance issued to engineers. Recent research has demonstrated that it is possible to verify compiling specifications elegantly and even produce a rapid prototype compiler that is very close to the original specification in the form of a logic program [66]. Other related researchisinvestigating methods to verify an actual compiler, including the bootstrap process, but significant barriers remain before such an approach can become viable in practice [24,40] Since the machine code itself is the final program that actually matters, decompilation is ....

HOARE, C.A.R., HE Jifeng, BOWEN, J.P., and PANDYA, P.K.: `An algebraic approachto verifiable compiling specification and prototyping of the ProCoS level 0 programming language ', in DIRECTORATE-GENERAL OF THE COMMISSION OF THE EUROPEAN COMMUNITIES (Ed.): `ESPRIT '90 Conference Proceedings', Brussels (Kluwer Academic Publishers B.V., 1990) pp. 804--818


Safety-Critical Systems, Formal Methods and Standards - Bowen, Stavridou (1992)   (11 citations)  (Correct)

....are used, a complete reversal of the previous guidance issued to engineers. Recent research has demonstrated that it is possible to verify compiling specifications elegantly and even produce a rapid prototype compiler that is very close to the original specification in the form of a logic program [58]. Other related researchisinvestigating methods to verify an actual compiler, including the bootstrap process, but significant barriers remain before such an approach can become viable in practice [128] Since the machine code itself is the final program that actually matters, decompilation is ....

HOARE, C.A.R., HE Jifeng, BOWEN, J.P., and PANDYA, P.K.: `An algebraic approachto verifiable compiling specification and prototyping of the ProCoS level 0 programming language ', in DIRECTORATE-GENERAL OF THE COMMISSION OF THE EUROPEAN COMMUNITIES (Ed.): `ESPRIT '90 Conference Proceedings', Brussels (Kluwer Academic Publishers B.V., 1990) pp. 804--818


Animating the Semantics of VERILOG using Prolog - Bowen (1999)   (4 citations)  (Correct)

.... systems at a number of related levels of abstraction from requirements down to hardware [10, 21] The approach has been applied especially in the compilation of high level programs to low level object code, where the compilation of each program construct is based on one or more theorems [3, 34]. A number of extensions such as real time [24] compilation directly into hardware circuits [8, 26] optimization [6, 25] and even decompilation [4] have been explored. Hardware compilation directly into circuits implemented on Field Programmable Gate Arrays (FPGAs) is of increasingly wide ....

Hoare, C.A.R., He Jifeng, Bowen, J.P. and Pandya, P., An Algebraic Approach to Verifiable Compiling Specification and Prototyping of the ProCoS Level 0 Programming Language. In ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, pages 804--818, 1990.


From Programs to Object Code using Logic and Logic Programming - Bowen (1992)   (1 citation)  (Correct)

....occam [3] and the transputer [4] both of which are in industrial use. Using occam means that the well understood semantics and algebraic laws already formulated for this language [5] can be readily adapted and applied to the verification proof. This work has been adequately described elsewhere [6, 7, 8]. In addition the language has been extended to include more complicated constructs such as recursion, to demonstrate that the technique is applicable to non trivial programming constructs [9] This work forms the basis for an even more ambitious task that is currently being undertaken, to prove ....

Hoare CAR, He Jifeng, Bowen JP, Pandya PK. An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In: Directorate-General of the Commission of the European Communities (eds) ESPRIT '90 Conference Proceedings, Brussels. Kluwer Academic Publishers B.V., 1990, pp 804--818


Animating the Semantics of VERILOG using Prolog - Bowen (1999)   (4 citations)  (Correct)

.... systems at a number of related levels of abstraction from requirements down to hardware [10, 21] The approach has been applied especially in the compilation of high level programs to low level object code, where the compilation of each program construct is based on one or more theorems [3, 34]. A number of extensions such as real time [24] compilation directly into hardware circuits [8, 26] optimization [6, 25] and even decompilation [4] have been explored. Hardware compilation directly into circuits implemented on Field Programmable Gate Arrays (FPGAs) is of increasingly wide ....

Hoare, C.A.R., He Jifeng, Bowen, J.P. and Pandya, P., An Algebraic Approach to Verifiable Compiling Specification and Prototyping of the ProCoS Level 0 Programming Language. In ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, pages 804--818, 1990.


Mechanical Verification of Compiler Correctness - Stringer-Calvert (1998)   (Correct)

....was to establish an ESPRIT basic research project ProCoS (Provably Correct Systems) 77] This ongoing work started by investigating the proof of a compiler for a sequential subset of Occam, targeted at an approximation of the Transputer. A novel feature of the Oxford part of the ProCoS work[78, 79, 80] is the use of an interpreter written in the source language to define the semantics of the target machine. Thus, the compiler proof is reduced to showing a refinement relation between the source code and the interpreter for the generated target code. ProCoS investigated the use of mechanical ....

C.A.R. Hoare, He Jifeng, Jonathan Bowen, and Paritosh Pandya. An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. ProCoS Project Document OU CARH 2/1, May 1990.


Specification, Verification and Prototyping of an Optimized.. - He, Bowen (1993)   (3 citations)  (Correct)

.... projects, have investigated formal techniques to handle these various levels of abstraction, and crucially how they relate to one another [BFO93] This paper concentrates on the automatic compilation of a high level executable source program to a low level machine code based on the ideas in [BHP90, Hoa91, HoH92, HHB90]. Previously this has been extended to handle a real time language [HeB92] Here we investigate how code optimizations can be included in the process. A compiler takes as input a source program and produces as output an equivalent (or better) sequence of machine instructions. Additionally, target ....

Hoare, C. A. R., He Jifeng, Bowen, J. P. and Pandya, P. K.: An Algebraic Approach to Verifiable Compiling Specification and Prototyping of the ProCoS Level 0 Programming Language. ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, pp. 804--818, 1990.


Generating Decompilers - Breuer, Bowen (1998)   Self-citation (Bowen)   (Correct)

....the description of a real compiler relation. 3 An example of a real decompiler Figure 2 about here. The D e C o D e description of a decompiler in Figure 2 contains those description fragments already discussed in Section 2. It is a decompiler based on a proven correct compiling specification [15] for a subset of the programming language [19] It describes several more of the source language to object code relationships, but it takes an extra pair of parameters to each clause. The extra parameters are Vs and Ps, and these are attribute structures respectively representing the sets of ....

C.A.R. Hoare, He Jifeng, J.P.Bowen and P.K. Pandya, An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language. In ESPRIT '90 ConferenceProceedings,Kluwer Academic Publishers (1990) pp 804--818


The REDO Project: Final Report - Bowen, Breuer, Lano (1991)   (7 citations)  Self-citation (Bowen)   (Correct)

....declares a relationship between input and output variables, but input and output can be switched round if the user calls the program in a slightly differentway. The rest of this section is devoted to briefly explaining the idea. The trick to making a compiler in the form of a logic program [BHP90, HHBP90], is to read the compiler specification as defining a relation between valid high level and low level program constructs. Normally a high level program is supplied as input to a compiler and object code is returned, but what is wanted here is to supply object code and return the equivalent ....

.... relation C between highlevel code p, the matching object code m[s : f i (lying between a start address s up to but not including a finish address f ) and a symbol table of addresses Psi which lists the memory locations (used in the object code) against each name (used in the source code) [BHP90,Hoa91, HHBP90]: 27 C(p# m[s : f i# Psi) For example, the clause of C whichsays that the compilation of the sequential composition of two programs p and q depends on compiling the two subprograms contiguously in memory derives from the following specification statement: Specification fsequential ....

Hoare C.A.R., He Jifeng, Bowen J.P., PandyaP.K., An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language, in Directorate-General of the Commission of the European Communities (eds), ESPRIT '90 ConferenceProceedings,Kluwer Academic Publishers, 1990, 804-- 818.


Towards Verified Systems: The SAFEMOS Project - Bowen, He, Hale, Herbert (1993)   (1 citation)  Self-citation (Jifeng Bowen)   (Correct)

.... backonto the stack (i.e. into register A) ADD = A# B# P : T (ADD ) A B# C# P 1 All the instructions for the machine have been specified in this manner [7] Note that we ignore the variable length of optimised Transputer instructions for simplicity, but this has been handled elsewhere [3, 11, 34]. The behaviour of an assembly language program stored between locations n1andn2inROM is just the combined effect of running the sequence of instructions between these locations: Run ROM n1 n2 = Loop (n1 P n2) M (ROM (P) 6.1 Z semantics A machine semantics for a subset of the ....

....this correctness criterion using algebraic laws as previously described within the HOL theorem prover. The approach for the verification draws on the ideas of Hoare [32] A similar approach has been adopted bytheProCoS project, although there the proofs have largely been undertakeby hand only [34]. Here wehave presented a simple unoptimised compilation scheme which is desirable in a high integrity system to avoid errors. However optimisation is important in general and more efficient compilation strategies may be attempted in a similar setting by adding further allowed compilation ....

C.A.R. Hoare, He Jifeng, J.P.Bowen, and P.K. Pandya. An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language. In ESPRIT '90 Conference Proceedings, pages 804--818. Kluwer Academic Publishers, 1990.


Specification, Verification and Prototyping of an Optimized.. - He, Bowen (1994)   (3 citations)  Self-citation (He)   (Correct)

.... projects, haveinvestigated formal techniques to handle these various levels of abstraction, and crucially how they relate to one another [BFO93] This paper concentrates on the automatic compilation of a high level executable source program to a low level machine code based on the ideas in [BHP90, Hoa91, HoH92, HHB90]. Previously this has been extended to handle a real time language [HeB92] Here weinvestigate how code optimizations can be included in the process. A compiler takes as input a source program and produces as output an equivalent (or better) sequence of machine instructions. Additionally, target ....

Hoare, C. A. R., He Jifeng, Bowen, J. P.andPandya, P. K.: An Algebraic ApproachtoVerifiable Compiling Specification and Prototyping of the ProCoS Level 0 Programming Language. ESPRIT '90 ConferenceProceedings, Kluwer Academic Publishers, pp. 804--818, 1990.


A ProCoS II Project Description: ESPRIT Basic Research project.. - Bowen, al. (1993)   (7 citations)  Self-citation (Bowen)   (Correct)

....on multiple computers# plans mechanical checks and aids for this process. Prof. Ernst Rudiger Olderog is the site leader, with Stephan Rossig and Michael Schenke as team members. 4. Christian Albrechts Universitat Kiel, Institut fur Informatik und Praktische Mathematik, Preuerstrae 1 9, D 2300 Kiel 1, Germany. Responsible for production of correct machine code from timed high level programs. Concentrates on the systematic developmentofaprovably correct compiler. Prof. Hans Langmaack leads the site with Bettina Buth, Karl Heinz Buth, Martin Franzle, Burghard von Karger (currently ....

....model. Levels of interest to be modelled on this project, together with selected published material produced so far during both phases of the project, include: Duration Calculus [18, 26, 33, 34, 37, 39, 41, 42] A design calculus [29, 31, 35] Compiling specifications [6, 10, 19, 21, 22, 23, 24] Hardware transformations [20, 32] 2.2 Requirements Engineering Lyngby Lyngby will contribute to the project within the following areas: Specification and design of real time systems. In cooperation with Oxford we plan to develop a system specification notation and calculus for ....

[Article contains additional citation context not shown here]

C.A.R. Hoare, He Jifeng, J.P.Bowen, and P.K. Pandya. An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language. In CEC DG XIII, editor, ESPRIT'90 ConferenceProceedings, Brussels, pages 804--818, 1990.


Time Interval Semantics and Implementation of a Real-Time.. - He, Bowen (1992)   (6 citations)  Self-citation (Jifeng Bowen)   (Correct)

No context found.

C.A.R. Hoare, He Jifeng, J.P.Bowen and P.K. Pandya, An algebraic approachtoverifiable compiling specification and prototyping of the ProCoS level 0 programming language, ESPRIT '90 ConferenceProceedings, Kluwer Academic Publishers, 804--818, 1990.


Time Interval Semantics and Implementation of a Real-Time.. - He, Bowen (1992)   (6 citations)  Self-citation (Jifeng Bowen)   (Correct)

No context found.

C.A.R. Hoare, He Jifeng, J.P. Bowen and P. K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, 804--818, 1990.


Towards Verified Systems: The SAFEMOS Project - Bowen, He, Hale, Herbert (1995)   (1 citation)  Self-citation (Jifeng Bowen)   (Correct)

.... the stack (i.e. into register A) M i ADD def = A; B; P : T (ADD ) A B; C; P 1 All the instructions for the machine have been specified in this manner [7] Note that we ignore the variable length of optimised Transputer instructions for simplicity, but this has been handled elsewhere [3, 11, 34]. The behaviour of an assembly language program stored between locations n1 and n2 in ROM is just the combined effect of running the sequence of instructions between these locations: Run ROM n1 n2 def = Loop (n1 P n2) M i (ROM (P) 6.1 Z semantics A machine semantics for a subset of ....

....Verified Systems: The SAFEMOS Project laws as previously described within the HOL theorem prover. The approach for the verification draws on the ideas of Hoare [32] A similar approach has been adopted by the ProCoS project, although there the proofs have largely been undertake by hand only [34]. Here we have presented a simple unoptimised compilation scheme which is desirable in a high integrity system to avoid errors. However optimisation is important in general and more efficient compilation strategies may be attempted in a similar setting by adding further allowed compilation ....

C.A.R. Hoare, He Jifeng, J.P. Bowen, and P.K. Pandya. An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In ESPRIT '90 Conference Proceedings, pages 804--818. Kluwer Academic Publishers, 1990.


Verification Tools in the Development of Provably Correct.. - Rao, Pandya, Shymasunder (1993)   (3 citations)  Self-citation (Pandya)   (Correct)

....algebra of PL. The proof of each clause is independent of the other clauses. The advantage of this modularity is that the proof of correctness of a large compiling specification becomes manageable, and that a compiling specification can be easily extended with new clauses. We refer the reader to [12, 13, 5] for more details of the refinement algebra approach. Bowen et al. have developed a prototype compiler using this approach for the ProCoS PL 0 language [5, 11] Here, the set of Horn clauses constituting the compiling specification is directly translated into a PROLOG program. Such a program can ....

C.A.R. Hoare, J. He, J. Bowen and P. Pandya (1990), An Algebraic Approach to Verifiable Compiling Specification and Prototyping of ProCoS level 0 Programming Language, Proc. of ESPRIT'90, Brussels (ed. Commission of European Communities) , Kluwer Acadenuc Publishers, 1990.


Decompilation: The Enumeration of Types and Grammars - Breuer, Bowen (1992)   (4 citations)  Self-citation (Bowen)   (Correct)

....high level construct is transformed into an interpreter for low level machine instructions, using algebraic refinement laws. This technique has been applied to a subset of occam and the transputer, thus demonstrating that it is applicable to actual commercially available languages and processors [2, 12]. The functional programming approach allows the compiler relation to be coded as a function that takes an object code program and returns a list of possible high level programs that could have been compiled into this code. The list produced is in general infinite, so it is practically important ....

....to by their location in memory in the source code. This is only a small simplification of the real position, in which a symbol table performs the linkage, but it helps. Object code like this has been related to the (semantics of the) source code of a subset of occam by a series of theorems [12] which can be read as the defining clauses of a relation c (for Compile) between source codes and object codes as follows (the underlines pick out the guard conditions which come from the grammar (14) for source codes) c : var] prog] source code; object code) bool c vs ps(SKIP; True T1 ....

C.A.R. Hoare, He Jifeng, J.P. Bowen and P.K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, in DirectorateGeneral of the Commission of the European Communities (Eds.) ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers B.V., pp. 804-- 818, 1990.


The REDO Project: Final Report - Bowen, Breuer, Lano (1991)   (7 citations)  Self-citation (Bowen)   (Correct)

....declares a relationship between input and output variables, but input and output can be switched round if the user calls the program in a slightly different way. The rest of this section is devoted to briefly explaining the idea. The trick to making a compiler in the form of a logic program [BHP90, HHBP90], is to read the compiler specification as defining a relation between valid high level and low level program constructs. Normally a high level program is supplied as input to a compiler and object code is returned, but what is wanted here is to supply object code and return the equivalent ....

.... relation C between highlevel code p, the matching object code m[s : f i (lying between a start address s up to but not including a finish address f ) and a symbol table of addresses Psi which lists the memory locations (used in the object code) against each name (used in the source code) [BHP90, Hoa91, HHBP90]: C(p; m[s : f i; Psi) For example, the clause of C which says that the compilation of the sequential composition of two programs p and q depends on compiling the two subprograms contiguously in memory derives from the following specification statement: Specification fsequential compositiong ....

Hoare C.A.R., He Jifeng, Bowen J.P., Pandya P.K., An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, in Directorate-General of the Commission of the European Communities (eds), ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, 1990, 804-- 818.


Generating Decompilers - Breuer, Bowen (1992)   Self-citation (Bowen)   (Correct)

....the description of a real compiler relation. 3 An example of a real decompiler Figure 2 about here. The D e C o D e description of a decompiler in Figure 2 contains those description fragments already discussed in Section 2. It is a decompiler based on a proven correct compiling specification [15] for a subset of the programming language occam [19] It describes several more of the source language to object code relationships, but it takes an extra pair of parameters to each clause. The extra parameters are Vs and Ps, and these are attribute structures respectively representing the sets of ....

C.A.R. Hoare, He Jifeng, J.P. Bowen and P.K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers (1990) pp 804--818


A ProCoS II Project Description: ESPRIT Basic Research project.. - Bowen, al. (1993)   (7 citations)  Self-citation (Bowen)   (Correct)

....on multiple computers; plans mechanical checks and aids for this process. Prof. Ernst Rudiger Olderog is the site leader, with Stephan Rossig and Michael Schenke as team members. 4. Christian Albrechts Universitat Kiel, Institut fur Informatik und Praktische Mathematik, Preu erstra e 1 9, D 2300 Kiel 1, Germany. Responsible for production of correct machine code from timed high level programs. Concentrates on the systematic development of a provably correct compiler. Prof. Hans Langmaack leads the site with Bettina Buth, Karl Heinz Buth, Martin Franzle, Burghard von Karger (currently ....

.... Levels of interest to be modelled on this project, together with selected published material produced so far during both phases of the project, include: ffl Duration Calculus [18, 26, 33, 34, 37, 39, 41, 42] ffl A design calculus [29, 31, 35] ffl Compiling specifications [6, 10, 19, 21, 22, 23, 24] ffl Hardware transformations [20, 32] 2.2 Requirements Engineering Lyngby Lyngby will contribute to the project within the following areas: Specification and design of real time systems. In cooperation with Oxford we plan to develop a system specification notation and calculus for ....

[Article contains additional citation context not shown here]

C.A.R. Hoare, He Jifeng, J.P. Bowen, and P.K. Pandya. An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In CEC DG XIII, editor, ESPRIT'90 Conference Proceedings, Brussels, pages 804--818, 1990.


A Compendium of Formal Techniques for Software Maintenance - Bowen, Breuer, Lano (1993)   (3 citations)  Self-citation (Bowen)   (Correct)

....source code may be considered part of the reverse engineering process, particularly if only the object code for a program is available. The project investigated two approaches to this problem. The first arose from research on the ESPRIT ProCoS project into proving compiling specifications correct [HHBP90]. The specifications turned out to be in the form of Horn clauses in general and thus could be coded conveniently and directly in a logic programming language like Prolog [1] With some care, such programs may be formulated to act as either compilers, or decompilers, or even both, because of the ....

Hoare C.A.R., He Jifeng, Bowen J.P., Pandya P.K., An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, in Directorate-General of the Commission of the European Communities (eds), ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, 1990, 804-- 818.


Towards a Provably Correct Hardware Implementation of Occam - He, Page, Bowen (1993)   (13 citations)  Self-citation (Jifeng Bowen)   (Correct)

....communication take time to execute, and they each take precisely one clock cycle. A particularly simple and elegant timing calculus results which enables our programs to meet real time guarantees. 1. 1 Background This work builds upon previous results on provably correct compilation [13, 15, 16]. There is a strong relationship between our method and that used by Hoare in software compilation. However, our method handles communication and parallel composition and preserves true concurrency in the implementations. Related work has shown that an occam program can be implemented as a set of ....

....correct compiling theorems which enables us to implement occam programs as hardware circuits. Instrumental in our success for this study is the use of a simple normal form, which we have developed as an extension of some earlier work dealing with compiling specification in the ProCoS project [15, 16]. Our experience with this study is that while it was very difficult to establish the link between the event based parallel paradigm and the state based parallel one, the use of algebraic laws has aided this process. The techniques above allow a microprocessor such as a transputer to be compiled ....

C.A.R. Hoare, He Jifeng, J.P. Bowen and P.K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, pp. 804--818, 1990.


The REDO Project: Final Report - Bowen, Breuer, Lano (1991)   (7 citations)  Self-citation (Bowen)   (Correct)

....declares a relationship between input and output variables, but input and output can be switched round if the user calls the program in a slightly different way. The rest of this section is devoted to briefly explaining the idea. The trick to making a compiler in the form of a logic program [BHP90, HHBP90], is to read the compiler specification as defining a relation between valid high level and low level program constructs. Normally a high level program is supplied as input to a compiler and object code is returned, but what is wanted here is to supply object code and return the equivalent ....

.... relation C between highlevel code p, the matching object code m[s : f i (lying between a start address s up to but not including a finish address f ) and a symbol table of addresses Psi which lists the memory locations (used in the object code) against each name (used in the source code) [BHP90, Hoa91, HHBP90]: C(p; m[s : f i; Psi) For example, the clause of C which says that the compilation of the sequential composition of two programs p and q depends on compiling the two subprograms contiguously in memory derives from the following specification statement: Specification fsequential compositiong ....

Hoare C.A.R., He Jifeng, Bowen J.P., Pandya P.K., An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, in Directorate-General of the Commission of the European Communities (eds), ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, 1990, 804-- 818.


Generating Decompilers - Breuer, Bowen (1998)   Self-citation (Bowen)   (Correct)

.... compiler, an application that can generate a guaranteed decompiler from a formal specification of the relationship between source code and compiled object code, and provide an example of its use in the decompilation of a piece of assembler generated by an Occam [28] compiler described in [24]. The assembler code for the example is shown in Figure 1, and it is 148 instructions in length, which is not inconsiderable. It was compiled from the source code shown in Figure 2, and the decompiled output is represented by the courier font portions of the figure. The first complete statement of ....

....the next section we apply the language to the description of a real compiler relation. 3 An example of a real decompiler The D e C o D e description of a decompiler in Figure 4 contains description fragments already discussed in Section 2. It is a decompiler based on the compiler specification in [24], which is proven correct for the subset of Occam considered. A formal description of the subset is given in Figure 5. The full language allows blocks (seq statements) which may be empty or singleton, and the subset al..lows only sequences of at least two codes, which may not themselves be blocks. ....

C.A.R. Hoare, He Jifeng, J.P. Bowen and P.K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In Esprit '90 Conference Proceedings, Kluwer Academic Publishers (1990) pp 804--818


Decompilation: The Enumeration of Types and Grammars - Breuer, Bowen (1992)   (4 citations)  Self-citation (Bowen)   (Correct)

....can be proved correct using purely mathematical techniques when they are read as theorems [22] but read as programs, they are compilers. The technique has been applied to a subset of occam for the transputer, demonstrating that it is applicable to commercially available languages and processors [8, 23]. The work reported in this paper derives from the idea that the logical relationships which express the semantics of compilers have no intrinsic preferred direction, and therefore ought to be readable as decompilers as well as compilers. There are problems with this idea, however. The logic ....

C.A.R. Hoare, He Jifeng, J.P. Bowen and P.K. Pandya, An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language, in ESPRIT '90 Conference Proceedings, Kluwer Academic Publishers, pp. 804--818, 1990.

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