Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167806
Evelyn J. Barry
Despite the rapidity of technological change it is still true that many software systems remain productive for decades. To stay current these systems must evolve as they age. How can these lifecycle software changes, i.e. software volatility, be conceptualized and measured? What are the antecedents of software volatility? How do software volatility and lifecycle maintenance patterns affect lifecycle maintenance outcomes? This research defines and evaluates a system-level multi-dimensional measure of software volatility. Longitudinal analyses use a panel dataset built from a 20-year log of software modifications to 23 application systems. Contributions from this work include a multi-dimensional measure of software volatility, identification of antecedents of volatility and evidence that software volatility and lifecycle maintenance patterns can predict future maintenance outcomes.
{"title":"Software evolution, volatility and lifecycle maintenance patterns: a longitudinal analysis synopsis","authors":"Evelyn J. Barry","doi":"10.1109/ICSM.2002.1167806","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167806","url":null,"abstract":"Despite the rapidity of technological change it is still true that many software systems remain productive for decades. To stay current these systems must evolve as they age. How can these lifecycle software changes, i.e. software volatility, be conceptualized and measured? What are the antecedents of software volatility? How do software volatility and lifecycle maintenance patterns affect lifecycle maintenance outcomes? This research defines and evaluates a system-level multi-dimensional measure of software volatility. Longitudinal analyses use a panel dataset built from a 20-year log of software modifications to 23 application systems. Contributions from this work include a multi-dimensional measure of software volatility, identification of antecedents of volatility and evidence that software volatility and lifecycle maintenance patterns can predict future maintenance outcomes.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129313041","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167810
H. Völzer, B. Atchison, P. Strooper, P. Lindsay, A. MacDonald
This paper describes a tool that manages a hierarchical, "is a subsystem of"-structure on a set of software development artefacts and that provides configuration management (CM) for subsystems by interacting with an existing CM tool. The tool is based on a recently proposed framework for subsystem-based configuration management. The tool demonstrates the feasibility of the framework and develops it further The design of the framework and the tool was developed in collaboration with Invensys SCADA Development and it is discussed in relation to their current software development process.
{"title":"A tool for subsystem configuration management","authors":"H. Völzer, B. Atchison, P. Strooper, P. Lindsay, A. MacDonald","doi":"10.1109/ICSM.2002.1167810","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167810","url":null,"abstract":"This paper describes a tool that manages a hierarchical, \"is a subsystem of\"-structure on a set of software development artefacts and that provides configuration management (CM) for subsystems by interacting with an existing CM tool. The tool is based on a recently proposed framework for subsystem-based configuration management. The tool demonstrates the feasibility of the framework and develops it further The design of the framework and the tool was developed in collaboration with Invensys SCADA Development and it is discussed in relation to their current software development process.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128628540","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167807
R. Koschke
Component recovery and remodularization is a means to get back control on large and complex legacy systems suffering from ad-hoc changes by recovering logical components and restructuring the physical components accordingly to decrease coupling among components and increase cohesion of components. This thesis is on unifying, quantitatively and qualitatively evaluating, improving, and integrating automatic and semi-automatic methods for component recovery.
{"title":"Atomic architectural component recovery for program understanding and evolution","authors":"R. Koschke","doi":"10.1109/ICSM.2002.1167807","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167807","url":null,"abstract":"Component recovery and remodularization is a means to get back control on large and complex legacy systems suffering from ad-hoc changes by recovering logical components and restructuring the physical components accordingly to decrease coupling among components and increase cohesion of components. This thesis is on unifying, quantitatively and qualitatively evaluating, improving, and integrating automatic and semi-automatic methods for component recovery.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120937593","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167759
D. A. Penny
In commercial software vendor organizations, evolution of a software product by means of scheduled feature releases is a central activity. Relying on existing work on maintenance task effort prediction, this paper proposes a management framework for periodically capturing updated estimation data and using it as a basis for initial planning and subsequent re-planning of releases. The framework is founded upon a mathematically-stated, metrics-based model of the release cycle tuned to the software vendor environment. It allows non-technical product managers to make sensible, fast-paced and fine-grained release decisions without undue overhead or undue reliance upon the software development organization. This approach has been used successfully in practice by the author as vice president of the software development division of a mid-sized enterprise software vendor company.
{"title":"An estimation-based management framework for enhancive maintenance in commercial software products","authors":"D. A. Penny","doi":"10.1109/ICSM.2002.1167759","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167759","url":null,"abstract":"In commercial software vendor organizations, evolution of a software product by means of scheduled feature releases is a central activity. Relying on existing work on maintenance task effort prediction, this paper proposes a management framework for periodically capturing updated estimation data and using it as a basis for initial planning and subsequent re-planning of releases. The framework is founded upon a mathematically-stated, metrics-based model of the release cycle tuned to the software vendor environment. It allows non-technical product managers to make sensible, fast-paced and fine-grained release decisions without undue overhead or undue reliance upon the software development organization. This approach has been used successfully in practice by the author as vice president of the software development division of a mid-sized enterprise software vendor company.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126328996","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167742
M. Harman, Lin Hu, R. Hierons, M. Munro, Xingyuan Zhang, J. J. Dolado, Mari Carmen Otero, J. Wegener
Side-effects are widely believed to impede program comprehension and have a detrimental effect upon software maintenance. This paper introduces an algorithm for side-effect removal which splits the side-effects into their pure expression meaning and their state-changing meaning. Symbolic execution is used to determine the expression meaning, while transformation is used to place the state-changing part in a suitable location in a transformed version of the program. This creates a program which is semantically equivalent to the original but guaranteed to be free from side-effects. The paper also reports the results of an empirical study which demonstrates that the application of the algorithm causes a significant improvement in program comprehension.
{"title":"A post-placement side-effect removal algorithm","authors":"M. Harman, Lin Hu, R. Hierons, M. Munro, Xingyuan Zhang, J. J. Dolado, Mari Carmen Otero, J. Wegener","doi":"10.1109/ICSM.2002.1167742","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167742","url":null,"abstract":"Side-effects are widely believed to impede program comprehension and have a detrimental effect upon software maintenance. This paper introduces an algorithm for side-effect removal which splits the side-effects into their pure expression meaning and their state-changing meaning. Symbolic execution is used to determine the expression meaning, while transformation is used to place the state-changing part in a suitable location in a transformed version of the program. This creates a program which is semantically equivalent to the original but guaranteed to be free from side-effects. The paper also reports the results of an empirical study which demonstrates that the application of the algorithm causes a significant improvement in program comprehension.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125500373","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167778
T. Eisenbarth, R. Koschke, D. Simon
The need for changing a program frequently confronts maintainers with the reality that no valid architectural description is at hand. To solve that problem, we presented at ICSM 2001 a language-independent and easy to use technique for opportunistic and demand driven location of features in source code based on static and dynamic analysis and concept analysis. In order to further validate the technique, we performed an industrial case study on a 1.2 million LOC production system. The experiences we made during that case study showed two problems of our approach: the growing complexity of concept lattices for large systems with many features and the need for handling compositions of features. This paper extends our technique to solve these problems. We show how this method allows incremental exploration of features while preserving the "mental map" the maintainer has gained through the analysis. The second improvement is a detailed look at composing features into more complex scenarios. Rather than assuming a one-to-one correspondence between features and scenarios as in earlier work, we can now handle scenarios that invoke many features.
{"title":"Incremental location of combined features for large-scale programs","authors":"T. Eisenbarth, R. Koschke, D. Simon","doi":"10.1109/ICSM.2002.1167778","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167778","url":null,"abstract":"The need for changing a program frequently confronts maintainers with the reality that no valid architectural description is at hand. To solve that problem, we presented at ICSM 2001 a language-independent and easy to use technique for opportunistic and demand driven location of features in source code based on static and dynamic analysis and concept analysis. In order to further validate the technique, we performed an industrial case study on a 1.2 million LOC production system. The experiences we made during that case study showed two problems of our approach: the growing complexity of concept lattices for large systems with many features and the need for handling compositions of features. This paper extends our technique to solve these problems. We show how this method allows incremental exploration of features while preserving the \"mental map\" the maintainer has gained through the analysis. The second improvement is a detailed look at composing features into more complex scenarios. Rather than assuming a one-to-one correspondence between features and scenarios as in earlier work, we can now handle scenarios that invoke many features.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125961112","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}
Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167809
M. Kajko-Mattsson
We present our PhD thesis, in which we suggest a process model for handling software problems within corrective maintenance. Our model is called CM/sup 3/: Problem Management.
{"title":"Corrective Maintenance Maturity Model: Problem Management","authors":"M. Kajko-Mattsson","doi":"10.1109/ICSM.2002.1167809","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167809","url":null,"abstract":"We present our PhD thesis, in which we suggest a process model for handling software problems within corrective maintenance. Our model is called CM/sup 3/: Problem Management.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-10-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115283854","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}
Pub Date : 2002-07-25DOI: 10.1109/ICSM.2002.1167828
Johan Moe, D. A. Carr
Understanding the dynamic behavior of a system is a key determinant to successful system maintenance. This paper contributes two studies at Ericsson Radio Systems of the perfective maintenance of large and distributed systems. Our approach is a holistic method based on tracing and the technical solution to acquisition of trace data is to use CORBA interceptors. Our method has proven useful in solving a wide variety of problems in design as well as implementation and test-all this at a small price. Examples of improvements are performance, new test cases and merging of objects.
{"title":"Using execution trace data to improve distributed systems","authors":"Johan Moe, D. A. Carr","doi":"10.1109/ICSM.2002.1167828","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167828","url":null,"abstract":"Understanding the dynamic behavior of a system is a key determinant to successful system maintenance. This paper contributes two studies at Ericsson Radio Systems of the perfective maintenance of large and distributed systems. Our approach is a holistic method based on tracing and the technical solution to acquisition of trace data is to use CORBA interceptors. Our method has proven useful in solving a wide variety of problems in design as well as implementation and test-all this at a small price. Examples of improvements are performance, new test cases and merging of objects.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2002-07-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133855634","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}
The understanding of system evolution is of fundamental importance to the software engineering enterprise. Lehman's Laws have been a fundamental and seminal start on the road to that understanding. However, we have a long way to go. We need more instances of systems and their evolution. We need more attributes of those evolutions. We need related process and organizational data. It is a research area that is a rich field that will yield a deep understanding of the phenomena of system evolution. But, we have a long way to go and a lot of work to do.
{"title":"Laws and principles of evolution","authors":"D. Perry","doi":"10.1109/ICSM.2002.10001","DOIUrl":"https://doi.org/10.1109/ICSM.2002.10001","url":null,"abstract":"The understanding of system evolution is of fundamental importance to the software engineering enterprise. Lehman's Laws have been a fundamental and seminal start on the road to that understanding. However, we have a long way to go. We need more instances of systems and their evolution. We need more attributes of those evolutions. We need related process and organizational data. It is a research area that is a rich field that will yield a deep understanding of the phenomena of system evolution. But, we have a long way to go and a lot of work to do.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122727159","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}
Pub Date : 1900-01-01DOI: 10.1109/ICSM.2002.1167773
Yves Vandewoude, Y. Berbers
This position paper describes ongoing work in which the Java-based SEESCOA component system is extended with functionality for run-time evolution. First, an assessment is made of the state-of-the-art in dynamic updating, and the applicability of existing systems for dynamic updating is examined. Then a new approach is presented, in which the concept of ports is used to redirect messages between components. The problem of class-file reloading in the JVM is avoided by modification of the classes at load-time to include version information. The predictability requirement of embedded systems is assured by updating all component instances at once.
{"title":"Run-time evolution for embedded component-oriented systems","authors":"Yves Vandewoude, Y. Berbers","doi":"10.1109/ICSM.2002.1167773","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167773","url":null,"abstract":"This position paper describes ongoing work in which the Java-based SEESCOA component system is extended with functionality for run-time evolution. First, an assessment is made of the state-of-the-art in dynamic updating, and the applicability of existing systems for dynamic updating is examined. Then a new approach is presented, in which the concept of ports is used to redirect messages between components. The problem of class-file reloading in the JVM is avoided by modification of the classes at load-time to include version information. The predictability requirement of embedded systems is assured by updating all component instances at once.","PeriodicalId":385190,"journal":{"name":"International Conference on Software Maintenance, 2002. Proceedings.","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125390921","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}