{"title":"Rule-Based Impact Analysis for Heterogeneous Software Artifacts","authors":"Steffen Lehnert, Qurat-ul-ann Farooq, Matthias Riebisch","doi":"10.1109/CSMR.2013.30","DOIUrl":"https://doi.org/10.1109/CSMR.2013.30","url":null,"abstract":"Typical software engineering activities, such as program maintenance or reengineering, result in frequent changes of software which are often accompanied by unintended side effects. Consequently, research on impact analysis put forth approaches to assess the adverse effects of changes. However, understanding and implementing these changes is often aggravated by inconsistencies and dependencies between different types of software artifacts. Likewise, most impact analysis approaches are not able to detect the possible side effects of changes when different types of software artifacts are involved. We present an approach that combines impact analysis and multi-perspective modeling for analyzing the change propagation between heterogeneous software artifacts. Our approach assists developers with understanding the consequences of changes by identifying impacted artifacts and determining how they are affected. We utilize a model repository for combining UML models, Java source code, and JUnit tests by mapping them on a unifying meta-model. We introduce a novel impact propagation approach that analyzes dependencies between software artifacts according to the type of change which is applied upon them. Our approach is implemented by a set of impact propagation rules which are evaluated by a case study.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133963599","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}
Pavneet Singh Kochhar, Tegawendé F. Bissyandé, D. Lo, Lingxiao Jiang
{"title":"Adoption of Software Testing in Open Source Projects--A Preliminary Study on 50,000 Projects","authors":"Pavneet Singh Kochhar, Tegawendé F. Bissyandé, D. Lo, Lingxiao Jiang","doi":"10.1109/CSMR.2013.48","DOIUrl":"https://doi.org/10.1109/CSMR.2013.48","url":null,"abstract":"In software engineering, testing is a crucial activity that is designed to ensure the quality of program code. For this activity, development teams spend substantial resources constructing test cases to thoroughly assess the correctness of software functionality. What is however the proportion of open source projects that include test cases? What kind of projects are more likely to include test cases? In this study, we explore 50,000 projects and investigate the correlation between the presence of test cases and various project development characteristics, including the lines of code and the size of development teams.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121011961","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}
Thomas E. Forster, Thorsten Keuler, J. Knodel, Michael Becker
{"title":"Recovering Component Dependencies Hidden by Frameworks--Experiences from Analyzing OSGi and Qt","authors":"Thomas E. Forster, Thorsten Keuler, J. Knodel, Michael Becker","doi":"10.1109/CSMR.2013.38","DOIUrl":"https://doi.org/10.1109/CSMR.2013.38","url":null,"abstract":"In this paper we present experiences we made in the identification and analysis of software dependencies in the context of two popular software development frameworks: OSGi and Qt. Both frameworks are designed for minimizing coupling between software entities by enabling late binding. In case of OSGi, it is the service-oriented bundle concept, in Qt it is the signals and slots mechanisms, that hide dependencies from the programmer at development-time. However, in order to keep an overview of the system it is mandatory to reveal a bigger picture in terms of components and their connections as they are going to exist during runtime. In this paper, we elaborate on the experiences we made in dependency identification and analysis in the context of an industrial and an academic project. In particular, we show how the framework mechanisms of Qt and OSGi can be analyzed in order to reveal a system's component dependencies without having to execute the software.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115922112","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}
{"title":"A Study of Web Maintenance in an Industrial Setting","authors":"G. Fitzgerald, S. Counsell, J. Peters","doi":"10.1109/CSMR.2013.56","DOIUrl":"https://doi.org/10.1109/CSMR.2013.56","url":null,"abstract":"In this paper, we explore facets of web maintenance effort for three commercial Web Information Systems. We decompose effort from over four hundred change requests collected post-implementation over a three month period into the three categories of adaptive, corrective and perfective maintenance change types. We explore two research questions. Firstly, the influence or otherwise of a 'ripple' change effect in each of those three categories, secondly, in which of the three architectural layers of the application the majority of maintenance activity was found (i.e., presentation, business logic or data). A ripple effect was found to occur most in the perfective maintenance category and of the three categories, the perfective category was again found to influence the business logic layer in contrast to the other two layers.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"253 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114004592","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}
{"title":"Quality Assessment in the Cloud: Is It Worthwhile?","authors":"C. Marinescu, D. Petcu","doi":"10.1109/CSMR.2013.70","DOIUrl":"https://doi.org/10.1109/CSMR.2013.70","url":null,"abstract":"As software systems become increasingly complex, the aspects of quality that we want to assess become increasingly diverse, requiring the usage of a significant number of tools. Therefore, the installation and proper configuration of these various analysis tools, as well as running them on local computers for large-scale systems becomes more and more a significant investment both in terms of time and computing power. In this paper we present how the infrastructure and services that are developed within the HOST project could be employed to facilitate the extensive use of quality assessment tools. We present the HOST service functionality infrastructure by showing how INFUSION, a popular tool for detecting design flaws, has been integrated and used there. The paper presents the performance improvements due to running INFUSION within a cloud infrastructure and discusses the trade-offs of moving software analysis tools in the cloud.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"159 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122860588","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}
A. Bergmayr, H. Brunelière, Javier Luis Cánovas Izquierdo, Jesús Gorroñogoitia, George Kousiouris, D. Kyriazis, Philip Langer, A. Menychtas, Leire Orue-Echevarria Arrieta, C. Pezuela, M. Wimmer
{"title":"Migrating Legacy Software to the Cloud with ARTIST","authors":"A. Bergmayr, H. Brunelière, Javier Luis Cánovas Izquierdo, Jesús Gorroñogoitia, George Kousiouris, D. Kyriazis, Philip Langer, A. Menychtas, Leire Orue-Echevarria Arrieta, C. Pezuela, M. Wimmer","doi":"10.1109/CSMR.2013.73","DOIUrl":"https://doi.org/10.1109/CSMR.2013.73","url":null,"abstract":"As cloud computing allows improving the quality of software and aims at reducing costs of operating software, more and more software is delivered as a service. However, moving from a software as a product strategy to delivering software as a service hosted in cloud environments is very ambitious. This is due to the fact that managing software modernization is still a major challenge, especially when paradigm shifts, such as moving to cloud environments, are targeted that imply fundamental changes to how software is modernized, delivered, and sold. Thus, in addition to technical aspects, business aspects need also to be considered. ARTIST proposes a comprehensive software modernization approach covering business and technical aspects. In particular, ARTIST employs Model-Driven Engineering (MDE) techniques to automate the reverse engineering of legacy software and forward engineering of cloud-based software in a way that modernized software truly benefits from targeted cloud environments. Therewith, ARTIST aims at reducing the risks, time, and costs of software modernization and lowers the barriers to exploit cloud computing capabilities and new business models.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123356462","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}
T. Peng, Giampaolo Armellin, D. Betti, Annamaria Chiasera, T. J. Toai, M. Ronchetti
{"title":"MDO: Framework for Context-Aware Process Mobility in Building-Maintenance Domain","authors":"T. Peng, Giampaolo Armellin, D. Betti, Annamaria Chiasera, T. J. Toai, M. Ronchetti","doi":"10.1109/CSMR.2013.69","DOIUrl":"https://doi.org/10.1109/CSMR.2013.69","url":null,"abstract":"The on-going project MDO (\"Manuale dell' Opera\", Manual of the building's operations) aims to enhance interoperability across stakeholders in the management of buildings. Typically a building construction and maintenance is supported by several non-interoperating software applications, acting on non-integrated data. The aim of the project is to support centralized and interoperable design of the building-maintenance processes. On top of this, we propose a framework that allows distributing the related processes over a set of mobile devices, so as to support workers on their job. In doing so, a relevant challenge is to extract and execute subset of activities considering the context constraints, regardless of the constant availability of a reliable network connection.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133838425","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}
{"title":"Changes, Defects and Polymorphism: Is There Any Correlation?","authors":"Petru Florin Mihancea, C. Marinescu","doi":"10.1109/CSMR.2013.45","DOIUrl":"https://doi.org/10.1109/CSMR.2013.45","url":null,"abstract":"Source code is better than concrete code when it comes to reduced change likelihood. Trying to provide empirical evidence for this assumption, we investigate if there are any correlations between the usage of partially polymorphic calls in classes and their change and defect likelihood. Based on the provided evidence, practitioners are advised about the potential impact of polymorphism at the source code level.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"238 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115180643","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}
{"title":"Extraction of Documentation from Fortran 90 Source Code: An Industrial Experience","authors":"J. Pichler","doi":"10.1109/CSMR.2013.58","DOIUrl":"https://doi.org/10.1109/CSMR.2013.58","url":null,"abstract":"Software programs in scientific and engineering domains typically contain complex and extensive computations that are additionally optimized concerning running time or memory requirements. As a consequence, the actual computations are often hard to comprehend from the source code only. This paper presents tool support to extract documentation from source code that reveals the actual computation. We discuss how to generate the entire documentation from the source code automatically by using a minimum of additional annotations. This reduces the effort for writing documentation manually and ensures consistency between source code and documentation. Furthermore, the extracted documentation is given in a notation expected and comprehensible by domain experts. We applied our approach in the electrical engineering domain for software systems implemented in the Fortran 90 programming langugage.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133676131","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}
{"title":"Search-Based Refactoring Using Recorded Code Changes","authors":"Ali Ouni, M. Kessentini, H. Sahraoui","doi":"10.1109/CSMR.2013.31","DOIUrl":"https://doi.org/10.1109/CSMR.2013.31","url":null,"abstract":"Over the past decades, many techniques and tools have been developed to record the sequence of applied refactoring to improve design quality. We start from the observation that these recorded code changes can be used to propose new refactoring solutions in similar contexts. In addition, this knowledge can be combined with structural and semantic information, used by existing work, to improve the automation of refactoring. In this paper, we propose a multi-objective optimization approach to find the best sequence of refactorings that maximizes the use of refactoring applied in the past to similar contexts, minimizes semantic errors and minimizes the number of defects (improve code quality). To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best trade-off between these three objectives. We report the results of our experiments on different open source java projects.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127684433","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}