Pub Date : 2008-04-01DOI: 10.1109/CSMR.2008.4493332
R. Oliveto
This research abstract analyses the strengths and limitations of the application of information retrieval (IR) methods for traceability link recovery between software artefacts. This work also shows how the ideas behind an IR-based traceability recovery process combined with traceability information can be used to improve and monitor software artefact quality during software development.
{"title":"Traceability Management meets Information Retrieval Methods - Strengths and Limitations","authors":"R. Oliveto","doi":"10.1109/CSMR.2008.4493332","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493332","url":null,"abstract":"This research abstract analyses the strengths and limitations of the application of information retrieval (IR) methods for traceability link recovery between software artefacts. This work also shows how the ideas behind an IR-based traceability recovery process combined with traceability information can be used to improve and monitor software artefact quality during software development.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132064618","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493313
E. Figueiredo, C. Sant'Anna, Alessandro F. Garcia, T. Bartolomei, W. Cazzola, A. Marchetto
Aspect-oriented design needs to be systematically assessed with respect to modularity flaws caused by the realization of driving system concerns, such as tangling, scattering, and excessive concern dependencies. As a result, innovative concern metrics have been defined to support quantitative analyses of concern's properties. However, the vast majority of these measures have not yet being theoretically validated and managed to get accepted in the academic or industrial settings. The core reason for this problem is the fact that they have not been built by using a clearly-defined terminology and criteria. This paper defines a concern-oriented framework that supports the instantiation and comparison of concern measures. The framework subsumes the definition of a core terminology and criteria in order to lay down a rigorous process to foster the definition of meaningful and well-founded concern measures. In order to evaluate the framework generality, we demonstrate the framework instantiation and extension to a number of concern measures suites previously used in empirical studies of aspect-oriented software maintenance.
{"title":"On the Maintainability of Aspect-Oriented Software: A Concern-Oriented Measurement Framework","authors":"E. Figueiredo, C. Sant'Anna, Alessandro F. Garcia, T. Bartolomei, W. Cazzola, A. Marchetto","doi":"10.1109/CSMR.2008.4493313","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493313","url":null,"abstract":"Aspect-oriented design needs to be systematically assessed with respect to modularity flaws caused by the realization of driving system concerns, such as tangling, scattering, and excessive concern dependencies. As a result, innovative concern metrics have been defined to support quantitative analyses of concern's properties. However, the vast majority of these measures have not yet being theoretically validated and managed to get accepted in the academic or industrial settings. The core reason for this problem is the fact that they have not been built by using a clearly-defined terminology and criteria. This paper defines a concern-oriented framework that supports the instantiation and comparison of concern measures. The framework subsumes the definition of a core terminology and criteria in order to lay down a rigorous process to foster the definition of meaningful and well-founded concern measures. In order to evaluate the framework generality, we demonstrate the framework instantiation and extension to a number of concern measures suites previously used in empirical studies of aspect-oriented software maintenance.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132114567","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493297
A. Gregersen, B. Jørgensen
Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.
{"title":"Module Reload through Dynamic Update - The Case of NetBeans","authors":"A. Gregersen, B. Jørgensen","doi":"10.1109/CSMR.2008.4493297","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493297","url":null,"abstract":"Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131644663","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493300
M. Ceccato, P. Tonella, C. Matteotti
Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We have been recently involved in a migration project aiming at porting an old, large (8 MLOC) legacy banking system to a modern architecture. The goal of the project is: (I) moving from an old, proprietary language to Java; (2) replacing ISAM indexed files with a relational database; (3) upgrading the character oriented interface to a modern GUI. One of the steps in the migration process deals with the elimination of unstructured code (unconditional jumps such as GOTO statements). In this paper we present four alternative strategies for GOTO elimination that we evaluated in the project. Each has pros and cons, but when used in a real case, it turned out that one produced completely unreadable code, hence it was discarded. The final choice was a combination of the three remaining strategies.
{"title":"Goto Elimination Strategies in the Migration of Legacy Code to Java","authors":"M. Ceccato, P. Tonella, C. Matteotti","doi":"10.1109/CSMR.2008.4493300","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493300","url":null,"abstract":"Legacy systems are often large and difficult to maintain, but rewriting them from scratch is usually not a viable option. Reenginering remains the only way to modernize them. We have been recently involved in a migration project aiming at porting an old, large (8 MLOC) legacy banking system to a modern architecture. The goal of the project is: (I) moving from an old, proprietary language to Java; (2) replacing ISAM indexed files with a relational database; (3) upgrading the character oriented interface to a modern GUI. One of the steps in the migration process deals with the elimination of unstructured code (unconditional jumps such as GOTO statements). In this paper we present four alternative strategies for GOTO elimination that we evaluated in the project. Each has pros and cons, but when used in a real case, it turned out that one produced completely unreadable code, hence it was discarded. The final choice was a combination of the three remaining strategies.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131003093","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493347
A. Seriai
The goal of this workshop is to exchange opinions, advance ideas, and discuss the state of the art of approaches and results among researchers and practitioners who investigate software engineering concepts, methodologies, and tools to design and evolve self-adaptive software. Adaptability is considered as a critical enabling capability for many software-based systems, which must adapt themselves to changing conditions in both the supporting computing and communication infrastructure, as well as in the surrounding physical environment.
{"title":"SASE 2008: First Workshop on Self-Adaptive Software Engineering","authors":"A. Seriai","doi":"10.1109/CSMR.2008.4493347","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493347","url":null,"abstract":"The goal of this workshop is to exchange opinions, advance ideas, and discuss the state of the art of approaches and results among researchers and practitioners who investigate software engineering concepts, methodologies, and tools to design and evolve self-adaptive software. Adaptability is considered as a critical enabling capability for many software-based systems, which must adapt themselves to changing conditions in both the supporting computing and communication infrastructure, as well as in the surrounding physical environment.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131014021","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493330
S. Bryton, Fernando Brito e Abreu
Refactoring, in spite of widely acknowledged as one of the best practices of object-oriented design and programming, still lacks quantitative grounds and efficient tools for tasks such as detecting smells, choosing the most appropriate refactoring or validating the goodness of changes. This is a proposal for a method, supported by a tool, for cross-paradigm refactoring (e.g. from OOP to AOP), based on paradigm and formalism-independent modularity assessment.
{"title":"Modularity-Oriented Refactoring","authors":"S. Bryton, Fernando Brito e Abreu","doi":"10.1109/CSMR.2008.4493330","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493330","url":null,"abstract":"Refactoring, in spite of widely acknowledged as one of the best practices of object-oriented design and programming, still lacks quantitative grounds and efficient tools for tasks such as detecting smells, choosing the most appropriate refactoring or validating the goodness of changes. This is a proposal for a method, supported by a tool, for cross-paradigm refactoring (e.g. from OOP to AOP), based on paradigm and formalism-independent modularity assessment.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"8 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114091505","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493348
D. Tamzalit
MoDSE is a workshop dedicated to model driven engineering for software evolution. It is nowadays commonly admitted that software evolution represents and becomes a crucial research area and challenge. It is the scope of several academic and industrial research works. One of the most promising explored ways is model-driven approach. Last year, the first edition of the MoDSE workshop was dedicated to explore how can model-driven engineering enforce and enhance software evolution. According to the great raised interest, a second edition is organised, as a continuation of the first one. The objective is to present model-driven evolution research and practical. The main motivations are to present research and industrial activities about, or against, the use of MDE to manage and direct software evolution through innovative proposals, leading to an interesting debate and opening several research and applications ideas.
{"title":"CSMR 2008 Workshop Overview for MoDSE: 2nd Workshop on Model-Driven Software Evolution","authors":"D. Tamzalit","doi":"10.1109/CSMR.2008.4493348","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493348","url":null,"abstract":"MoDSE is a workshop dedicated to model driven engineering for software evolution. It is nowadays commonly admitted that software evolution represents and becomes a crucial research area and challenge. It is the scope of several academic and industrial research works. One of the most promising explored ways is model-driven approach. Last year, the first edition of the MoDSE workshop was dedicated to explore how can model-driven engineering enforce and enhance software evolution. According to the great raised interest, a second edition is organised, as a continuation of the first one. The objective is to present model-driven evolution research and practical. The main motivations are to present research and industrial activities about, or against, the use of MDE to manage and direct software evolution through innovative proposals, leading to an interesting debate and opening several research and applications ideas.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"35 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120991800","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493309
Lajos Jeno Fülöp, R. Ferenc, T. Gyimóthy
Recovering design pattern usage in source code is a very difficult task. Several tools are described in the literature for this purpose, but there is little work invested in evaluating them. The main reason for this is the lack of an approved benchmark for these tools. In this paper we present work in progress towards creating a benchmark, called DEEBEE (design pattern evaluation benchmark environment), for evaluating and comparing design pattern miner tools. It is programming language, tool, pattern and software independent, and it is open to the community and freely available. Currently, the benchmark database contains the results of three tools: Columbus (C++), Maisa (C++), and design pattern detection tool (Java). The tools were evaluated on reference implementations of patterns and on open source software (Mozilla, NotePad++, JHotDraw, JRefactory and JUnit). Additionally, instances recovered by researchers are added from NotePad++ as well. Some recovered patterns are already verified by experienced developers. This work is the first step in building a large reference database of design pattern usage in open source software and we expect that researchers will join us in this effort.
{"title":"Towards a Benchmark for Evaluating Design Pattern Miner Tools","authors":"Lajos Jeno Fülöp, R. Ferenc, T. Gyimóthy","doi":"10.1109/CSMR.2008.4493309","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493309","url":null,"abstract":"Recovering design pattern usage in source code is a very difficult task. Several tools are described in the literature for this purpose, but there is little work invested in evaluating them. The main reason for this is the lack of an approved benchmark for these tools. In this paper we present work in progress towards creating a benchmark, called DEEBEE (design pattern evaluation benchmark environment), for evaluating and comparing design pattern miner tools. It is programming language, tool, pattern and software independent, and it is open to the community and freely available. Currently, the benchmark database contains the results of three tools: Columbus (C++), Maisa (C++), and design pattern detection tool (Java). The tools were evaluated on reference implementations of patterns and on open source software (Mozilla, NotePad++, JHotDraw, JRefactory and JUnit). Additionally, instances recovered by researchers are added from NotePad++ as well. Some recovered patterns are already verified by experienced developers. This work is the first step in building a large reference database of design pattern usage in open source software and we expect that researchers will join us in this effort.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115836232","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493345
G. Lewis, Dennis B. Smith, K. Kontogiannis
The main goal of this workshop is to provide an opportunity for participants to present current work and have a lively discussion of open issues for the maintenance and evolution of SOA-based systems. The dialog will include both business issues such as organizational change in the context of migrating to a SOA environment, and technical issues such as analysis of the reuse potential of legacy components in SOA environments. The current version of a SOA research agenda will be used as a starting point for discussion.
{"title":"SOAM 2008: 2nd Workshop on SOA-Based Systems Maintenance and Evolution","authors":"G. Lewis, Dennis B. Smith, K. Kontogiannis","doi":"10.1109/CSMR.2008.4493345","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493345","url":null,"abstract":"The main goal of this workshop is to provide an opportunity for participants to present current work and have a lively discussion of open issues for the maintenance and evolution of SOA-based systems. The dialog will include both business issues such as organizational change in the context of migrating to a SOA environment, and technical issues such as analysis of the reuse potential of legacy components in SOA environments. The current version of a SOA research agenda will be used as a starting point for discussion.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122582181","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 : 2008-04-01DOI: 10.1109/CSMR.2008.4493302
Bénédicte Kenmei, G. Antoniol, M. D. Penta
Effort to evolve and maintain a software system is likely to vary depending on the amount and frequency of change requests. This paper proposes to model change requests as time series and to rely on time series mathematical framework to analyze and model them. In particular, this paper focuses on the number of new change requests per KLOC and per unit of time. Time series can have a two-fold application: they can be used to forecast future values and to identify trends. Increasing trends can indicate an increase in customer requests for new features or a decrease in the software system quality. A decreasing trend can indicate application stability and maturity, but also a reduced popularity and adoption. The paper reports case studies over about five years for three large open source applications: Eclipse, Mozilla and JBoss. The case studies show the capability of time series to model change request density and provide empirical evidence of an increasing trend in newly opened change requests in the JBoss application framework.
{"title":"Trend Analysis and Issue Prediction in Large-Scale Open Source Systems","authors":"Bénédicte Kenmei, G. Antoniol, M. D. Penta","doi":"10.1109/CSMR.2008.4493302","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493302","url":null,"abstract":"Effort to evolve and maintain a software system is likely to vary depending on the amount and frequency of change requests. This paper proposes to model change requests as time series and to rely on time series mathematical framework to analyze and model them. In particular, this paper focuses on the number of new change requests per KLOC and per unit of time. Time series can have a two-fold application: they can be used to forecast future values and to identify trends. Increasing trends can indicate an increase in customer requests for new features or a decrease in the software system quality. A decreasing trend can indicate application stability and maturity, but also a reduced popularity and adoption. The paper reports case studies over about five years for three large open source applications: Eclipse, Mozilla and JBoss. The case studies show the capability of time series to model change request density and provide empirical evidence of an increasing trend in newly opened change requests in the JBoss application framework.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124967436","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}