A process algebra based program and system representation for reverse engineering
- 31 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
A reverse engineering approach based on process algebras for system representation and understanding is presented. Process algebras offer both a formal framework for representing communicating processes and a proof theory for proving semantic equivalences between them. Programs and program fragments are denoted as concurrent agents and code behaviour is defined in terms of interactions among agents in a process algebra representation suitable for subsequent analysis. Semantic and behavioural equivalences between programming plans, which represent programming stereo-types, and code fragments can be defined in this formal system together with a deduction system to prove them. Several advantages and further research issues on the use of process algebra for reverse engineering and maintenance are identified and discussed.Keywords
This publication has 12 references indexed in Scilit:
- Introduction to the ISO specification language LOTOSPublished by Elsevier ,2003
- Understanding natural programs using proper decompositionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Program concept recognition and transformationIEEE Transactions on Software Engineering, 1992
- Understanding and debugging novice programsArtificial Intelligence, 1990
- Design recovery for maintenance and reuseComputer, 1989
- Observation equivalence as a testing equivalenceTheoretical Computer Science, 1987
- Connections between two theories of concurrency: Metric spaces and synchronization treesInformation and Control, 1983
- Processes and the denotational semantics of concurrencyInformation and Control, 1982
- Symbolic execution and program testingCommunications of the ACM, 1976
- An axiomatic basis for computer programmingCommunications of the ACM, 1969