Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723184
R. Penteado, P. Masiero, A. F. Prado
Legacy systems that were originally developed using the procedure-oriented approach can be reengineered according to the object-oriented paradigm by the process proposed in this paper. Three phases are included in such a process: an object oriented reverse engineering phase, in which an object oriented analysis model of the legacy system is produced by Fusion/RE; a segmentation phase, in which the original code is segmented into object oriented methods, keeping the procedural language; and finally a transformation phase, in which the segmented code is transformed to an object oriented language by the Draco-Puc machine. The application of this process to a real mechanic and electric car repair shop system, with 20000 lines of source code, is described. Samples of the Java code obtained by transforming the original Clipper code are supplied.
{"title":"Reengineering of legacy systems based on transformation using the object oriented paradigm","authors":"R. Penteado, P. Masiero, A. F. Prado","doi":"10.1109/WCRE.1998.723184","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723184","url":null,"abstract":"Legacy systems that were originally developed using the procedure-oriented approach can be reengineered according to the object-oriented paradigm by the process proposed in this paper. Three phases are included in such a process: an object oriented reverse engineering phase, in which an object oriented analysis model of the legacy system is produced by Fusion/RE; a segmentation phase, in which the original code is segmented into object oriented methods, keeping the procedural language; and finally a transformation phase, in which the segmented code is transformed to an object oriented language by the Draco-Puc machine. The application of this process to a real mechanic and electric car repair shop system, with 20000 lines of source code, is described. Samples of the Java code obtained by transforming the original Clipper code are supplied.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129934684","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723173
Matthew Nelson Armstrong, C. Trudeau
One of the goals of reverse engineering a software system is to extract an architectural design from the source code. This paper compares a selection of tools available to perform this architectural recovery. The following tools are examined: Rigi (Muller, 1996), the Dali workbench (Kazman and Carriere, 1998), the Software Bookshelf (PBS) (Finnigan et al., 1997), CIA (Chen et al., 1990) and SNiFF+. This comparison is based on the abilities of the tools to perform data extraction, classification, and visualization. Of the tools evaluated, the Software Bookshelf and the Dali workbench were found to be the most suitable for architectural recovery.
{"title":"Evaluating architectural extractors","authors":"Matthew Nelson Armstrong, C. Trudeau","doi":"10.1109/WCRE.1998.723173","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723173","url":null,"abstract":"One of the goals of reverse engineering a software system is to extract an architectural design from the source code. This paper compares a selection of tools available to perform this architectural recovery. The following tools are examined: Rigi (Muller, 1996), the Dali workbench (Kazman and Carriere, 1998), the Software Bookshelf (PBS) (Finnigan et al., 1997), CIA (Chen et al., 1990) and SNiFF+. This comparison is based on the abilities of the tools to perform data extraction, classification, and visualization. Of the tools evaluated, the Software Bookshelf and the Dali workbench were found to be the most suitable for architectural recovery.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121511237","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723172
P. Fusaro, M. Tortorella, G. Visaggio
Software processes require continuous innovations to improve their quality and increase their maturity. Integrating process components, proposed in previous published works, to improve a process requires the formalisation of their informal description. This requirement stems from the need to understand and evaluate how adequate the process components are to the requirements of the innovation and how well they can be integrated into the software process. The approach REP, chaRacterising and Exploiting Process components, has been previously proposed by the authors. It includes a characterisation framework which serves to support the comprehension and evaluation of the process components being analysed. The aim of this paper is to verify whether the approach is effective if suitably used, by means of a controlled experiment testing the ability of the characterisation framework to formalise and evaluate a process component. The results obtained show that the framework is effective provided that the experimental subjects have been given sufficient training in its use.
{"title":"REP-chaRacterising and Exploiting Process components: results of experimentation","authors":"P. Fusaro, M. Tortorella, G. Visaggio","doi":"10.1109/WCRE.1998.723172","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723172","url":null,"abstract":"Software processes require continuous innovations to improve their quality and increase their maturity. Integrating process components, proposed in previous published works, to improve a process requires the formalisation of their informal description. This requirement stems from the need to understand and evaluate how adequate the process components are to the requirements of the innovation and how well they can be integrated into the software process. The approach REP, chaRacterising and Exploiting Process components, has been previously proposed by the authors. It includes a characterisation framework which serves to support the comprehension and evaluation of the process components being analysed. The aim of this paper is to verify whether the approach is effective if suitably used, by means of a controlled experiment testing the ability of the characterisation framework to formalise and evaluate a process component. The results obtained show that the framework is effective provided that the experimental subjects have been given sufficient training in its use.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132800794","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723189
Theodoros Lantzos, H. Edwards, Anthony Bryant, Neil Willis
The reverse engineering method of object oriented systems (ROMEO) takes the source code for an existing OO system and derives a no-loss representation of the system documented in object-oriented modeling technique (OMT) format. This representation of the system is derived through the use of a series of transformations. This paper describes in detail all the transformation steps needed for the extraction of the object design, discusses the experience gained from the application of the method to a case study and outlines the tools that can support the ROMEO methodology.
{"title":"ROMEO: reverse engineering from OO source code to OMT design","authors":"Theodoros Lantzos, H. Edwards, Anthony Bryant, Neil Willis","doi":"10.1109/WCRE.1998.723189","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723189","url":null,"abstract":"The reverse engineering method of object oriented systems (ROMEO) takes the source code for an existing OO system and derives a no-loss representation of the system documented in object-oriented modeling technique (OMT) format. This representation of the system is derived through the use of a series of transformations. This paper describes in detail all the transformation steps needed for the extraction of the object design, discusses the experience gained from the application of the method to a case study and outlines the tools that can support the ROMEO methodology.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115798701","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723178
Melissa P. Chase, Steven M. Christey, David R. Harris, A. Yeh
We are employing ManSART, a software architecture recovery system, to reverse engineer large scale legacy software systems. We semi-automatically recover software structure and functionality abstractions working primarily from source code. A major technical contribution for our work is that we interpret and integrate the results of localized, language-specific source code analyses in the context of large size systems written in multiple languages.
{"title":"Managing recovered function and structure of legacy software components","authors":"Melissa P. Chase, Steven M. Christey, David R. Harris, A. Yeh","doi":"10.1109/WCRE.1998.723178","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723178","url":null,"abstract":"We are employing ManSART, a software architecture recovery system, to reverse engineer large scale legacy software systems. We semi-automatically recover software structure and functionality abstractions working primarily from source code. A major technical contribution for our work is that we interpret and integrate the results of localized, language-specific source code analyses in the context of large size systems written in multiple languages.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115905759","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723186
M. Blaha, D. LaPlant, Erica Marvak
A repository is a database that holds information about models, implementation artifacts, and their mappings. This paper concerns the use of a repository for database applications. A repository is a necessary prerequisite to leverage the full potential of reverse engineering. Fundamentally we need to document the correspondence of reverse-engineered models to the original database schema. In principle, we could document such a correspondence with a series of transformations. However, transformation theory is still evolving and model-to-schema mappings provide a more primitive basis to which transformations can be added.
{"title":"Requirements for repository software","authors":"M. Blaha, D. LaPlant, Erica Marvak","doi":"10.1109/WCRE.1998.723186","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723186","url":null,"abstract":"A repository is a database that holds information about models, implementation artifacts, and their mappings. This paper concerns the use of a repository for database applications. A repository is a necessary prerequisite to leverage the full potential of reverse engineering. Fundamentally we need to document the correspondence of reverse-engineered models to the original database schema. In principle, we could document such a correspondence with a series of transformations. However, transformation theory is still evolving and model-to-schema mappings provide a more primitive basis to which transformations can be added.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"220 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131552445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723195
S. Tilley
This panel session brings together three prominent individuals who have been actively involved in the reverse engineering community for some time. The panelists are Cristina Cifuentes from the University of Queensland, Hausi Miller from the University of Victoria, and Kostas Kontogiannis from the University of Waterloo. Cristina is a pioneer in the area of binary reverse engineering. Hausi has an established pedigree in the design and use of code-level reverse engineering tools. Kostas has explored wrapping technologies in system modernization projects with industry.Each panelist was asked to prepare a position statement addressing the topical coverage of the session: 1. What are the strengths and weaknesses of reverse engineering at ?your? level? (binary, source, or interface)2. What are the main challenges for tool developers targeting component-based distributed systems?3. Is the reverse engineering community ready for component-based distributed systems?
{"title":"The Impact of Distributed Object Technology on Reengineering II: Moving from the Middle","authors":"S. Tilley","doi":"10.1109/WCRE.1998.723195","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723195","url":null,"abstract":"This panel session brings together three prominent individuals who have been actively involved in the reverse engineering community for some time. The panelists are Cristina Cifuentes from the University of Queensland, Hausi Miller from the University of Victoria, and Kostas Kontogiannis from the University of Waterloo. Cristina is a pioneer in the area of binary reverse engineering. Hausi has an established pedigree in the design and use of code-level reverse engineering tools. Kostas has explored wrapping technologies in system modernization projects with industry.Each panelist was asked to prepare a position statement addressing the topical coverage of the session: 1. What are the strengths and weaknesses of reverse engineering at ?your? level? (binary, source, or interface)2. What are the main challenges for tool developers targeting component-based distributed systems?3. Is the reverse engineering community ready for component-based distributed systems?","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"108 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132246583","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723170
E. Burd, M. Munro
Reengineering is a necessary but expensive process. Therefore if ways of reducing the cost of reengineering can be found, then this can help to direct limited budgets to where they are most needed. This paper evaluates a number of ways in which early predictions of the benefits of performing reengineering work can be made. The early predictions estimate whether potential reuse candidates can be obtained from the reengineering process. In particular, this paper is concerned with evaluating approaches to predict the numbers of potential reuse candidates which are available within legacy applications. A number of differing approaches are proposed, each is evaluated. These evaluations range from fully automatic to fully manual tasks. The accuracy of each approach is tested against the results of the application of the full reuse reengineering method. The method used is the IDENT method. The IDENT method is a reuse reengineering approach for the identification and extraction of reuse candidates from existing COBOL legacy systems. An overview of the method is provided within this paper. By comparison of the two sets of results, the accuracy of the early estimation techniques are obtained.
{"title":"Assisting human understanding to aid the targeting of necessary reengineering work","authors":"E. Burd, M. Munro","doi":"10.1109/WCRE.1998.723170","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723170","url":null,"abstract":"Reengineering is a necessary but expensive process. Therefore if ways of reducing the cost of reengineering can be found, then this can help to direct limited budgets to where they are most needed. This paper evaluates a number of ways in which early predictions of the benefits of performing reengineering work can be made. The early predictions estimate whether potential reuse candidates can be obtained from the reengineering process. In particular, this paper is concerned with evaluating approaches to predict the numbers of potential reuse candidates which are available within legacy applications. A number of differing approaches are proposed, each is evaluated. These evaluations range from fully automatic to fully manual tasks. The accuracy of each approach is tested against the results of the application of the full reuse reengineering method. The method used is the IDENT method. The IDENT method is a reuse reengineering approach for the identification and extraction of reuse candidates from existing COBOL legacy systems. An overview of the method is provided within this paper. By comparison of the two sets of results, the accuracy of the early estimation techniques are obtained.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127261248","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1998-10-12DOI: 10.1109/WCRE.1998.723177
Richard Clayton, S. Rugaber, L. Wills
This paper is concerned with the units of knowledge used in understanding programs. A pilot study was conducted wherein a short, but complex, program was examined looking for knowledge atoms, the units from which program understanding is built. The resulting atoms were categorized along three orthogonal axes of knowledge type, design decision used, and the type of analysis required to uncover the atom. The results are discussed relative to several approaches to program understanding taken from the research literature.
{"title":"On the knowledge required to understand a program","authors":"Richard Clayton, S. Rugaber, L. Wills","doi":"10.1109/WCRE.1998.723177","DOIUrl":"https://doi.org/10.1109/WCRE.1998.723177","url":null,"abstract":"This paper is concerned with the units of knowledge used in understanding programs. A pilot study was conducted wherein a short, but complex, program was examined looking for knowledge atoms, the units from which program understanding is built. The resulting atoms were categorized along three orthogonal axes of knowledge type, design decision used, and the type of analysis required to uncover the atom. The results are discussed relative to several approaches to program understanding taken from the research literature.","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126823664","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}