{"title":"CM/sup 3/: service level agreement","authors":"M. Kajko-Mattsson, C. Ahnlund, Elisabeth Lundberg","doi":"10.1109/ICSM.2004.1357830","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357830","url":null,"abstract":"To be able to provide support to the customers in their daily operation, one must not only have an efficient support process, but also an agreement on the types and quality of the services to be provided. Such an agreement is usually called service level agreement (SLA). In this paper, we suggest an SLA model and show how it is realised within four organisations in Sweden. Our model is called CM/sup 3/: SLA, and is part of a major model called CM/sup 3/: SLA/OLA.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124641501","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":"Program slicing in the presence of database state","authors":"David Willmor, Suzanne M. Embury, J. Shao","doi":"10.1109/ICSM.2004.1357833","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357833","url":null,"abstract":"Program slicing has long been recognised as a valuable technique for supporting the software maintenance process. However, many programs operate over some kind of external state, as well as the internal program state. Arguably, the most significant form of external state is that used to store data associated with the application, for example, in a database management system. We propose an approach to supporting slicing over both program and database state, which requires the introduction of two new forms of data dependency into the standard program dependency graph. Our method expands the usefulness of program slicing techniques to the considerable number of database application programs that are being maintained within industry and science today.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129932190","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}
Donald P. Pazel, P. Varma, A. Paradkar, Beth Tibbitts, Ashok Anand, Philippe Charles
{"title":"A framework and tool for porting assessment and remediation","authors":"Donald P. Pazel, P. Varma, A. Paradkar, Beth Tibbitts, Ashok Anand, Philippe Charles","doi":"10.1109/ICSM.2004.1357852","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357852","url":null,"abstract":"We present a framework and tool for porting assessment and code remediation in commercial porting projects, primarily targeting interplatform C/C++ porting. Our framework has a modular architecture for handling real-world code bases, a key part of which is an extensible knowledge base of porting issue types. Porting issue detection and remediation are achieved through dynamically-linked detector and remediation \"plug-ins\" which can be augmented over time. Analysis and remediation can be performed over multiple intermediate forms, such as the AST or error logs. Analysis and remediation results can be presented as a single assessment report, or the changes can be incorporated into the original code base. Furthermore our framework has been integrated into Eclipse, providing a user interface and allowing further capability for integration with other Eclipse extensions. A subset of our tool has been prototyped and benchmarked against real-world customer code.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"2000 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128282199","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-driven object-oriented re-engineering framework","authors":"L. Tahvildari","doi":"10.1109/ICSM.2004.1357839","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357839","url":null,"abstract":"This work presents a framework for providing quality based re-engineering of object-oriented systems (Tahvildari, 2003). The framework allows for specific design and quality requirements (performance and maintainability) of the target migrant system to be considered during the reengineering process. Quality requirements for the migrant system can be encoded using soft-goal interdependency graphs and be associated with specific software transformations that need to be carried out for the specific target quality requirement to be achieved. These transformations can be applied as a series of the iterative and incremental steps to the source code. An evaluation procedure can be used at each transformation step to determine whether specific goals have been achieved.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130762180","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":"Quantitative method to determine software maintenance life cycle","authors":"Hsiang-Jui Kung","doi":"10.1109/ICSM.2004.1357807","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357807","url":null,"abstract":"The planning of software maintenance is a major problem that information systems managers are facing in many organizations. The problem stems from two basic root causes: the competing demands (services, repairs, improvements, etc.) for the same limited maintenance resources and the uncertainty associated with these demands. Managers lack reliable tools that could enable them to handle the uncertainty and thereby proactively plan the maintenance to better respond to user requests. This study provides a quantitative method to estimate the uncertainty and to help managers forecast the demands of maintenance. Since the accuracy of maintenance request forecast depends on predictable regimes of demands, the method first hypothesizes a non-stationary, life-cycle model for the basic regimes of different types of maintenance requests. Each regime features a probabilistic dominance of certain types of requests in the overall distribution of demands. The method then includes ways to characterize the distributions of different types of requests, monitor their evolution, and determine the shifting of regimes on which the managers base their planning decisions. This study performs a laboratory experiment to validate the quantitative method that determines the software maintenance life cycle. The findings confirm the hypothesis and substantiate the appropriateness of the quantitative method proposed.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128390720","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":"Online impact analysis via dynamic compilation technology","authors":"B. Breech, Anthony Danalis, S. Shindo, L. Pollock","doi":"10.1109/ICSM.2004.1357834","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357834","url":null,"abstract":"Dynamic impact analysis based on whole path profiling of method calls and returns has been shown to provide more useful predictions of software change impacts than method-level static slicing and to avoid the overhead of expensive dependency analysis needed for dynamic slicing-based impact analysis. This work presents the design, implementation, and evaluation of an online approach to dynamic impact analysis as an extension to the DynamoRIO binary code modification system and to the Jikes Research Virtual Machine. Storage and postmortem analysis of program traces, even compressed, are avoided.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133441080","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":"Predicting change propagation in software systems","authors":"A. Hassan, R. Holt","doi":"10.1109/ICSM.2004.1357812","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357812","url":null,"abstract":"Software systems contain entities, such as functions and variables, which are related to each other. As a software system evolves to accommodate new features and repair bugs, changes occur to these entities. Developers must ensure that related entities are updated to be consistent with these changes. This paper addresses the question: How does a change in one source code entity propagate to other entities? We propose several heuristics to predict change propagation. We present a framework to measure the performance of our proposed heuristics. We validate our results empirically using data obtained by analyzing the development history for five large open source software systems.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121697541","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":"UML-based reverse engineering and model analysis approaches for software architecture maintenance","authors":"C. Riva, Petri Selonen, Tarja Systä, Jianli Xu","doi":"10.1109/ICSM.2004.1357789","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357789","url":null,"abstract":"This paper proposes a UML-based software maintenance process. The process is guided by architectural descriptions and existing architectural models. The descriptions are given as variants of UML profiles describing the styles and rules relevant for a particular application domain. A reverse engineering subprocess, combining top-down and bottom-up reverse engineering activities, aims at constructing the architectural models. Resulting models are investigated in a model analysis subprocess. The models are checked against the profiles to find violations against the given architectural rules when maintaining and developing the subject system, and they are further analyzed using a set of UML model processing operations. The proposed approach is applied for maintaining a large-scale product platform architecture and real-life product-line products built on top of this platform. The model analysis results of the case study are discussed.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125068328","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 phases and styles of object-oriented systems' evolution","authors":"Zhenchang Xing, Eleni Stroulia","doi":"10.1109/ICSM.2004.1357808","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357808","url":null,"abstract":"Understanding the phases and styles of evolution of software systems can provide valuable insight in support of project management. We present a method for studying the evolution of object-oriented software at system/subsystem level and analyzing the underlying factors that drive its unfolding over time. This method relies on analyzing the design-level structural changes between two subsequent software versions to identify additions, removals, moves, renamings and signature-changes of classes, interfaces, and their methods and fields, represented as change trees. A sequence of such change trees constitutes the system's evolution profile. Based on discrete system evolution profiles, three types of analyses: phasic analysis, gamma analysis, and optimal matching analysis, are applied, to abstract an overall sequential pattern and structural properties of system evolution phases and to develop the typology of system evolution styles. We report on two case studies evaluating our approach.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127765323","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":"Yesterday's Weather: guiding early reverse engineering efforts by summarizing the evolution of changes","authors":"Tudor Gîrba, Stéphane Ducasse, Michele Lanza","doi":"10.1109/ICSM.2004.1357788","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357788","url":null,"abstract":"Knowing where to start reverse engineering a large software system, when no information other than the system's source code itself is available, is a daunting task. Having the history of the code (i.e., the versions) could be of help if this would not imply analyzing a huge amount of data. We present an approach for identifying candidate classes for reverse engineering and reengineering efforts. Our solution is based on summarizing the changes in the evolution of object-oriented software systems by defining history measurements. Our approach, named Yesterday's Weather, is an analysis based on the retrospective empirical observation that classes which changed the most in the recent past also suffer important changes in the near future. We apply this approach on two case studies and show how we can obtain an overview of the evolution of a system and pinpoint its classes that might change in the next versions.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130495670","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}