{"title":"The impact of using pair programming on system evolution a simulation-based study","authors":"P. Wernick, T. Hall","doi":"10.1109/ICSM.2004.1357828","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357828","url":null,"abstract":"We investigate the impact of pair programming on the long term evolution of software systems. We use system dynamics to build simulation models which predict the trend in system growth with and without pair programming. Initial results suggest that the extra effort needed for two people to code together may generate sufficient benefit to justify pair programming.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"34 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":"132624620","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":"Test-driven development and software maintenance","authors":"S. Tilley","doi":"10.1109/ICSM.2004.1357840","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357840","url":null,"abstract":"Test-driven development is a relatively new approach to software engineering, involving the iterative construction of test cases first, and then the application code that passes the test cases second. This panel session will discuss the impacts of test-driven development on long-term software maintenance costs. The panelists represent different research disciplines related to this topic, including software maintenance, software testing, program redocumentation, program understanding, and empirical studies.","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":"130928297","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":"Abstracting module views from source code","authors":"M. Pinzger, M. Fischer, M. Jazayeri, H. Gall","doi":"10.1109/ICSM.2004.1357875","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357875","url":null,"abstract":"We have investigated an approach for abstracting and visualizing software module views from source code: ArchView computes abstraction metrics that are used to filter and provide architectural elements and relationships of major interest. Source code views can, therefore, be reduced in detail and size resulting in more reasonable and comprehensible module views on software architectures. ArchView focuses on modules and their relationships: source level relationships such as inheritance, call structures, or includes are abstracted to a module level to show basic dependency relationships of modules.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"56 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":"126522870","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":"Developing a multi-objective decision approach to select source-code improving transformations","authors":"L. Tahvildari, K. Kontogiannis","doi":"10.1109/ICSM.2004.1357829","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357829","url":null,"abstract":"Our previous work on improving the quality of object-oriented legacy systems through re-engineering proposed a software transformation framework based on soft-goal inter-dependency graphs (Tahvildari and Kontogiannis, 2002). We considered a class of transformations where a program is transformed into another program in the same language (source-to-source transformations) and that the two programs may differ in specific qualities such as performance and maintainability. This paper defines a decision making process that determines a list of source-code improving transformations among several applicable transformations. The decision-making process is developed on a multi-objective decision analysis technique. This type of technique is necessary as there are a number of different, and sometimes conflicting, criterion among nonfunctional requirements. For the migrant system, the proposed approach uses heuristic estimates to guide the discovery process.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"53 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":"127742155","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 hierarchy of dynamic software views: from object-interactions to feature-interactions","authors":"M. Salah, S. Mancoridis","doi":"10.1109/ICSM.2004.1357792","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357792","url":null,"abstract":"This work presents a hierarchy of dynamic views that is constructed using tools that analyze program execution traces. At the highest-level of abstraction are the feature-interaction and implementation views, which track the inter-feature dependencies as well as the classes that implement these features. At the middle-level is the class-interaction view, which is an abstract view of the object-interactions. The object-interaction view is the base view for all the views, and captures the low-level runtime interactions between objects. Two case studies are used to demonstrate the effectiveness of our work.","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":"131172019","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 process for improving software testability","authors":"Troy Lamoreaux, Mark Ofori-Kyei, Mark Pinone","doi":"10.1109/ICSM.2004.1357850","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357850","url":null,"abstract":"The process of software engineering creates a unique problem for testability. MediServe Information Systems has developed a process for creating test harnesses in an automated testing environment. The process is allowing MediServe to build maintainable products that contain hooks for testability at the time of the products release.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"718 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":"116128408","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 cost model for software maintenance & evolution","authors":"H. Sneed","doi":"10.1109/ICSM.2004.1357810","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357810","url":null,"abstract":"The purpose of this essay is to present a costing model for software maintenance and evolution based on a separation of fixed and variable costs. There has always been a problem in distinguishing between the maintenance activities covered by the standard maintenance fee and those charged extra to the user. Separating these two types of costs is essential to every maintenance operation to prevent costs from getting out of control. In this paper, the author proposes a solution, which can lead to better cost estimations and a financially more stable maintenance operation. Particular emphasis is placed on a sharp division between work done to maintain the system functionality as it is and work done to enhance that functionality.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"43 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":"114777266","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":"DDFgraph: a tool for dynamic data flow graphs visualization","authors":"Françoise Balmas","doi":"10.1109/ICSM.2004.1357859","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357859","url":null,"abstract":"DDFgraph allows extraction and visualization of dynamic data-flow graphs computed at runtime. It currently relies on a Lisp interpreter modified to monitor data use (both of global and local variables) during program execution and to detect the corresponding data flow, namely the value of variables 'flowing' from one point of the program to another. A companion database stores this flow and produces, on demand, its representation as a graph for dot. Furthermore, the flow graph can be manipulated, in order to reduce the size of the graph, through extraction of some parts of particular interest and/or through compaction of given subparts leaving visible only global flow.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"48 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":"127540762","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":"Evaluating architectural stability with real options theory","authors":"R. Bahsoon, W. Emmerich","doi":"10.1109/ICSM.2004.1357832","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357832","url":null,"abstract":"Architectural stability refers to the extent to which a software architecture is flexible enough to respond to changes in stakeholders' requirements and the environment. We contribute to a model that exploits options theory to evaluate architectural stability. We describe how we have derived the model: the analogy and assumptions made; its formulation and possible interpretations. We use a refactoring case study to empirically evaluate the model. The results show that the model can provide insights into architectural stability and investment decisions related to the evolution of software systems.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"12 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":"125510116","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":"Evolution and maintenance of web service applications","authors":"M. Kajko-Mattsson","doi":"10.1109/ICSM.2004.1357847","DOIUrl":"https://doi.org/10.1109/ICSM.2004.1357847","url":null,"abstract":"In this paper, we suggest a panel debate on evolution and maintenance of web services. The panel will discuss the evolution and maintenance of web service applications.","PeriodicalId":348668,"journal":{"name":"20th IEEE International Conference on Software Maintenance, 2004. Proceedings.","volume":"119 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":"131922059","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}