Pub Date : 2007-10-22DOI: 10.1109/ICSM.2007.4362669
M. Bruntink
Legacy software systems often suffer from code quality problems. Maintenance of legacy systems can therefore be costly, and the value of legacy systems may diminish due to a lack of adaptability and reliability. Many code quality problems are caused by idiomatic implementation of crosscutting concerns. This work studies the idiomatic implementation of crosscutting concerns in legacy systems, and examines whether modern language technology like aspect-oriented programming can improve the situation.
{"title":"Analysis and Transformation of Idiomatic Crosscutting Concerns in Legacy Software Systems","authors":"M. Bruntink","doi":"10.1109/ICSM.2007.4362669","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362669","url":null,"abstract":"Legacy software systems often suffer from code quality problems. Maintenance of legacy systems can therefore be costly, and the value of legacy systems may diminish due to a lack of adaptability and reliability. Many code quality problems are caused by idiomatic implementation of crosscutting concerns. This work studies the idiomatic implementation of crosscutting concerns in legacy systems, and examines whether modern language technology like aspect-oriented programming can improve the situation.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125411425","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362665
A. Hassan, Thomas Zimmermann
Software engineering (SE) contains its own set of myths and urban legends. The experience gained by researchers in the software maintenance community should be valuable in studying various SE myths and in separating myths from facts. The goal of this half-day working session is to increase awareness of many SE myths and to offer an open venue to discuss and understand them. The organizers are collecting popular SE myths online through a Wiki. Two myths will be selected for discussion in the working session. For each myth, we will invite advocates and opponents to facilitate the discussion. We will start the online discussion with the following list of myths 1) clones are evil, 2) bugs reside in complex code, 3) aspect-oriented programs.
{"title":"MythSE Myths in Software Engineering Half day ICSM 2007Working Session","authors":"A. Hassan, Thomas Zimmermann","doi":"10.1109/ICSM.2007.4362665","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362665","url":null,"abstract":"Software engineering (SE) contains its own set of myths and urban legends. The experience gained by researchers in the software maintenance community should be valuable in studying various SE myths and in separating myths from facts. The goal of this half-day working session is to increase awareness of many SE myths and to offer an open venue to discuss and understand them. The organizers are collecting popular SE myths online through a Wiki. Two myths will be selected for discussion in the working session. For each myth, we will invite advocates and opponents to facilitate the discussion. We will start the online discussion with the following list of myths 1) clones are evil, 2) bugs reside in complex code, 3) aspect-oriented programs.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130243171","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362662
Xinyu Wang, Jianling Sun, Xiaohu Yang
Many enterprise systems were developed in standalone model since the end of the last century. Reengineering standalone systems into distributed environment has become a critical problem, as the standalone software can not meet the requirements of the new market. Methods have been proposed on related topics based on two classical distributed solutions, the symmetrical model and the unsymmetrical model. In this paper we report the experience in reengineering a standalone financial trading system into the service-partition distributed environment, which offers distinct advantages on horizontal scalability and performance over two classical distributed solutions.
{"title":"Experience Report: Reengineering Standalone System into the Service-Partition Distributed Environment","authors":"Xinyu Wang, Jianling Sun, Xiaohu Yang","doi":"10.1109/ICSM.2007.4362662","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362662","url":null,"abstract":"Many enterprise systems were developed in standalone model since the end of the last century. Reengineering standalone systems into distributed environment has become a critical problem, as the standalone software can not meet the requirements of the new market. Methods have been proposed on related topics based on two classical distributed solutions, the symmetrical model and the unsymmetrical model. In this paper we report the experience in reengineering a standalone financial trading system into the service-partition distributed environment, which offers distinct advantages on horizontal scalability and performance over two classical distributed solutions.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130458577","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362671
R. Vivanco
Predictive models can be used to identify components as potentially problematic for future maintenance. Source code metrics can be used as input features to classifiers, however, there exist a large number of structural measures that capture different aspects of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves a classifier's performance. The focus of this study is to explore the efficacy of a genetic algorithm as a method of improving a classifier's ability to identify problematic components.
{"title":"Improving Predictive Models of Software Quality Using an Evolutionary Computational Approach","authors":"R. Vivanco","doi":"10.1109/ICSM.2007.4362671","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362671","url":null,"abstract":"Predictive models can be used to identify components as potentially problematic for future maintenance. Source code metrics can be used as input features to classifiers, however, there exist a large number of structural measures that capture different aspects of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves a classifier's performance. The focus of this study is to explore the efficacy of a genetic algorithm as a method of improving a classifier's ability to identify problematic components.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127664185","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362670
R. Chaabane
Software maintenance is a way to optimize software performances, but for huge code source's softwares, this maintenance may be very complex. The aim of our work is to detect suspected poor performing patterns in source code and to measure their performances, in order to state in which contexts they need to be refactored. We present the context of our work and our pattern analysis approach. We explain the reason why we have to establish a link between static analysis for pattern detection in source code and dynamic analysis for performance measurement in the corresponding executed instructions. This link will allow us to identify which set pattern instances really need to be refactored, expected to be restricted with respect to the large set and are instances encountered in the source code.
{"title":"Poor Performing Patterns of Code: Analysis and Detection","authors":"R. Chaabane","doi":"10.1109/ICSM.2007.4362670","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362670","url":null,"abstract":"Software maintenance is a way to optimize software performances, but for huge code source's softwares, this maintenance may be very complex. The aim of our work is to detect suspected poor performing patterns in source code and to measure their performances, in order to state in which contexts they need to be refactored. We present the context of our work and our pattern analysis approach. We explain the reason why we have to establish a link between static analysis for pattern detection in source code and dynamic analysis for performance measurement in the corresponding executed instructions. This link will allow us to identify which set pattern instances really need to be refactored, expected to be restricted with respect to the large set and are instances encountered in the source code.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115613141","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362680
Henrik Gustavsson, B. Lings, B. Lundell, A. Mattsson, Marcel Beekveld
Model driven development has several advantages over traditional development, including simplified maintenance. We demonstrate an architecture which, through model driven engineering, allows heterogeneous distributed development of components in a mechatronics application. Key to the approach is an architecture which allows automated and dynamic component integration, together with model sharing through the transformation of XMI files.
{"title":"Integrating proprietary and open-source tool chains through horizontal interchange of XMI models","authors":"Henrik Gustavsson, B. Lings, B. Lundell, A. Mattsson, Marcel Beekveld","doi":"10.1109/ICSM.2007.4362680","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362680","url":null,"abstract":"Model driven development has several advantages over traditional development, including simplified maintenance. We demonstrate an architecture which, through model driven engineering, allows heterogeneous distributed development of components in a mechatronics application. Key to the approach is an architecture which allows automated and dynamic component integration, together with model sharing through the transformation of XMI files.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124600216","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362666
Marco Torchiano, F. Ricca, A. D. Lucia
While most researchers agree on the need for empirical validation of theoretical results, two main issues remain unaddressed: first, few such studies are actually performed and second, coordination among different studies is very rare. This working session aim at bringing together the researchers interested in conducting empirical studies in maintenance and evolution. The goal is to define an important topic, design a family of experiments, provide the basis to conduct a set of coordinated experiments to advance the state of empirical evidence in this area.
{"title":"Empirical Studies in Software Maintenance and Evolution","authors":"Marco Torchiano, F. Ricca, A. D. Lucia","doi":"10.1109/ICSM.2007.4362666","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362666","url":null,"abstract":"While most researchers agree on the need for empirical validation of theoretical results, two main issues remain unaddressed: first, few such studies are actually performed and second, coordination among different studies is very rare. This working session aim at bringing together the researchers interested in conducting empirical studies in maintenance and evolution. The goal is to define an important topic, design a family of experiments, provide the basis to conduct a set of coordinated experiments to advance the state of empirical evidence in this area.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133625255","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362683
S. Jansen, S. Brinkkemper
Software vendors and system administrators experience similar problems when sharing software knowledge, such as software updates, commercial information, and software feedback, with end-users about software products. These problems incur high workloads for both software vendors and system administrators and often force them to use rigid and restricted methods of software knowledge delivery. Pheme, a new infrastructure for software knowledge delivery, provides both software vendors and system administrators with a generic software knowledge delivery solution. By using the Pheme infrastructure, software vendors and system administrators can gain full control and flexibility of their software knowledge delivery process without much extra effort.
{"title":"Pheme: A Communication Infrastructure for Product Software Knowledge","authors":"S. Jansen, S. Brinkkemper","doi":"10.1109/ICSM.2007.4362683","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362683","url":null,"abstract":"Software vendors and system administrators experience similar problems when sharing software knowledge, such as software updates, commercial information, and software feedback, with end-users about software products. These problems incur high workloads for both software vendors and system administrators and often force them to use rigid and restricted methods of software knowledge delivery. Pheme, a new infrastructure for software knowledge delivery, provides both software vendors and system administrators with a generic software knowledge delivery solution. By using the Pheme infrastructure, software vendors and system administrators can gain full control and flexibility of their software knowledge delivery process without much extra effort.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133607382","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362663
G. Lewis, Dennis B. Smith, K. Kontogiannis, S. Tilley, M. Kajko-Mattsson, N. Chapin
The main goal of this working session 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 (e.g., organizational changes in the context of migrating to an SOA environment) and technical issues (e.g., analyzing the reuse potential of legacy components in an SOA environment). A draft version of a research agenda will be used as a starting point for obtaining feedback from researchers and practitioners active in this area.
{"title":"A Research Agenda for Maintenance & Evolution of SOA-Based Systems","authors":"G. Lewis, Dennis B. Smith, K. Kontogiannis, S. Tilley, M. Kajko-Mattsson, N. Chapin","doi":"10.1109/ICSM.2007.4362663","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362663","url":null,"abstract":"The main goal of this working session 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 (e.g., organizational changes in the context of migrating to an SOA environment) and technical issues (e.g., analyzing the reuse potential of legacy components in an SOA environment). A draft version of a research agenda will be used as a starting point for obtaining feedback from researchers and practitioners active in this area.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"36 11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116112319","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 : 2007-10-22DOI: 10.1109/ICSM.2007.4362668
M. Ceccato
Aspect oriented programming (AOP) is a new programming paradigm that offers a novel modularization unit for the crosscutting concerns. Functionalities originally spread across several modules and tangled with each other can be factored out into a single, separate unit, called an aspect. We investigated automated techniques that can be used to support the migration of existing Object Oriented Programming (OOP) code to AOP. To migrate an application to the new paradigm, a preliminary identification of the cross-cutting concerns is required (aspect mining). Then refactoring is applied to transform the scattered concerns into aspects. The proposed methods have been assessed on case studies for a total of more than half a million lines of code.
{"title":"Migrating Object Oriented code to Aspect Oriented Programming","authors":"M. Ceccato","doi":"10.1109/ICSM.2007.4362668","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362668","url":null,"abstract":"Aspect oriented programming (AOP) is a new programming paradigm that offers a novel modularization unit for the crosscutting concerns. Functionalities originally spread across several modules and tangled with each other can be factored out into a single, separate unit, called an aspect. We investigated automated techniques that can be used to support the migration of existing Object Oriented Programming (OOP) code to AOP. To migrate an application to the new paradigm, a preliminary identification of the cross-cutting concerns is required (aspect mining). Then refactoring is applied to transform the scattered concerns into aspects. The proposed methods have been assessed on case studies for a total of more than half a million lines of code.","PeriodicalId":211605,"journal":{"name":"International Conference on Smart Multimedia","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116191003","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}