Pub Date : 2002-10-03DOI: 10.1109/ICSM.2002.1167805
A. Nikora
With the robotic exploration of the Solar System well underway, a logical next step is the development of spacecraft capable of exploring the regions beyond the orbit of Pluto (e.g., the Kuiper Belt and the Oort Cloud), or capable of exploring in situ the nearer extra-solar planetary systems. Barring unforeseen advances in propulsion and communications technologies, the mission times for such voyages will be measured in decades or centuries, and the spacecraft will be required to achieve a m~ch higher degree of autonomous operation than fuas been the case for previous and current planetary missions. These characteristics pose significant maintenance challenges that must be overcoflle if such systems are to be successfully fielded.1 Recent work at the Jet Propuls~on Laboratory (JPL) has identified technologies that will be required to develop these types of spacecraft [I]. The list below, taken from [I], summarizes some of the advances that will be required. b) Self -repair/self -healing techniques 2) On-Board Autonomy a) Goal-oriented software, autonomous planning and execution b) Autonomous fault-handling c) Self -learning/self -discovery
{"title":"Maintenance issues for very long-lived robotic space systems","authors":"A. Nikora","doi":"10.1109/ICSM.2002.1167805","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167805","url":null,"abstract":"With the robotic exploration of the Solar System well underway, a logical next step is the development of spacecraft capable of exploring the regions beyond the orbit of Pluto (e.g., the Kuiper Belt and the Oort Cloud), or capable of exploring in situ the nearer extra-solar planetary systems. Barring unforeseen advances in propulsion and communications technologies, the mission times for such voyages will be measured in decades or centuries, and the spacecraft will be required to achieve a m~ch higher degree of autonomous operation than fuas been the case for previous and current planetary missions. These characteristics pose significant maintenance challenges that must be overcoflle if such systems are to be successfully fielded.1 Recent work at the Jet Propuls~on Laboratory (JPL) has identified technologies that will be required to develop these types of spacecraft [I]. The list below, taken from [I], summarizes some of the advances that will be required. b) Self -repair/self -healing techniques 2) On-Board Autonomy a) Goal-oriented software, autonomous planning and execution b) Autonomous fault-handling c) Self -learning/self -discovery","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":"130516975","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.1167820
Z. Wu
Parnas tables are forms of tabular software requirement representations. Case studies on using Parnas tables in developing General Motor's Individual Dealership Marketing Co-op Web-enabled system show the significant reduction in requirement resources, testing and correction cost, and process complexity. This is largely due to the precision and simplicity of the tables.
{"title":"Case study on software engineering practices with Parnas tables","authors":"Z. Wu","doi":"10.1109/ICSM.2002.1167820","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167820","url":null,"abstract":"Parnas tables are forms of tabular software requirement representations. Case studies on using Parnas tables in developing General Motor's Individual Dealership Marketing Co-op Web-enabled system show the significant reduction in requirement resources, testing and correction cost, and process complexity. This is largely due to the precision and simplicity of the tables.","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":"133898291","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.1167771
A. D. Lucia, M. D. Penta, Silvio Stefanucci, Gabriele Venturi
Effort estimation is a valuable asset to managers in planning maintenance activities and performing cost/benefit analysis. Early estimates and accurate evaluations permit to significantly reduce project risks and to improve resource scheduling. In this paper we present an approach for an early effort estimation based on the knowledge of a fraction of the programs composing the work-packet. As a case study, the proposed approach has been applied to a large massive maintenance project performed by a major international software enterprise.
{"title":"Early effort estimation of massive maintenance processes","authors":"A. D. Lucia, M. D. Penta, Silvio Stefanucci, Gabriele Venturi","doi":"10.1109/ICSM.2002.1167771","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167771","url":null,"abstract":"Effort estimation is a valuable asset to managers in planning maintenance activities and performing cost/benefit analysis. Early estimates and accurate evaluations permit to significantly reduce project risks and to improve resource scheduling. In this paper we present an approach for an early effort estimation based on the knowledge of a fraction of the programs composing the work-packet. As a case study, the proposed approach has been applied to a large massive maintenance project performed by a major international software enterprise.","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":"121245557","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.1167781
M. Harman, Lin Hu, R. Hierons, C. Fox, S. Danicic, J. Wegener, H. Sthamer, A. Baresel
Evolutionary testing is a search based approach to the automated generation of systematic test data, in which the search is guided by the test data adequacy criterion. Two problems for evolutionary testing are the large size of the search space and structural impediments in the implementation of the program which inhibit the formulation of a suitable fitness function to guide the search. In this paper we claim that slicing can be used to narrow the search space and transformation can be applied to the problem of structural impediments. The paper presents examples of how these two techniques have been successfully employed to make evolutionary testing both more efficient and more effective.
{"title":"Evolutionary testing supported by slicing and transformation","authors":"M. Harman, Lin Hu, R. Hierons, C. Fox, S. Danicic, J. Wegener, H. Sthamer, A. Baresel","doi":"10.1109/ICSM.2002.1167781","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167781","url":null,"abstract":"Evolutionary testing is a search based approach to the automated generation of systematic test data, in which the search is guided by the test data adequacy criterion. Two problems for evolutionary testing are the large size of the search space and structural impediments in the implementation of the program which inhibit the formulation of a suitable fitness function to guide the search. In this paper we claim that slicing can be used to narrow the search space and transformation can be applied to the problem of structural impediments. The paper presents examples of how these two techniques have been successfully employed to make evolutionary testing both more efficient and more effective.","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":"124220292","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.1167827
A. Arsanjani, J. Alpigini, H. Zedan
The maintenance and evolution of distributed, heterogeneous software components; including both legacy and green-field subsystems is described through a highly re-configurable architectural style. It is shown how this architectural style is realized through identification, separation and externalization of a formal specification of the manners of the application domain and its components. The approach is based on the notion of enterprise component (EC). An enterprise component is defined as an architectural pattern that is leveraged to provide a uniform mechanism for management of component boundaries between otherwise entropic systems consisting of multiple legacy systems coexisting with newer, object and component-based application programs. EC's are identified through a domain decomposition that includes mapping business architecture onto component-based software architecture. Extensions to current methodologies and architectural practices to support and realize such a style are presented.
{"title":"Externalizing component manners to achieve greater maintainability through a highly re-configurable architectural style","authors":"A. Arsanjani, J. Alpigini, H. Zedan","doi":"10.1109/ICSM.2002.1167827","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167827","url":null,"abstract":"The maintenance and evolution of distributed, heterogeneous software components; including both legacy and green-field subsystems is described through a highly re-configurable architectural style. It is shown how this architectural style is realized through identification, separation and externalization of a formal specification of the manners of the application domain and its components. The approach is based on the notion of enterprise component (EC). An enterprise component is defined as an architectural pattern that is leveraged to provide a uniform mechanism for management of component boundaries between otherwise entropic systems consisting of multiple legacy systems coexisting with newer, object and component-based application programs. EC's are identified through a domain decomposition that includes mapping business architecture onto component-based software architecture. Extensions to current methodologies and architectural practices to support and realize such a style are presented.","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":"122662151","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.1167755
Matthias M. Müller, R. Typke, Oliver Hagner
Assertions, or more generally "programming by contract", have gained widespread acceptance in the computer science community as a means for correct program development. However the literature lacks an empirical evaluation of the benefits a programmer gains by using assertions in his software development. This paper reports two controlled experiments that close this gap. Both experiments compare "programming by contract" to the traditional programming style without assertions. The evaluation of the first experiment suggests that assertions decrease the programming effort for the extension of existing software, measured as time needed to finish the task, while the programming effort slightly increases during the development of new code. The second experiment shows that the programming effort tended to be larger with assertions than without. In addition, it shows that the reliability of the written programs slightly increases with the usage of assertions compared to the programs written without assertions.
{"title":"Two controlled experiments concerning the usefulness of assertions as a means for programming","authors":"Matthias M. Müller, R. Typke, Oliver Hagner","doi":"10.1109/ICSM.2002.1167755","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167755","url":null,"abstract":"Assertions, or more generally \"programming by contract\", have gained widespread acceptance in the computer science community as a means for correct program development. However the literature lacks an empirical evaluation of the benefits a programmer gains by using assertions in his software development. This paper reports two controlled experiments that close this gap. Both experiments compare \"programming by contract\" to the traditional programming style without assertions. The evaluation of the first experiment suggests that assertions decrease the programming effort for the extension of existing software, measured as time needed to finish the task, while the programming effort slightly increases during the development of new code. The second experiment shows that the programming effort tended to be larger with assertions than without. In addition, it shows that the reliability of the written programs slightly increases with the usage of assertions compared to the programs written without assertions.","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":"121748331","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.1167769
Eduardo Fuentetaja, D. Bagert
The last decade of research in the software evolution field has resulted in successful empirical models for software systems growth. Although the models are able to forecast the growth trend of a number of software systems, there are still inconsistencies that must be addressed before the models can be incorporated into a final theory of software evolution. This study applies an innovative approach: the application of time series analysis techniques to historical data of software systems growth. Preliminary results have found the presence of anticorrelations in the data, phenomena that would validate some laws of software evolution.
{"title":"Software evolution from a time-series perspective","authors":"Eduardo Fuentetaja, D. Bagert","doi":"10.1109/ICSM.2002.1167769","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167769","url":null,"abstract":"The last decade of research in the software evolution field has resulted in successful empirical models for software systems growth. Although the models are able to forecast the growth trend of a number of software systems, there are still inconsistencies that must be addressed before the models can be incorporated into a final theory of software evolution. This study applies an innovative approach: the application of time series analysis techniques to historical data of software systems growth. Preliminary results have found the presence of anticorrelations in the data, phenomena that would validate some laws of software evolution.","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":"123105095","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.1167802
N. Madhavji, T. Thompson, P. Loucopoulos, W. Agresti, Karel Vredenburg
We describe a case study of requirements changes due to an evolving environment. The Congruence Evaluation System was a proof of concept (CES POC) system which was part of a constantly evolving environment, and this change in the environment dictated the fitness of the CES POC system in the environment. The system served excellently for basic research purposes, but failed seriously in the long-term goal of evolvability with the set of coexisting research tools. We assessed the state of the system requirements, as well as that of the environment, at different times during system development and redevelopment. From this assessment we gained a detailed insight into how environmental evolution affects system survivability in terms of requirements changes. In this case study, we also found some empirical support for Lehman's (Lehman and Ramil, 2001) seventh law of software evolution, which has until now, neither been empirically supported nor refitted.
我们描述了一个由于环境变化而导致需求变化的案例研究。一致性评价系统是一个概念验证系统,它是不断变化的环境的一部分,这种环境的变化决定了ce POC系统在环境中的适合度。该系统在基础研究目的方面表现出色,但在与一系列共存的研究工具的可进化性这一长期目标方面却严重失败。我们在系统发展和再开发的不同时间评估系统需求的状态,以及环境的状态。从这个评估中,我们获得了关于环境演变如何影响需求变化方面的系统生存能力的详细见解。在这个案例研究中,我们还发现了一些对Lehman (Lehman and Ramil, 2001)软件进化第七定律的实证支持,而到目前为止,该定律既没有得到实证支持,也没有得到修正。
{"title":"The impact of environmental evolution on requirements changes","authors":"N. Madhavji, T. Thompson, P. Loucopoulos, W. Agresti, Karel Vredenburg","doi":"10.1109/ICSM.2002.1167802","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167802","url":null,"abstract":"We describe a case study of requirements changes due to an evolving environment. The Congruence Evaluation System was a proof of concept (CES POC) system which was part of a constantly evolving environment, and this change in the environment dictated the fitness of the CES POC system in the environment. The system served excellently for basic research purposes, but failed seriously in the long-term goal of evolvability with the set of coexisting research tools. We assessed the state of the system requirements, as well as that of the environment, at different times during system development and redevelopment. From this assessment we gained a detailed insight into how environmental evolution affects system survivability in terms of requirements changes. In this case study, we also found some empirical support for Lehman's (Lehman and Ramil, 2001) seventh law of software evolution, which has until now, neither been empirically supported nor refitted.","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":"133888292","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.1167783
A. Arsanjani
Grammar-oriented Object design (GOOD) uses a business domain-specific language to model the flow an constraints on a set of collaborating enterprise components (EC). Maintenance of these components and their flow composition is a major issue. We present a software tool called the, Business Compiler (BC) that facilitates the definition, debugging and execution of business flow languages in order to help animate and execute the collaboration of components reflecting the business process steps defined by a business modeler. Architects enhance the grammar with component services that serve as actions in,the grammar. The combination of flow definition by modelers and component services by software architects provides a powerful collaborative environment for enabling the incremental creation of a highly re-configurable-architectural style. BC consists Of an application framework that supports component-based development and includes a GUI debugger front end This helps modelers by providing dynamic documentation an can be used by architects to create and execute a formal specification of business flow to facilitate maintainability through a highly adaptive and re-configurable architectural style.
{"title":"Business compilers: towards supporting a highly re-configurable architectural style for service-oriented architecture","authors":"A. Arsanjani","doi":"10.1109/ICSM.2002.1167783","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167783","url":null,"abstract":"Grammar-oriented Object design (GOOD) uses a business domain-specific language to model the flow an constraints on a set of collaborating enterprise components (EC). Maintenance of these components and their flow composition is a major issue. We present a software tool called the, Business Compiler (BC) that facilitates the definition, debugging and execution of business flow languages in order to help animate and execute the collaboration of components reflecting the business process steps defined by a business modeler. Architects enhance the grammar with component services that serve as actions in,the grammar. The combination of flow definition by modelers and component services by software architects provides a powerful collaborative environment for enabling the incremental creation of a highly re-configurable-architectural style. BC consists Of an application framework that supports component-based development and includes a GUI debugger front end This helps modelers by providing dynamic documentation an can be used by architects to create and execute a formal specification of business flow to facilitate maintainability through a highly adaptive and re-configurable architectural style.","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":"116008194","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.1167777
S. Bohner
As software engineering practice evolves to respond to demands for distributed applications on heterogeneous platforms, software change is increasingly influenced by middleware and components. Interoperability dependency relationships now point to more relevant impacts of software change and necessarily drive the analysis. Software changes to software systems that incorporate middleware components like Web services expose these systems and the organizations they serve to unforeseen ripple effects that frequently result in failures. Current software change impact analysis models have not adequately addressed this trend. Moreover, as software systems grow in size and complexity, the dependency webs of information extend beyond most software engineers ability to comprehend them. This paper examines preliminary research for extending current software change impact analysis to incorporate interoperability dependency relationships for addressing distributed applications and explores three dimensional (3D) visualization techniques for more effective navigation of software changes.
{"title":"Software change impacts-an evolving perspective","authors":"S. Bohner","doi":"10.1109/ICSM.2002.1167777","DOIUrl":"https://doi.org/10.1109/ICSM.2002.1167777","url":null,"abstract":"As software engineering practice evolves to respond to demands for distributed applications on heterogeneous platforms, software change is increasingly influenced by middleware and components. Interoperability dependency relationships now point to more relevant impacts of software change and necessarily drive the analysis. Software changes to software systems that incorporate middleware components like Web services expose these systems and the organizations they serve to unforeseen ripple effects that frequently result in failures. Current software change impact analysis models have not adequately addressed this trend. Moreover, as software systems grow in size and complexity, the dependency webs of information extend beyond most software engineers ability to comprehend them. This paper examines preliminary research for extending current software change impact analysis to incorporate interoperability dependency relationships for addressing distributed applications and explores three dimensional (3D) visualization techniques for more effective navigation of software changes.","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":"134457701","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}