Sylvain Chardigny, A. Seriai, D. Tamzalit, M. Oussalah
{"title":"Quality-Driven Extraction of a Component-based Architecture from an Object-Oriented System","authors":"Sylvain Chardigny, A. Seriai, D. Tamzalit, M. Oussalah","doi":"10.1109/CSMR.2008.4493324","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493324","url":null,"abstract":"Software architecture modeling and representation became a main phase of the development process of complex systems. In fact, software architecture representation provides many advantages during all phases of software life cycle. Nevertheless, for many systems, like legacy or eroded ones, there is no available representation of their architectures. In order to benefit from this representation, we propose, in this paper, an approach called ROMANTIC which focuses on extracting the architecture of an object-oriented system. The main idea of this approach is to propose a quasi-automatic process of architecture recovery based on the quality characteristics of an architecture by formulating it as a search-based problem. This last acts on the space composed of all possible architectures abstracting the object-oriented system.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"29 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":"125997989","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":"Aligning Software Maintenance to the Offshore Reality","authors":"Christian Seybold, R. Keller","doi":"10.1109/CSMR.2008.4493298","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493298","url":null,"abstract":"With an ever-increasing amount of software in place, the importance and ubiquity of software maintenance is continuously growing. Another more recent trend is to \"offshore\" such work to low-wage countries with still untapped engineering resources. However, software maintenance typically requires intensive customer contact, short iteration cycles, and fast response times which is counter to the communication delays, requirements misinterpretations and indirect responsibilities often found in offshore cooperations. This paper reports on a software maintenance project in the power plant engineering sector. From the outset, the project included, in line with corporate policy, heavy offshore involvement. This 'offshore reality' confronted the stakeholders with various problems, including lack of quality, slipped deadlines, and communication overhead. A number of measures were introduced to mitigate the problems. Finally, a project setup could be found satisfying both the characteristics of software maintenance projects and the peculiarities of offshore cooperations. In the paper, we describe and analyze the course of this project, and present a list of lessons learned and best practices for this uncommon, yet increasingly important project setup.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"394 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":"131602607","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":"Extracting Domain Ontologies from Domain Specific APIs","authors":"D. Ratiu, Martin Feilkas, J. Jürjens","doi":"10.1109/CSMR.2008.4493315","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493315","url":null,"abstract":"Domain specific APIs offer their clients ready-to-use implementations of domain concepts. Beside being interfaces between the worlds of humans and computers, domain specific APIs contain a considerable amount of domain knowledge. Due to the big abstraction gap between the real world and today's programming languages, in addition to the knowledge about their domain, these APIs are cluttered with a considerable amount of noise in form of implementation detail. Furthermore, an API offers a particular view on its domain and different APIs regard their domains from different perspectives. In this paper we propose an approach for building domain ontologies by identifying commonalities between domain specific APIs that target the same domain. Besides our ontology extraction algorithm, we present a methodology for eliminating the noise and we sketch possible usage-scenarios of the ontologies for program analysis and understanding. We evaluate our approach through a set of case-studies on extracting domain ontologies from well-known domain specific APIs.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"43 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":"125511000","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":"SMART Tool Demonstration","authors":"G. Lewis, Dennis B. Smith","doi":"10.1109/CSMR.2008.4493343","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493343","url":null,"abstract":"Service-oriented architecture (SOA) has become an increasingly popular mechanism for achieving interoperability between systems. An attractive benefit of SOA adoption is that it enables existing legacy systems to expose their functionality as services. The Service Migration and Reuse Technique (SMART) is a technique to help organizations make initial decisions about the feasibility of reusing legacy components as services within a SOA environment. This session will demonstrate the SMART Tool which supports the collection and analysis of data obtained during a SMART engagement.","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":"131883888","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}
H. Abdeen, Ilham Alloui, Stéphane Ducasse, Damien Pollet, Mathieu Suen
{"title":"Package Reference Fingerprint: a Rich and Compact Visualization to Understand Package Relationships","authors":"H. Abdeen, Ilham Alloui, Stéphane Ducasse, Damien Pollet, Mathieu Suen","doi":"10.1109/CSMR.2008.4493316","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493316","url":null,"abstract":"Object-oriented languages such as Java, Smalltalk, and C+ + structure their programs using packages, allowing classes to be organized into named abstractions. Maintainers of large applications need to understand how packages are structured and how they relate to each other, but this task is very complex because packages often have multiple clients and different roles (class container, code ownership...). Cohesion and coupling are still among the most used metrics, because they help identify candidate packages for restructuring; however, they do not help maintainers understand the structure and interrelationships between packages. In this paper, we present the package fingerprint, a 2D visualization of the references made to and from a package. The proposed visualization offers a semantically rich, but compact and zoomable visualization centered on packages. We focus on two views (incoming and outgoing references) that help users understand how the package under analysis is used by the system and how it uses the system. We applied these views on three large case studies: JBoss, Azure us, and ArgoUML.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"31 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":"133421295","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":"Backtracking Incremental Continuous Integration","authors":"T. Storm","doi":"10.1109/CSMR.2008.4493318","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493318","url":null,"abstract":"Failing integration builds are show stoppers. Development activity is stalled because developers have to wait with integrating new changes until the problem is fixed and a successful build has been run. We show how backtracking can be used to mitigate the impact of build failures in the context of component-based software development. This way, even in the face of failure, development may continue and a working version is always available.","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":"124187454","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":"Using Dataflow Information for Concern Identification in Object-Oriented Software Systems","authors":"M. Trifu","doi":"10.1109/CSMR.2008.4493314","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493314","url":null,"abstract":"Improper encapsulation of cross-cutting concerns significantly hinders software understandability and contributes to rising software maintenance costs. Concern identification covers the necessary first step towards separating and encapsulating concerns in existing object-oriented code. Because most of the current approaches rely on syntactic rather than semantic information, they do not provide sufficient support for software understanding. This paper proposes a new semi-automated approach for concern identification specifically designed to support software understanding, which starts from a set of related variables and uses static dataflow information to determine the concern skeleton, a data-oriented abstraction of a concern. We discuss the application of this approach to the JHotDraw case-study, the de facto standard benchmark for concern identification, and show that it can be used to identify a significant number of concerns, including several concerns not previously discussed in the existing literature.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 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":"130344866","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":"Industrial Track Session -Introduction","authors":"S. Retalis","doi":"10.1109/CSMR.2008.4493333","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493333","url":null,"abstract":"The European Conference on Software Maintenance and Reengineering (CSMR), is well-known to be an open conference on the theory and practice of maintenance, reengineering and evolution of software systems. It promotes discussion and interaction among researchers and practitioners about the development of maintainable systems, and the evolution, migration and reengineering of existing ones. CSMR’s Industrial Track focuses on discussions of industrial practice and experience reports, describing problems (and their solutions) encountered in the evolution of huge industrial software applications of companies from all across Europe. Accordingly, the Industrial Track of CSMR 2008 includes four (4) peer-reviewed short papers reporting industrial cases and illustrating lessons learned from real-world applications of techniques for software maintenance and reengineering. The paper of G. Lajios, D. Schmedding and F. Volmering, entitled “Supporting Language Conversion by Metric Based Reports”, deals with the problem of integrating existing software into a new system environment without redeveloping it from scratch. This problem can be tackled by source code conversion which sometimes is considered the best solution because of strategic reasons. The authors propose a report generation tool that analyses legacy code and finds language features that helps developers find out which parts of a software system can be converted automatically from C++ to Java, which parts need preediting, and which parts must be converted manually due to inherent difficulties. The paper of J. Pantos, A. Beszedes, P. Gyenizsey and Tibor Gyimothy, entitled “Experiences in Adapting a Source Code-Based Quality Assessment Technology”, deals with the open issue of the quality assessment of industry-applied software which, in most cases, is based merely on the continuous testing approach. This approach is quite expensive and does not provide adequate information on quality in many situations. Thus the authors present experiences in adapting an existing technology and tools suitable for quality assessment based on source code analysis. Based on experiences working on their study, the authors are convinced that the different kinds of metrics and code checking rules available today may not have a universal interpretation in arbitrary industrial environment. These techniques need to be appropriately adapted to be able to properly assess the quality of software in a specific environment. The paper of M. Kajko-Mattsson and C. Makridis, entitled “SLA Management Process Model”, deals with topic of the efficient management of Service Level Agreements (SLA) which organizations regard as a key factor for the delivery of qualified and cost-effective services. The authors give an outline of a SLA management model. This model reflects the current state of industrial practice since it been elicited within four industrial companies. The paper of S. Li, L. Tahvildari, W. Liu, M. Morrissey, and G. Cort, ent","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 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":"129054942","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":"Outline of an SLA Management Model","authors":"M. Kajko-Mattsson, C. Makridis","doi":"10.1109/CSMR.2008.4493334","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493334","url":null,"abstract":"In this paper, we outline a service level agreement (SLA) management model. The model has been elicited within four industrial companies. Hence, it reflects current state of industrial practice.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 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":"122388691","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":"Understanding the Impact of Distribution in Object-Oriented Distributed Systems Using Structural Program Dependencies","authors":"Dan C. Cosma, Radu Marinescu","doi":"10.1109/CSMR.2008.4493305","DOIUrl":"https://doi.org/10.1109/CSMR.2008.4493305","url":null,"abstract":"The software industry is increasingly facing the issues of understanding and maintaining a particular type of software systems, namely distributed systems. While these systems are usually implemented in an object-oriented fashion, they raise very specific, and technology-dependent, understandability and quality assessment challenges. In this paper we present a novel approach for understanding a distributed system, by analyzing the structure of its source code and identifying the design fragments that contribute to those specific features that use or depend on the distributed communication infrastructure. By applying the approach on a couple of real-world Java/RMl distributed systems, we show that it provides reliable means for capturing both an overview of the systems' distributed architecture, and a detailed understanding of the impact of the distributed features on the entire system (including the local features).","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"1 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":"122742291","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}