Software reconstruction is a costly endeavor, due in part to the ambiguity of where to focus reengineering effort. Cohesion metrics, and particularly quantitative cohesion metrics, have the potential to aid in this identification and to measure progress. The most extensive work on such metrics is with slice-based cohesion metrics. While their use of semantic dependence information should make them an excellent choice for cohesion measurement, their wide spread use has been impeded by a lack of empirical study. Recent advances in software tools make, for the first time, a large-scale empirical study of slice-based cohesion metrics possible. Three results from such a study are presented. First, base-line values for slice-based metrics are provided. These values act as targets for reengineering efforts with modules having values outside the expected range being the most in need of attention. Second, two longitudinal studies show that slice-based metrics quantify the deterioration of a program as it ages. This serves to validate the metrics: the metrics quantify the degradation that exists during development; turning this around, the metrics can be used to measure the progress of a reengineering effort. Finally, "head-to-head" qualitative and quantitative comparisons of the metrics identify which metrics provide similar views of a program and which provide unique views of a program.
{"title":"Slice-based cohesion metrics and software intervention","authors":"Timothy M. Meyers, D. Binkley","doi":"10.1109/WCRE.2004.34","DOIUrl":"https://doi.org/10.1109/WCRE.2004.34","url":null,"abstract":"Software reconstruction is a costly endeavor, due in part to the ambiguity of where to focus reengineering effort. Cohesion metrics, and particularly quantitative cohesion metrics, have the potential to aid in this identification and to measure progress. The most extensive work on such metrics is with slice-based cohesion metrics. While their use of semantic dependence information should make them an excellent choice for cohesion measurement, their wide spread use has been impeded by a lack of empirical study. Recent advances in software tools make, for the first time, a large-scale empirical study of slice-based cohesion metrics possible. Three results from such a study are presented. First, base-line values for slice-based metrics are provided. These values act as targets for reengineering efforts with modules having values outside the expected range being the most in need of attention. Second, two longitudinal studies show that slice-based metrics quantify the deterioration of a program as it ages. This serves to validate the metrics: the metrics quantify the degradation that exists during development; turning this around, the metrics can be used to measure the progress of a reengineering effort. Finally, \"head-to-head\" qualitative and quantitative comparisons of the metrics identify which metrics provide similar views of a program and which provide unique views of a program.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"229 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121478030","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}
Current software visualisation tools do not address the full range of software comprehension requirements. This paper proposes a novel software visualisation model for supporting object-oriented software comprehension that is intended to address the shortcomings of existing tools. We discuss the previous work that prompted us to develop this model. An initial model is then presented, based on multiple levels of abstraction, multiple perspectives of the software system, and the integration of statically and dynamically extracted information. We review the evaluation tasks used in our previous work and those from the software visualisation and comprehension literature to produce a refined set of evaluation tasks. We then use these tasks to perform an initial assessment of the proposed model. The refined model is then defined more formally. Finally, a concrete example of the use of the model to generate abstraction hierarchies is discussed. We conclude that a visualisation model incorporating a hierarchy of interrelated abstraction levels, combined with structural and behavioural perspectives of the software, will provide effective support for software comprehension.
{"title":"A novel software visualisation model to support software comprehension","authors":"M. J. Pacione, M. Roper, M. Wood","doi":"10.1109/WCRE.2004.7","DOIUrl":"https://doi.org/10.1109/WCRE.2004.7","url":null,"abstract":"Current software visualisation tools do not address the full range of software comprehension requirements. This paper proposes a novel software visualisation model for supporting object-oriented software comprehension that is intended to address the shortcomings of existing tools. We discuss the previous work that prompted us to develop this model. An initial model is then presented, based on multiple levels of abstraction, multiple perspectives of the software system, and the integration of statically and dynamically extracted information. We review the evaluation tasks used in our previous work and those from the software visualisation and comprehension literature to produce a refined set of evaluation tasks. We then use these tasks to perform an initial assessment of the proposed model. The refined model is then defined more formally. Finally, a concrete example of the use of the model to generate abstraction hierarchies is discussed. We conclude that a visualisation model incorporating a hierarchy of interrelated abstraction levels, combined with structural and behavioural perspectives of the software, will provide effective support for software comprehension.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121141796","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}
V. Garcia, D. Lucrédio, A. F. Prado, Alexandre Alvaro, E. Almeida
Currently, the demand for the reverse engineering has been growing significantly. The need of different business sectors to adapt their systems to Web or to use other technologies is stimulating the research for methods, tools and infrastructures that support the evolution of existing applications. We present the main research trends on reverse engineering, and discuss how should be an efficient reverse engineering approach, aiming at higher reuse levels.
{"title":"Towards an effective approach for reverse engineering","authors":"V. Garcia, D. Lucrédio, A. F. Prado, Alexandre Alvaro, E. Almeida","doi":"10.1109/WCRE.2004.39","DOIUrl":"https://doi.org/10.1109/WCRE.2004.39","url":null,"abstract":"Currently, the demand for the reverse engineering has been growing significantly. The need of different business sectors to adapt their systems to Web or to use other technologies is stimulating the research for methods, tools and infrastructures that support the evolution of existing applications. We present the main research trends on reverse engineering, and discuss how should be an efficient reverse engineering approach, aiming at higher reuse levels.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"257 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132223120","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}
The evaluation of results obtained from software clustering algorithms has attracted the attention of many reverse engineering researchers. Several methods that compare flat decompositions of software systems have been presented in the literature. However, software clustering algorithms often produce nested decompositions. Converting nested decompositions to flat ones in order to compare them may remove significant information. We introduce a framework called END that reuses comparison methods for flat decompositions in order to compare nested decompositions without loss of information. We also present experimental results with END using several existing methods as plugins that demonstrate its usefulness.
{"title":"A framework for the comparison of nested software decompositions","authors":"Mark Shtern, Vassilios Tzerpos","doi":"10.1109/WCRE.2004.6","DOIUrl":"https://doi.org/10.1109/WCRE.2004.6","url":null,"abstract":"The evaluation of results obtained from software clustering algorithms has attracted the attention of many reverse engineering researchers. Several methods that compare flat decompositions of software systems have been presented in the literature. However, software clustering algorithms often produce nested decompositions. Converting nested decompositions to flat ones in order to compare them may remove significant information. We introduce a framework called END that reuses comparison methods for flat decompositions in order to compare nested decompositions without loss of information. We also present experimental results with END using several existing methods as plugins that demonstrate its usefulness.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"119 28","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131913852","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}
This work describes source-code independent reverse engineering of dynamic Web sites. The tool Revangie constructs a form-oriented analysis model solely from the usage of a Web application. The recovered models can be, for example, exploited for the purpose of requirements engineering and load test development. Revangie can explore a given Web application fully automatically or can passively record its usages. The collected data, i.e., data about screens, server-side programs, and system responsiveness, are analyzed in order to build a user interface model. The paper presents several useful classification techniques that can be utilized to reconstruct adequate models.
{"title":"Generator code opaque recovery of form-oriented Web site models","authors":"D. Draheim, C. Lutteroth, Gerald Weber","doi":"10.1109/WCRE.2004.22","DOIUrl":"https://doi.org/10.1109/WCRE.2004.22","url":null,"abstract":"This work describes source-code independent reverse engineering of dynamic Web sites. The tool Revangie constructs a form-oriented analysis model solely from the usage of a Web application. The recovered models can be, for example, exploited for the purpose of requirements engineering and load test development. Revangie can explore a given Web application fully automatically or can passively record its usages. The collected data, i.e., data about screens, server-side programs, and system responsiveness, are analyzed in order to build a user interface model. The paper presents several useful classification techniques that can be utilized to reconstruct adequate models.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129852516","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}