{"title":"Dynamic Updating of Software Systems Based on Aspects","authors":"S. Previtali, T. Gross","doi":"10.1109/ICSM.2006.23","DOIUrl":"https://doi.org/10.1109/ICSM.2006.23","url":null,"abstract":"Long-running applications such as network services require continuous uptime but also frequent changes to the software. To avoid downtime for software maintenance, applications must be updated at run-time. We describe a system based on the ideas of aspect-oriented programming (AOP) to manage such updates. Join points as defined by AOP establish locations for code modification in a program. We use these join points to guide software updates. Updating a system is a two-step process: the original (old) and new (updated) versions of a software system are compared and a list of update actions and pointcuts is constructed. We present a case-study to evaluate the applicability of this approach","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124776497","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":"Unconventional Views on Conventional Wisdom about Software Engineering Research","authors":"D. Notkin","doi":"10.1109/ICSM.2006.71","DOIUrl":"https://doi.org/10.1109/ICSM.2006.71","url":null,"abstract":"David Notkin is the Bradley Professor of Computer Science & Engineering at the University of Washington, where he has been on the faculty since 1984, serving as department chair from 2001-2006. He received his Sc.B. from Brown University, and his Ph.D. from Carnegie Mellon University. His teaching and research interests are in software engineering, with a particular focus in software evolution understanding why software is so hard and expensive to change and in reducing those difficulties. Notkin has held visiting faculty positions at Tokyo Institute of Technology and Osaka University, and spent four months as a visiting researcher at IBM's Haifa Research Laboratory. Notkin was awarded an NSF Presidential Young Investigator Award in 1988 and was named an ACM Fellow in 1998. In 2000, he received the University of Washington Distinguished Graduate Mentor Award. He has served as an associate editor of the ACM Transactions on Software Engineering and Metholodogy and on IEEE Transactions on Software Engineering. He was program co-chair for the 17th International Conference on Software Engineering and program chair for the 1st ACM SIGSOFT Symposium on the Foundations of Software Engineering. He has over a dozen Ph.D. students who are active in research, education, and service.","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132352186","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":"C Macro Handling in Automated Source Code Transformation Systems","authors":"Bin Yao, W. Mielke, Steve Kennedy, R. Buskens","doi":"10.1109/ICSM.2006.16","DOIUrl":"https://doi.org/10.1109/ICSM.2006.16","url":null,"abstract":"In this paper, we present an overview of our approach to C macro handling in the Proteus C/C++ code transformation system. This approach gives us the capability to fully capture the semantics of complex macros without sacrificing high fidelity. As part of the Proteus system, they have been successfully applied to millions of lines of C/C++ code","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123970640","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}
Andrian Marcus, A. D. Lucia, J. Hayes, D. Poshyvanyk
{"title":"Working Session: Information Retrieval Based Approaches in Software Evolution","authors":"Andrian Marcus, A. D. Lucia, J. Hayes, D. Poshyvanyk","doi":"10.1109/ICSM.2006.75","DOIUrl":"https://doi.org/10.1109/ICSM.2006.75","url":null,"abstract":"During software evolution a collection of related artifacts with different representations are created. Some of these are composed of structured data (e.g., analysis data), some contain semi-structured information (e.g., source code), and many include unstructured information (e.g., text). Research efforts exist that are trying to extract, represent, and analyze the unstructured information in software. Information retrieval (IR) techniques are used quite successfully in the past years to represent and extract textual information from software artifacts, with application to many maintenance tasks. This working session will focus on the state on the art in the application of IR-based techniques to support software maintenance activities. The session aims to identify the main research and practical issues in the field, to determine future work directions, and to foster collaborations among the participants","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121869442","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 Method for an Accurate Early Prediction of Faults in Modified Classes","authors":"Piotr Tomaszewski, Håkan Grahn, L. Lundberg","doi":"10.1109/ICSM.2006.6","DOIUrl":"https://doi.org/10.1109/ICSM.2006.6","url":null,"abstract":"In this paper we suggest and evaluate a method for predicting fault densities in modified classes early in the development process, i.e., before the modifications are implemented. We start by establishing methods that according to literature are considered the best for predicting fault densities of modified classes. We find that these methods can not be used until the system is implemented. We suggest our own methods, which are based on the same concept as the methods suggested in the literature, with the difference that our methods are applicable before the coding has started. We evaluate our methods using three large telecommunication systems produced by Ericsson. We find that our methods provide predictions that are of similar quality to the predictions based on metrics available after the code is implemented. Our predictions are, however, available much earlier in the development process. Therefore, they enable better planning of efficient fault prevention and fault detection activities","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127680903","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 Feedback Based Quality Assessment to Support Open Source Software Evolution: the GRASS Case Study","authors":"S. Bouktif, G. Antoniol, E. Merlo","doi":"10.1109/ICSM.2006.5","DOIUrl":"https://doi.org/10.1109/ICSM.2006.5","url":null,"abstract":"Managing the software evolution for large open source software is a major challenge. Some factors that make software hard to maintain are geographically distributed development teams, frequent and rapid turnover of volunteers, absence of a formal means, and lack of documentation and explicit project planning. In this paper we propose remote and continuous analysis of open source software to monitor evolution using available resources such as CVS code repository, commitment log files and exchanged mail. Evolution monitoring relies on three principal services. The first service analyzes and monitors the increase in complexity and the decline in quality; the second supports distributed developers by sending them a feedback report after each contribution; the third allows developers to gain insight into the \"big picture\" of software by providing a dashboard of project evolution. Besides the description of provided services, the paper presents a prototype environment for continuous analysis of the evolution of GRASS, an open source software","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127986478","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 the Case-Based Ranking Methodology for Test Case Prioritization","authors":"P. Tonella, P. Avesani, A. Susi","doi":"10.1109/ICSM.2006.74","DOIUrl":"https://doi.org/10.1109/ICSM.2006.74","url":null,"abstract":"The test case execution order affects the time at which the objectives of testing are met. If the objective is fault detection, an inappropriate execution order might reveal most faults late, thus delaying the bug fixing activity and eventually the delivery of the software. Prioritizing the test cases so as to optimize the achievement of the testing goal has potentially a positive impact on the testing costs, especially when the test execution time is long. Test engineers often possess relevant knowledge about the relative priority of the test cases. However, this knowledge can be hardly expressed in the form of a global ranking or scoring. In this paper, we propose a test case prioritization technique that takes advantage of user knowledge through a machine learning algorithm, case-based ranking (CBR). CBR elicits just relative priority information from the user, in the form of pairwise test case comparisons. User input is integrated with multiple prioritization indexes, in an iterative process that successively refines the test case ordering. Preliminary results on a case study indicate that CBR overcomes previous approaches and, for moderate suite size, gets very close to the optimal solution","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134629312","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":"Object-Oriented Software Configuration Management","authors":"T. Nguyen","doi":"10.1109/ICSM.2006.41","DOIUrl":"https://doi.org/10.1109/ICSM.2006.41","url":null,"abstract":"The ability to manage the evolution of a software system is critical to a successful development process. In a typical software development process, software engineers think and reason in terms of logical abstractions, their compositions and interrelations. However, existing version control and software configuration management (SCM) systems treat a software system as a set of files in a conventional file system. This creates an impedance mismatch between the design and implementation domain (semantic level) and the configuration management domain (file level). File-oriented SCM systems, whose concepts are heavily based on the storage structure, can become burdensome for developers partly because design/implementation methods and SCM infrastructures require different mental models. This paper describes Molhado (Nguyen, 2005; Nguyen et al., 2004; Nguyen et al., 2005), an extensible and adaptable SCM framework and infrastructure that helps developers quickly create the core of an object-oriented SCM system for any application domain independent of the concrete file structure. SCM systems based on Molhado can be built to operate entirely at the logical level, eliminating that impedance mismatch","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132525271","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":"Reverse Engineering Method Stereotypes","authors":"Natalia Dragan, M. Collard, J. Maletic","doi":"10.1109/ICSM.2006.54","DOIUrl":"https://doi.org/10.1109/ICSM.2006.54","url":null,"abstract":"An approach to automatically identify the stereotypes of all the methods in an entire system is presented. A taxonomy for object-oriented class method stereotypes is given that unifies and extends the existing literature to address gaps and deficiencies. Based on this taxonomy, a set of definitions is given and method stereotypes are reverse engineered using lightweight static program analysis. Classification is done solely by programming language structures and idioms, in this case C++. The approach is used to automatically re-document each method by annotating the original source code with the stereotype information. A demonstration of the accuracy and scalability of the approach is given","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"364 15","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114085563","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}
M. Kajko-Mattsson, G. Lewis, Dave Siracusa, Taylor Nelson, N. Chapin, Michael Heydt, Jason Nocks, Harry Snee
{"title":"Long-term Life Cycle Impact of Agile Methodologies","authors":"M. Kajko-Mattsson, G. Lewis, Dave Siracusa, Taylor Nelson, N. Chapin, Michael Heydt, Jason Nocks, Harry Snee","doi":"10.1109/ICSM.2006.34","DOIUrl":"https://doi.org/10.1109/ICSM.2006.34","url":null,"abstract":"Dissatisfaction with heavyweight development approaches has lead to a proposal of agile methodologies. While heavyweight approaches are geared towards careful project planning, formalized quality assurance, and controlled and rigorous software development processes, the agile approaches focus on quick adaptation to change, and flexibility. Today, there are a number of different agile methods available, such as Scrum, Crystal, Adaptive Software Development, Feature Driven Development, and extreme programming. Although different, they share the same principles. Some of them are: (1) individuals and interactions over processes and tools, (2) working code over comprehensive documentation, (3) customer collaboration over contract negotiation, and (4) responding to change over following a plan. The proponents claim that agile methodologies lead to more effective and efficient development. The opponents, on the other hand, have stamped the agile approach as a \"license to hack\" or \"cowboy\", or \"code-and-fix\" method.","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126667156","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}