{"title":"Automated Identifier Completion and Replacement","authors":"S. Abebe, P. Tonella","doi":"10.1109/CSMR.2013.35","DOIUrl":"https://doi.org/10.1109/CSMR.2013.35","url":null,"abstract":"Various studies indicate that having concise and consistent identifiers improves the quality of the source code and hence impacts positively source code understanding and maintenance. In order to write concise and consistent identifiers, however, developers need to have some knowledge about the concepts captured in the source code and how they are named. Acquiring such knowledge from the source code might be feasible only for small systems, while it is not viable for large systems. In this paper, we propose an automated approach which exploits concepts and relations automatically extracted from the source code to suggest identifiers. The suggestion is ranked based on the context in which a new identifier is introduced and it can be used either to complete the identifier being written or to replace it with a more appropriate one. To validate the proposed approach, we have conducted a case study by simulating the activities of a developer in naming identifiers. The results of the study show that in the majority of the cases our approach provides completion suggestions which match the identifiers actually used by the developers.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"140 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":"116551959","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":"Finding Duplicates of Your Yet Unwritten Bug Report","authors":"Johannes Lerch, M. Mezini","doi":"10.1109/CSMR.2013.17","DOIUrl":"https://doi.org/10.1109/CSMR.2013.17","url":null,"abstract":"Software projects often use bug-tracking tools to keep track of reported bugs and to provide a communication platform to discuss possible solutions or ways to reproduce failures. The goal is to reduce testing efforts for the development team. However, often, multiple bug reports are committed for the same bug, which, if not recognized as duplicates, can result in work done multiple times by the development team. Duplicate recognition is, in turn, tedious, requiring to examine large amounts of bug reports. Previous work addresses this problem by employing natural-language processing and text similarity measures to automate bug-report duplicate detection. The downside of these techniques is that, to be applicable, they require a reporting user to go through the time-consuming process of describing the problem, just to get informed that the bug is already known. To address this problem, we propose an approach that only uses stack traces and their structure as input to machine-learning algorithms for detecting bug-report duplicates. The key advantage is that stack traces are available without a written bug report. Experiments on bug reports from the Eclipse project show that our approach performs as good as state-of-the-art techniques, but without requiring the whole text corpus of a bug report to be available.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"26 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":"128424574","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":"The OMG UML Testing Profile in Use--An Industrial Case Study for the Future Internet Testing","authors":"A. Bagnato, A. Sadovykh, E. Brosse, T. Vos","doi":"10.1109/CSMR.2013.71","DOIUrl":"https://doi.org/10.1109/CSMR.2013.71","url":null,"abstract":"The EU funded FITTEST FP7 project aims to address the Future Internet (FI) testing challenges. FITTEST will be integrated in three pilot applications provided by three industrial partners, IBM, Sulake and Soft am. This paper presents the Modelio SaaS product and case study context selected by Soft am as FITTEST Project industrial application and the usage of the Object Management Group (OMG) UML Testing Profile module. In the paper, researchers present the advanced software engineering methods proposed by FITTEST and the usage of the OMG UML Testing Profile (UTP) in a real industrial environment within Soft am Modelio SaaS.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"21 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":"130383108","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":"The Evolution of the R Software Ecosystem","authors":"D. Germán, Bram Adams, A. Hassan","doi":"10.1109/CSMR.2013.33","DOIUrl":"https://doi.org/10.1109/CSMR.2013.33","url":null,"abstract":"Software ecosystems form the heart of modern companies' collaboration strategies with end users, open source developers and other companies. An ecosystem consists of a core platform and a halo of user contributions that provide value to a company or project. In order to sustain the level and number of high-quality contributions, it is crucial for companies and contributors to understand how ecosystems tend to evolve and can be maintained successfully over time. As a first step, this paper explores the evolution characteristics of the statistical computing project GNU R, which is a successful, end-user programming ecosystem. We find that the ecosystem of user-contributed R packages has been growing steadily since R's conception, at a significantly faster rate than core packages, yet each individual package remains stable in size. We also identified differences in the way user-contributed and core packages are able to attract an active community of users.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"17 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":"114705555","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":"Migrating Android Applications towards Service-centric Architectures with Sip2Share","authors":"A. Borriello, Fabio Melillo, G. Canfora","doi":"10.1109/CSMR.2013.61","DOIUrl":"https://doi.org/10.1109/CSMR.2013.61","url":null,"abstract":"Mobile devices are rapidly becoming a key means to access the Internet and to discover and consume on-line services. Currently, most mobile applications are essentially clients to interact with remote services. However, the increasing power of devices is enabling a new class of applications that overcome the traditional models of desktop applications and web browsing, and embrace entirely new ways of computing. In this scenario, mobile devices are no longer intended as a means to access server-side data and functionality, but as a source of services that other devices can discover and invoke. This calls for new technologies and tools to help migrating existing mobile applications towards the emerging service-centric scenario. In this paper we illustrate Sip2Share, a middleware that supports the creation of peer-to-peer networks of services on the Android platform, and discuss how the middleware can be used to migrate existing Android applications. The paper discusses on two scenarios: a re-architecting scenario, where the application is changed to make it aware of the middleware, and a wrapping scenario, where the application remains unchanged and the connection to the middleware is created in a wrapper.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"38 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":"134049816","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}
Y. Dubinsky, J. Rubin, T. Berger, Slawomir Duszynski, Martin Becker, K. Czarnecki
{"title":"An Exploratory Study of Cloning in Industrial Software Product Lines","authors":"Y. Dubinsky, J. Rubin, T. Berger, Slawomir Duszynski, Martin Becker, K. Czarnecki","doi":"10.1109/CSMR.2013.13","DOIUrl":"https://doi.org/10.1109/CSMR.2013.13","url":null,"abstract":"Many companies develop software product lines-collections of similar products-by cloning and adapting artifacts of existing product variants. Transforming such cloned product variants into a \"single-copy\" software product line representation is considered an important software re-engineering activity, as reflected in numerous tools and methodologies available. However, development practices of companies that use cloning to implement product lines have not been systematically studied. This lack of empirical knowledge threatens the validity and applicability of approaches supporting the transformation, and impedes adoption of advanced solutions for systematic software reuse. It also hinders the attempts to improve the solutions themselves. We address this gap with an empirical study conducted to investigate the cloning culture in six industrial software product lines realized via code cloning. Our study investigates the processes, and the perceived advantages and disadvantages of the approach. We observe that cloning, while widely discouraged in literature, is still perceived as a favorable and natural reuse approach by the majority of practitioners in the studied companies. This is mainly due to its benefits such as simplicity, availability and independence of developers. Based on our observations, we outline issues preventing the adoption of systematic software reuse approaches, and identify future research directions.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"34 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":"117206761","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":"Analyzing the Eclipse API Usage: Putting the Developer in the Loop","authors":"John Businge, Alexander Serebrenik, M. Brand","doi":"10.1109/CSMR.2013.14","DOIUrl":"https://doi.org/10.1109/CSMR.2013.14","url":null,"abstract":"Eclipse guidelines distinguish between two types of interfaces provided to third-party developers, i.e., APIs and non-APIs. APIs are stable and supported, while non-APIs are unstable, unsupported and discouraged as they are subject to arbitrary change or removal without notice. In our previous work, we found that despite the discouragement of Eclipse, the use of non-APIs in Eclipse third-party plug-ins (ETPs) is not uncommon. Furthermore, we found that these non-APIs are the main cause of ETP incompatibilities in forthcoming releases of the Eclipse. In the current work we conducted a survey aiming at understanding why do the ETP developers use non-APIs. We have observed that developers with a level of education of up to master degree have a tendency not to read product manuals/guidelines. Furthermore, while for less experienced developers instability of the non-APIs overshadows their benefits, more experienced developers prefer to enjoy the benefits of non-APIs despite the instability problem. Finally, we have observed that there are no significant differences between Open Source and commercial Eclipse products in terms of awareness of Eclipse guidelines and interfaces, Eclipse product size and updating of Eclipse product in the new SDK releases.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"31 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":"126805539","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":"Analyzing Networks of Issue Reports","authors":"Markus Borg, Dietmar Pfahl, P. Runeson","doi":"10.1109/CSMR.2013.18","DOIUrl":"https://doi.org/10.1109/CSMR.2013.18","url":null,"abstract":"Completely analyzed and closed issue reports in software development projects, particularly in the development of safety-critical systems, often carry important information about issue-related change locations. These locations may be in the source code, as well as traces to test cases affected by the issue, and related design and requirements documents. In order to help developers analyze new issues, knowledge about issue clones and duplicates, as well as other relations between the new issue and existing issue reports would be useful. This paper analyses, in an exploratory study, issue reports contained in two Issue Management Systems (IMS) containing approximately 20.000 issue reports. The purpose of the analysis is to gain a better understanding of relationships between issue reports in IMSs. We found that link-mining explicit references can reveal complex networks of issue reports. Furthermore, we found that textual similarity analysis might have the potential to complement the explicitly signaled links by recommending additional relations. In line with work in other fields, links between software artifacts have a potential to improve search and navigation in large software engineering projects.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"1 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":"131232494","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":"Visualization of Component-Based Applications Structure Using AIVA","authors":"J. Snajberk, Lukas Holy, Přemek Brada","doi":"10.1109/CSMR.2013.60","DOIUrl":"https://doi.org/10.1109/CSMR.2013.60","url":null,"abstract":"The architecture of component-based applications can easily contain hundreds of components with a complex structure. Such structure is created from various types of relations between these components. However, component architects and assemblers need to study more than just simple structure in order to be able to analyze these applications. Many details might be necessary to check to ensure compatibility and re-usability of existing components. Thus, comprehensible visualization of structure is important for the maintenance and evolution of these complex systems. AIVA is the implementation of an approach that is able to visualize these structures comprehensibly while making details easy to reach. It combines various interactive techniques to achieve this goal. This paper describes the possibilities of AIVA as they are implemented, while briefly discussing the theory behind such functionality.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"5 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":"127695891","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":"Static Analysis of Data-Intensive Applications","authors":"Csaba Nagy","doi":"10.1109/CSMR.2013.66","DOIUrl":"https://doi.org/10.1109/CSMR.2013.66","url":null,"abstract":"Data-intensive systems are designed to handle data at massive scale, and during the years they might evolve to very large, complex systems. In order to support maintenance tasks of these systems several techniques have been developed to analyze the source code of applications or to analyze the underlying databases for the purpose of reverse engineering, e.g. quality assurance or program comprehension. However, only a few techniques take into account the specialties of data-intensive systems (e.g. dependencies arising via database accesses). In this thesis we conducted research to analyze and to improve data-intensive applications via different methods based on static analysis: methods for recovering architecture of data-intensive systems and a quality assurance methodology for applications developed in Magic 4GL. We targeted SQL as the most widespread databases are relational databases using certain dialect of SQL for their queries. With the proposed techniques we were able to analyze large scale industrial projects, such as banking systems with more than 3 million lines of code, and we successfully recovered architecture maps and quality issues of these systems.","PeriodicalId":309343,"journal":{"name":"2013 17th European Conference on Software Maintenance and Reengineering","volume":"28 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":"127767329","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}