Pub Date : 2003-03-26DOI: 10.1109/CSMR.2003.1192427
Mahmoud O. Elish, D. Rine
As changes are made to an object-oriented design, its structure and/or behavior may be affected. Modifications made to one class can have ripple effects on other classes in the design. The stability of an object-oriented design indicates its resistance to interclass propagation of changes that the design would have when it is modified There are two aspects of design stability: logical stability and performance stability. Logical stability is concerned with design structure, whereas performance stability is concerned with design behavior. In this study, the object-oriented design metrics proposed by Chidamber and Kemerer (1994) were adopted as candidate indicators of the logical stability of object-oriented designs. The objective was to investigate whether or not there are correlations between these metrics and the logical stability of classes. The experimental results indicated that WMC, DIT CBO, RFC, and LCOM metrics are negatively correlated with the logical stability of classes. However, no correlation was found between NOC metric and the logical stability of classes.
{"title":"Investigation of metrics for object-oriented design logical stability","authors":"Mahmoud O. Elish, D. Rine","doi":"10.1109/CSMR.2003.1192427","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192427","url":null,"abstract":"As changes are made to an object-oriented design, its structure and/or behavior may be affected. Modifications made to one class can have ripple effects on other classes in the design. The stability of an object-oriented design indicates its resistance to interclass propagation of changes that the design would have when it is modified There are two aspects of design stability: logical stability and performance stability. Logical stability is concerned with design structure, whereas performance stability is concerned with design behavior. In this study, the object-oriented design metrics proposed by Chidamber and Kemerer (1994) were adopted as candidate indicators of the logical stability of object-oriented designs. The objective was to investigate whether or not there are correlations between these metrics and the logical stability of classes. The experimental results indicated that WMC, DIT CBO, RFC, and LCOM metrics are negatively correlated with the logical stability of classes. However, no correlation was found between NOC metric and the logical stability of classes.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128789805","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192429
Peter J. Clarke, B. Malloy, J. Gibson
In this paper, we present a taxonomy that allows the maintainer to catalog OO classes based on the characteristics of the class. The characteristics of a class include the properties of data items and methods, as well as the relationships with other classes in the application. We construct a tool to track changes across multiple releases of software applications containing hundreds of classes, providing information about each changed class. Our tool identifies class changes in terms of the characteristics exhibited by classes with the same name in different releases of an application.
{"title":"Using a taxonomy tool to identify changes in OO software","authors":"Peter J. Clarke, B. Malloy, J. Gibson","doi":"10.1109/CSMR.2003.1192429","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192429","url":null,"abstract":"In this paper, we present a taxonomy that allows the maintainer to catalog OO classes based on the characteristics of the class. The characteristics of a class include the properties of data items and methods, as well as the relationships with other classes in the application. We construct a tool to track changes across multiple releases of software applications containing hundreds of classes, providing information about each changed class. Our tool identifies class changes in terms of the characteristics exhibited by classes with the same name in different releases of an application.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131782064","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192428
Lerina Aversano, M. Tortorella
The enactment of eBusiness processes requires the effective usage of the existing legacy applications in the eBusiness initiatives. Therefore, technical issues are not enough to drive the evolution of the existing legacy applications, but it is necessary to consider also problems concerning the perspectives, strategies, and businesses of the enterprises. In particular, there is a strict relationship between the evolution of the legacy system and the evolution of the eBusiness process. In order to support this evolution this paper proposes an approach to extract the requirements for a legacy system evolution from the requirements of the eBusiness process evolution. The proposed approach aims to characterize the software system within the whole environment in which its evolution will be performed It provides a set of parameters that are useful to address technical, process, and organizational issues.
{"title":"Evolving legacy system toward eLegacy system in eBusiness context","authors":"Lerina Aversano, M. Tortorella","doi":"10.1109/CSMR.2003.1192428","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192428","url":null,"abstract":"The enactment of eBusiness processes requires the effective usage of the existing legacy applications in the eBusiness initiatives. Therefore, technical issues are not enough to drive the evolution of the existing legacy applications, but it is necessary to consider also problems concerning the perspectives, strategies, and businesses of the enterprises. In particular, there is a strict relationship between the evolution of the legacy system and the evolution of the eBusiness process. In order to support this evolution this paper proposes an approach to extract the requirements for a legacy system evolution from the requirements of the eBusiness process evolution. The proposed approach aims to characterize the software system within the whole environment in which its evolution will be performed It provides a set of parameters that are useful to address technical, process, and organizational issues.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134397053","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192421
G. Jeyaraman, K. Krishnamurthy, V. Raveendra
Experience in reengineering a legacy application into a web based J2EE system with modified Rational Unified Process (RUP) is presented RUP is adopted into an onsite-offshore development model along with ISO 9001 and SEI CMM Level 5 standards. The new application has above 2500 code components and the effort is about 100 person years. For the benefit of software development community, some of our experiences in design, development, testing and project management are elaborated as generalized concepts. We have demonstrated that development process could be improved with lessons learnt from the initial iterations. The three views of a Web application are explained and the translations between the layers are discussed. Benefit of continuous integration is highlighted. Various types of dependencies to be taken into account for sequencing the development are elaborated. The levels of testing in iterative development are mentioned. The importance of adaptive team structure and various parameters guiding iteration planning are dealt with. A simple estimation model based on types of transactions is presented. Finally, a fine grained risk management concept that can integrate with the development process is proposed.
{"title":"Reengineering legacy application to e-business with modified Rational Unified Process","authors":"G. Jeyaraman, K. Krishnamurthy, V. Raveendra","doi":"10.1109/CSMR.2003.1192421","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192421","url":null,"abstract":"Experience in reengineering a legacy application into a web based J2EE system with modified Rational Unified Process (RUP) is presented RUP is adopted into an onsite-offshore development model along with ISO 9001 and SEI CMM Level 5 standards. The new application has above 2500 code components and the effort is about 100 person years. For the benefit of software development community, some of our experiences in design, development, testing and project management are elaborated as generalized concepts. We have demonstrated that development process could be improved with lessons learnt from the initial iterations. The three views of a Web application are explained and the translations between the layers are discussed. Benefit of continuous integration is highlighted. Various types of dependencies to be taken into account for sequencing the development are elaborated. The levels of testing in iterative development are mentioned. The importance of adaptive team structure and various parameters guiding iteration planning are dealt with. A simple estimation model based on types of transactions is presented. Finally, a fine grained risk management concept that can integrate with the development process is proposed.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123216766","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192410
Rafael Capilla, Juan C. Dueñas
Software reengineering and maintenance are two classical activities in software engineering. Today, software maintenance is a time consuming task because requirements change and evolve frequently. Moreover, in certain domains, such as the Web domain is, these changes happen very often. In this way, new techniques to engineer Web sites are needed in order to reduce the time to market of Web products. In this work we describe the process of creation of a product-line using reengineering techniques, from already available products, applied to the Web domain. The aims of setting-up this product-line are to ease the maintenance of Web sites, and to accelerate the development of new ones. A product-line captures the common and variable aspects of software systems as key assets, under a common architecture in order to reduce the time to market of new software products; and software companies are increasingly adopting this approach. The reason for this is because Web maintenance operations must be often performed in a very short time, frequently motivated by changes in the customer requirements that usually expect to obtain results in a few days or weeks.
{"title":"Light-weight product-lines for evolution and maintenance of Web sites","authors":"Rafael Capilla, Juan C. Dueñas","doi":"10.1109/CSMR.2003.1192410","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192410","url":null,"abstract":"Software reengineering and maintenance are two classical activities in software engineering. Today, software maintenance is a time consuming task because requirements change and evolve frequently. Moreover, in certain domains, such as the Web domain is, these changes happen very often. In this way, new techniques to engineer Web sites are needed in order to reduce the time to market of Web products. In this work we describe the process of creation of a product-line using reengineering techniques, from already available products, applied to the Web domain. The aims of setting-up this product-line are to ease the maintenance of Web sites, and to accelerate the development of new ones. A product-line captures the common and variable aspects of software systems as key assets, under a common architecture in order to reduce the time to market of new software products; and software companies are increasingly adopting this approach. The reason for this is because Web maintenance operations must be often performed in a very short time, frequently motivated by changes in the customer requirements that usually expect to obtain results in a few days or weeks.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123745314","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192420
Ye Wu, J. Offutt
Component-based software engineering is increasingly being adopted for software development. This approach relies on using reusable components as the building blocks for constructing software. On the one hand, this helps improve software quality and productivity; on the other hand, it necessitates frequent maintenance activities. The cost. of maintenance for conventional software can account for as much as two-thirds of the total cost, and it is likely to be more for component-based software. This paper presents a UML-based technique that attempts to help resolve difficulties introduced by the implementation transparent characteristics of component-based software systems. This technique can also be useful for other maintenance activities. For corrective maintenance activities, the technique starts with UML diagrams that represent changes to a component, and uses them to support regression testing. To accommodate this approach for perfective maintenance activities, more challenges are encountered. We provide a UML-based framework to evaluate the similarities of the old and new components, and corresponding retesting strategies are provided.
{"title":"Maintaining evolving component-based software with UML","authors":"Ye Wu, J. Offutt","doi":"10.1109/CSMR.2003.1192420","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192420","url":null,"abstract":"Component-based software engineering is increasingly being adopted for software development. This approach relies on using reusable components as the building blocks for constructing software. On the one hand, this helps improve software quality and productivity; on the other hand, it necessitates frequent maintenance activities. The cost. of maintenance for conventional software can account for as much as two-thirds of the total cost, and it is likely to be more for component-based software. This paper presents a UML-based technique that attempts to help resolve difficulties introduced by the implementation transparent characteristics of component-based software systems. This technique can also be useful for other maintenance activities. For corrective maintenance activities, the technique starts with UML diagrams that represent changes to a component, and uses them to support regression testing. To accommodate this approach for perfective maintenance activities, more challenges are encountered. We provide a UML-based framework to evaluate the similarities of the old and new components, and corresponding retesting strategies are provided.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125398592","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192435
B. S. Rao, N. L. Sarda
We establish the context of software maintenance outsourcing of large commercial systems and discuss the problem of estimating the maintenance effort in absence of key parameters such as development effort and maintenance history. To arrive at the drivers that could have a significant effect on the maintenance effort, an experiment was conducted at Syntel, a NASDAQ listed application management and e-business solutions company. We present the list of possible drivers, the profile of the people who participated in the experiment, the details of the 36 experiments and the statistical analysis of the experiment based on Taguchi's methodology. For a system whose size parameter in terms of lines of code is known, we conclude that the five most significant parameters that effect the efforts of maintenance are a)the multi time zone support, b)average number of lines per program, c)percentage of online programs in the total system, d)the nature of service level agreements and e)the complexity of the file system being used.
{"title":"Effort drivers in maintenance outsourcing-an experiment using Taguchi's methodology","authors":"B. S. Rao, N. L. Sarda","doi":"10.1109/CSMR.2003.1192435","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192435","url":null,"abstract":"We establish the context of software maintenance outsourcing of large commercial systems and discuss the problem of estimating the maintenance effort in absence of key parameters such as development effort and maintenance history. To arrive at the drivers that could have a significant effect on the maintenance effort, an experiment was conducted at Syntel, a NASDAQ listed application management and e-business solutions company. We present the list of possible drivers, the profile of the people who participated in the experiment, the details of the 36 experiments and the statistical analysis of the experiment based on Taguchi's methodology. For a system whose size parameter in terms of lines of code is known, we conclude that the five most significant parameters that effect the efforts of maintenance are a)the multi time zone support, b)average number of lines per program, c)percentage of online programs in the total system, d)the nature of service level agreements and e)the complexity of the file system being used.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117174663","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192449
Dean Jin, J. Cordy, T. Dean
We present a proposal for a novel approach to facilitating transparent interoperability among reverse engineering tools. We characterize the architectural and operational characteristics of reverse engineering tools and demonstrate that many similarities exist among them. Taking full advantage of these similarities, we outline an approach for creating a domain ontology of operational and representational concepts for a given set of tools. A special adapter is proposed that makes use of this ontology, to facilitate transparent interoperability among them.
{"title":"Transparent reverse engineering tool integration using a conceptual transaction adapter","authors":"Dean Jin, J. Cordy, T. Dean","doi":"10.1109/CSMR.2003.1192449","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192449","url":null,"abstract":"We present a proposal for a novel approach to facilitating transparent interoperability among reverse engineering tools. We characterize the architectural and operational characteristics of reverse engineering tools and demonstrate that many similarities exist among them. Taking full advantage of these similarities, we outline an approach for creating a domain ontology of operational and representational concepts for a given set of tools. A special adapter is proposed that makes use of this ontology, to facilitate transparent interoperability among them.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127088656","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192408
Wolfgang Lohmann, G. Riedewald
The paper addresses two problems in software maintenance. Firstly, some maintenance tasks require modifications of the grammar. A change in a grammar can make abstract syntax and transformation rules outdated, which then themselves become subject to a maintenance process. Secondly, it is essential that after a repair programs look as much as possible as they looked before. Especially comments and principle readability by humans are indispensable for further maintenance. We argue that necessary changes of both abstract syntax and transformation rules due to grammar extension can be made automatically. Thus, most of the original rules can be reused. The approach can be used to define and use simplified views on complex patterns to be analysed with transformation rules. To give an example we apply the described technique to rule-based program transformations extended with partial layout preservation. The migration relation is given. The programmer uses common rewriting techniques for program transformation without taking care of layout, which then is automatically included.
{"title":"Towards automatical migration of transformation rules after grammar extension","authors":"Wolfgang Lohmann, G. Riedewald","doi":"10.1109/CSMR.2003.1192408","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192408","url":null,"abstract":"The paper addresses two problems in software maintenance. Firstly, some maintenance tasks require modifications of the grammar. A change in a grammar can make abstract syntax and transformation rules outdated, which then themselves become subject to a maintenance process. Secondly, it is essential that after a repair programs look as much as possible as they looked before. Especially comments and principle readability by humans are indispensable for further maintenance. We argue that necessary changes of both abstract syntax and transformation rules due to grammar extension can be made automatically. Thus, most of the original rules can be reused. The approach can be used to define and use simplified views on complex patterns to be analysed with transformation rules. To give an example we apply the described technique to rule-based program transformations extended with partial layout preservation. The migration relation is given. The programmer uses common rewriting techniques for program transformation without taking care of layout, which then is automatically included.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132163834","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 : 2003-03-26DOI: 10.1109/CSMR.2003.1192431
D. Draheim, Elfriede Fehr, Gerald Weber
This paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.
{"title":"JSPick-a server pages design recovery tool","authors":"D. Draheim, Elfriede Fehr, Gerald Weber","doi":"10.1109/CSMR.2003.1192431","DOIUrl":"https://doi.org/10.1109/CSMR.2003.1192431","url":null,"abstract":"This paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.","PeriodicalId":236632,"journal":{"name":"Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings.","volume":"45 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133695483","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}