Results 1 -
5 of
5
Towards Pattern-Based Design Recovery
"... A method and a corresponding tool is described which assist design recovery and program understanding by recognising instances of design patterns semi-automatically. The approach taken is specifically designed to overcome the existing scalability problems caused by many design and implementation var ..."
Abstract
-
Cited by 49 (7 self)
- Add to MetaCart
A method and a corresponding tool is described which assist design recovery and program understanding by recognising instances of design patterns semi-automatically. The approach taken is specifically designed to overcome the existing scalability problems caused by many design and implementation variants of design pattern instances. Our approach is based on a new recognition algorithm which works incrementally rather than trying to analyse a possibly large software system in one pass without any human intervention. The new algorithm exploits domain and context knowledge given by a reverse engineer and by a special underlying syntax graph. Finally, the paper gives some results and experiences about the application of the approach to the Java AWT and JGL libraries in comparison to other approaches.
Unifying Program Slicing and Concept Assignment for Higher-Level . . .
"... ... This paper introduces a unification of slicing and concept assignment which exploits their combined advantages, while overcoming these two individual weaknesses. Our `concept slices' are executable programs extracted using high level criteria. The paper introduces four techniques that combine sl ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
... This paper introduces a unification of slicing and concept assignment which exploits their combined advantages, while overcoming these two individual weaknesses. Our `concept slices' are executable programs extracted using high level criteria. The paper introduces four techniques that combine slicing and concept assignment and algorithms for each
Comprehending the Knowledge Stored in Aged Legacy Systems to Improve their Qualities with a Renewal Process
"... This study describes the application of a renewal process to a very old legacy system working in the banking environment. The term renewal process refers to a combination of reverse engineering and restoration processes. The latter, similar to restructuring but taking account of the semantics of the ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
This study describes the application of a renewal process to a very old legacy system working in the banking environment. The term renewal process refers to a combination of reverse engineering and restoration processes. The latter, similar to restructuring but taking account of the semantics of the components to be restructured, is better explained in the paper. Judged from the maintainer's point of view, the main result of the case study described is that the renewal process renders the system easier to understand, so that the effort required to improve its quality can then be tailored to the benefits aimed at, even on a very old system. This case study had other spin-off benefits, providing guidelines for analyses to be made during the reverse engineering process in order to reduce the size of the system to be renewed and to extract the knowledge stored so as to understand and improve the existing application. It also made it possible to draw a distinction between the restoration pr...
Assessment Of A Renewal Process Experimented On The Field
"... This work describes a case study which demonstrates the efficacy of a renewal process of a very old system, judged from the viewpoint of users and managers. Data were collected over three years in a real environment to assess the effectiveness of the process, performed on a banking software system. ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
This work describes a case study which demonstrates the efficacy of a renewal process of a very old system, judged from the viewpoint of users and managers. Data were collected over three years in a real environment to assess the effectiveness of the process, performed on a banking software system. The effects attributable to the progressive ageing of a system perceived by its users and managers were first individuated. After the process, such successes as a drop in the costs of maintenance and an increase in transferability and testability of the programs were recorded. There were also some failures, notably insufficient improvement in the quality of the programs and in their capacity to be modified. Finally, some conclusions are drawn as to the opportunity of subdividing the renewal process into two macrophases, reverse engineering and restoration, which integrate the process activities generating the benefits. Although these are conceptually distinguishable, they must be executed to...
Concept Assignment as a Debugging Technique for Code Generators
, 2005
"... Code generators are notoriously difficult to debug, yet their correctness is crucial. This paper demonstrates that concept assignment can be performed in an entirely syntax-directed manner for code generators and other highly structured program modules. Anomalies in this concept assignment indicate ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Code generators are notoriously difficult to debug, yet their correctness is crucial. This paper demonstrates that concept assignment can be performed in an entirely syntax-directed manner for code generators and other highly structured program modules. Anomalies in this concept assignment indicate the possible existence of bugs. These insights enable the formulation of a new debugging technique for code generators. This paper describes the procedure, a practical implementation, and results from the application of this debugging technique to an experimental code generator.

