Impact analysis is the identification of the work products affected by a proposed change request, either a bug fix or a new feature demand. Jimpa is a plug-in for Eclipse that implements an impact analysis approach based on data stored in software repositories, such as CVS and Bugzilla. Plug-in architecture and functionalities are presented
{"title":"Jimpa: An Eclipse plug-in for impact analysis","authors":"G. Canfora, L. Cerulo","doi":"10.1109/CSMR.2006.30","DOIUrl":"https://doi.org/10.1109/CSMR.2006.30","url":null,"abstract":"Impact analysis is the identification of the work products affected by a proposed change request, either a bug fix or a new feature demand. Jimpa is a plug-in for Eclipse that implements an impact analysis approach based on data stored in software repositories, such as CVS and Bugzilla. Plug-in architecture and functionalities are presented","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129736808","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}
Mauricio Seeberger, Adrian Kuhn, Tudor Gîrba, Stéphane Ducasse
To understand a certain issue of the system we want to ask the knowledgeable developers. Yet, in large systems, not every developer is knowledgeable in all the details of the system. Thus, we would want to know which developer is knowledgeable in the issue at hand. In this paper we present the Chronia tool that implements the Ownership Map visualization to understand when and how different developers interacted in which way and in which part of the system
{"title":"Chronia: visualizing how developers change software systems","authors":"Mauricio Seeberger, Adrian Kuhn, Tudor Gîrba, Stéphane Ducasse","doi":"10.1109/CSMR.2006.15","DOIUrl":"https://doi.org/10.1109/CSMR.2006.15","url":null,"abstract":"To understand a certain issue of the system we want to ask the knowledgeable developers. Yet, in large systems, not every developer is knowledgeable in all the details of the system. Thus, we would want to know which developer is knowledgeable in the issue at hand. In this paper we present the Chronia tool that implements the Ownership Map visualization to understand when and how different developers interacted in which way and in which part of the system","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124940010","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 paper describes an approach for the migration of supervisory machine control architectures. This migration, from a paradigm based on finite-state machines to a paradigm based on task-resource systems, is described in terms of model transformations. We propose a generic migration approach that involves normalising a legacy architecture that, in turn, is transformed. Based on the architecture of a controller of a complex manufacturing machine, a wafer scanner developed by ASML, we define a number of concerns and corresponding architectural transformation rules
{"title":"Migrating supervisory control architectures using model transformations","authors":"B. Graaf, Sven Weber, A. Deursen","doi":"10.1109/CSMR.2006.35","DOIUrl":"https://doi.org/10.1109/CSMR.2006.35","url":null,"abstract":"This paper describes an approach for the migration of supervisory machine control architectures. This migration, from a paradigm based on finite-state machines to a paradigm based on task-resource systems, is described in terms of model transformations. We propose a generic migration approach that involves normalising a legacy architecture that, in turn, is transformed. Based on the architecture of a controller of a complex manufacturing machine, a wafer scanner developed by ASML, we define a number of concerns and corresponding architectural transformation rules","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"13 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126138926","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}
There are some concerns in the research community about the convenience of using low-level metrics (such as SLOC, source lines of code) for characterizing the evolution of software, instead of the more traditional higher lever metrics (such as the number of modules or files). This issue has been raised in particular after some studies that suggest that libre (free, open source) software evolves differently than 'traditional' software, and therefore it does not conform to Lehman's laws of software evolution. Since those studies on libre software evolution use SLOCs as the base metric, while Lehman's and other traditional studies use modules or files, it is difficult to compare both cases. To overcome this difficulty, and to explore the differences between SLOC and files/modules counts in libre software projects, we have selected a large sample of programs and have calculated both size metrics over time. Our study shows that in those cases the evolution patterns in both cases (counting SLOCs or files) is the same, and that some patterns not conforming to Lehman's laws are indeed apparent
{"title":"Comparison between SLOCs and number of files as size metrics for software evolution analysis","authors":"I. Herraiz, G. Robles, Jesus M. Gonzalez-Barahona","doi":"10.1109/CSMR.2006.17","DOIUrl":"https://doi.org/10.1109/CSMR.2006.17","url":null,"abstract":"There are some concerns in the research community about the convenience of using low-level metrics (such as SLOC, source lines of code) for characterizing the evolution of software, instead of the more traditional higher lever metrics (such as the number of modules or files). This issue has been raised in particular after some studies that suggest that libre (free, open source) software evolves differently than 'traditional' software, and therefore it does not conform to Lehman's laws of software evolution. Since those studies on libre software evolution use SLOCs as the base metric, while Lehman's and other traditional studies use modules or files, it is difficult to compare both cases. To overcome this difficulty, and to explore the differences between SLOC and files/modules counts in libre software projects, we have selected a large sample of programs and have calculated both size metrics over time. Our study shows that in those cases the evolution patterns in both cases (counting SLOCs or files) is the same, and that some patterns not conforming to Lehman's laws are indeed apparent","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"161 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130171720","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}
G. Costagliola, A. D. Lucia, V. Deufemia, C. Gravino, M. Risi
In this paper, we present case studies of recovering structural design patterns from object-oriented source code. The proposed recovery technique is based on the use of visual language parsing techniques, and is supported by a visual environment automatically produced by a grammar based visual environment generator. We have applied the recovery technique to public-domain programs and libraries obtaining encouraging results. In particular, for the considered software our recovery approach is characterized by higher recall and precision values with respect to other recovery techniques
{"title":"Case studies of visual language based design patterns recovery","authors":"G. Costagliola, A. D. Lucia, V. Deufemia, C. Gravino, M. Risi","doi":"10.1109/CSMR.2006.14","DOIUrl":"https://doi.org/10.1109/CSMR.2006.14","url":null,"abstract":"In this paper, we present case studies of recovering structural design patterns from object-oriented source code. The proposed recovery technique is based on the use of visual language parsing techniques, and is supported by a visual environment automatically produced by a grammar based visual environment generator. We have applied the recovery technique to public-domain programs and libraries obtaining encouraging results. In particular, for the considered software our recovery approach is characterized by higher recall and precision values with respect to other recovery techniques","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128033187","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}
Web applications design methodologies hold the promise of engineering high-quality and long-lived Web systems and rich Internet applications. However, many such methodologies focus solely on green-field development, and do not properly address the situation of leveraging the value locked in legacy systems. This paper proposes a holistic approach to redesigning legacy applications for the Web using the ubiquitous Web applications design framework (UWA) and an extended version of its transaction design model (UWAT+). The approach blends design recovery technologies for capturing the know-how embedded in the legacy application with forward design methods particularly well suited for Web-based systems
{"title":"Towards a holistic approach to redesigning legacy applications for the Web with UWAT+","authors":"Damiano Distante, S. Tilley, G. Canfora","doi":"10.1109/CSMR.2006.55","DOIUrl":"https://doi.org/10.1109/CSMR.2006.55","url":null,"abstract":"Web applications design methodologies hold the promise of engineering high-quality and long-lived Web systems and rich Internet applications. However, many such methodologies focus solely on green-field development, and do not properly address the situation of leveraging the value locked in legacy systems. This paper proposes a holistic approach to redesigning legacy applications for the Web using the ubiquitous Web applications design framework (UWA) and an extended version of its transaction design model (UWAT+). The approach blends design recovery technologies for capturing the know-how embedded in the legacy application with forward design methods particularly well suited for Web-based systems","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123749728","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}
Adapting software components usable by a particular application is a crucial issue in software component based technology. In fact, software components can be used in contexts that can be different from the context assumptions made by the component designers. We present in this paper a tool aiming at adapting software component structure. Among the motivations of this kind of adaptation, we note its possible application to prepare a flexible deployment of software components according to the available resources (CPU, memory). Our adaptation process is based on refactoring and fragmentation of component source code. To support this structural adaptation technique, we developed an adaptation process which we have experimented using the Java framework of the Fractal component model
{"title":"A refactoring-based tool for software component adaptation","authors":"Gautier Bastide","doi":"10.1109/CSMR.2006.6","DOIUrl":"https://doi.org/10.1109/CSMR.2006.6","url":null,"abstract":"Adapting software components usable by a particular application is a crucial issue in software component based technology. In fact, software components can be used in contexts that can be different from the context assumptions made by the component designers. We present in this paper a tool aiming at adapting software component structure. Among the motivations of this kind of adaptation, we note its possible application to prepare a flexible deployment of software components according to the available resources (CPU, memory). Our adaptation process is based on refactoring and fragmentation of component source code. To support this structural adaptation technique, we developed an adaptation process which we have experimented using the Java framework of the Fractal component model","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134314951","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}
It is known that well over 50% of replacement projects fail. Requirements gathering go someway to contributing to this statistic; if the requirements we gather for the new system do not match those of the system to be replaced then the project is bound to fail, at least in part. This paper proposes an empirical metric that assists measuring the confidence in the requirements extracted from a legacy system. This metric capitalises on five techniques for gathering requirements from legacy systems and caters for a number of different types of project. The metric can be used to estimate the likelihood of a project's success or failure and is evaluated by two industrial case studies; conclusions are drawn from these and directions for further work are presented
{"title":"A metric of confidence in requirements gathered from legacy systems: two industrial case studies","authors":"J. Marchant, Christos Tjortjis, M. Turega","doi":"10.1109/CSMR.2006.5","DOIUrl":"https://doi.org/10.1109/CSMR.2006.5","url":null,"abstract":"It is known that well over 50% of replacement projects fail. Requirements gathering go someway to contributing to this statistic; if the requirements we gather for the new system do not match those of the system to be replaced then the project is bound to fail, at least in part. This paper proposes an empirical metric that assists measuring the confidence in the requirements extracted from a legacy system. This metric capitalises on five techniques for gathering requirements from legacy systems and caters for a number of different types of project. The metric can be used to estimate the likelihood of a project's success or failure and is evaluated by two industrial case studies; conclusions are drawn from these and directions for further work are presented","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130666590","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}
J. Knodel, Dirk Muthig, Matthias Naab, M. Lindvall
The software architecture is one of the most crucial artifacts within the lifecycle of a software system. Decisions made at the architectural level directly enable, facilitate, hamper, or interfere with the achievement of business goals, functional and quality requirements. Architecture evaluations play an important role in the development and evolution of software systems since they determine how adequate the architecture is for its intended usage. This paper summarizes our practical experience with using architecture evaluations and gives an overview on when and how static architecture evaluations contribute to architecture development. We identify ten distinct purposes and needs for static architecture evaluations and illustrate them using a set of industrial and academic case studies. In particular, we show how subsequent steps in architecture development are influenced by the results from architecture evaluations
{"title":"Static evaluation of software architectures","authors":"J. Knodel, Dirk Muthig, Matthias Naab, M. Lindvall","doi":"10.1109/CSMR.2006.53","DOIUrl":"https://doi.org/10.1109/CSMR.2006.53","url":null,"abstract":"The software architecture is one of the most crucial artifacts within the lifecycle of a software system. Decisions made at the architectural level directly enable, facilitate, hamper, or interfere with the achievement of business goals, functional and quality requirements. Architecture evaluations play an important role in the development and evolution of software systems since they determine how adequate the architecture is for its intended usage. This paper summarizes our practical experience with using architecture evaluations and gives an overview on when and how static architecture evaluations contribute to architecture development. We identify ten distinct purposes and needs for static architecture evaluations and illustrate them using a set of industrial and academic case studies. In particular, we show how subsequent steps in architecture development are influenced by the results from architecture evaluations","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128909727","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 increasing importance of Web-based applications and the use of new Internet protocols for building service oriented applications point to new directions in the construction of this kind of systems. New challenges and problems arise when moving to a service oriented approach. Many times, the implementation of real scenarios using Web services involves the use of context information according to the user needs. In this paper, we provide a scalable software architecture that can be used for different types of context-aware systems and in particular in service-oriented applications
{"title":"Context-aware architectures for building service-oriented systems","authors":"Rafael Capilla","doi":"10.1109/CSMR.2006.22","DOIUrl":"https://doi.org/10.1109/CSMR.2006.22","url":null,"abstract":"The increasing importance of Web-based applications and the use of new Internet protocols for building service oriented applications point to new directions in the construction of this kind of systems. New challenges and problems arise when moving to a service oriented approach. Many times, the implementation of real scenarios using Web services involves the use of context information according to the user needs. In this paper, we provide a scalable software architecture that can be used for different types of context-aware systems and in particular in service-oriented applications","PeriodicalId":443362,"journal":{"name":"Conference on Software Maintenance and Reengineering (CSMR'06)","volume":"167 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130265989","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}