Pub Date : 1999-08-30DOI: 10.1109/ICSM.1999.792636
S. Sim, C. Clarke, R. Holt, Anthony Cox
Software architecture visualization tools tend to support browsing, that is, exploration by following concepts. If architectural diagrams are to be used during daily software maintenance tasks, these tools also need to support specific fact-finding through searching. Searching is essential to program comprehension and hypothesis testing. Furthermore, searching allows users to reverse the abstractions in architectural diagrams and access facts in the underlying program code. We consider the problem of searching and browsing software architectures using perspectives from information retrieval and program comprehension. After analyzing our own user studies and results from the literature, we propose a solution: the Searchable Bookshelf, an architecture visualization tool that supports both navigation styles. We also present a prototype of our tool which is an extension of an existing architecture visualization tool.
{"title":"Browsing and searching software architectures","authors":"S. Sim, C. Clarke, R. Holt, Anthony Cox","doi":"10.1109/ICSM.1999.792636","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792636","url":null,"abstract":"Software architecture visualization tools tend to support browsing, that is, exploration by following concepts. If architectural diagrams are to be used during daily software maintenance tasks, these tools also need to support specific fact-finding through searching. Searching is essential to program comprehension and hypothesis testing. Furthermore, searching allows users to reverse the abstractions in architectural diagrams and access facts in the underlying program code. We consider the problem of searching and browsing software architectures using perspectives from information retrieval and program comprehension. After analyzing our own user studies and results from the literature, we propose a solution: the Searchable Bookshelf, an architecture visualization tool that supports both navigation styles. We also present a prototype of our tool which is an extension of an existing architecture visualization tool.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129111350","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792627
D. Bustard, R. Oakes, Zhonglin He
Computing systems are complex, both in their composition and in the way that they evolve over time. To help manage this complexity, models can be used to highlight the significant elements and attributes of a system, and summarise key processes in its operation and evolution. The purpose of the paper is to present a set of such models for debate. Most of these are at the highest levels of system description and are therefore generally applicable across a range of development techniques. Consequently they provide a framework within which specific system development techniques can be described and assessed. The models are discussed with respect to an experimental methodology, BASE, being developed at the University of Ulster. Two significant aspects of this approach are: (i) placing the production or enhancement of computing systems in the context of 'business improvement'; and (ii) emphasising the need to make change with respect to a 'vision' of where improvement is leading. The business analysis part of BASE is built on Soft Systems Methodology. The discussion is illustrated using examples from an IT system review undertaken within the Department of Education for Northern Ireland.
{"title":"Models to promote effective system change","authors":"D. Bustard, R. Oakes, Zhonglin He","doi":"10.1109/ICSM.1999.792627","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792627","url":null,"abstract":"Computing systems are complex, both in their composition and in the way that they evolve over time. To help manage this complexity, models can be used to highlight the significant elements and attributes of a system, and summarise key processes in its operation and evolution. The purpose of the paper is to present a set of such models for debate. Most of these are at the highest levels of system description and are therefore generally applicable across a range of development techniques. Consequently they provide a framework within which specific system development techniques can be described and assessed. The models are discussed with respect to an experimental methodology, BASE, being developed at the University of Ulster. Two significant aspects of this approach are: (i) placing the production or enhancement of computing systems in the context of 'business improvement'; and (ii) emphasising the need to make change with respect to a 'vision' of where improvement is leading. The business analysis part of BASE is built on Soft Systems Methodology. The discussion is illustrated using examples from an IT system review undertaken within the Department of Education for Northern Ireland.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"351 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134463109","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792624
S. Sinha, M. J. Harrold
Exception-handling constructs provide a mechanism for mixing exceptions and a facility for designating protected code by attaching exception handlers to blocks of code. Despite the frequency of their occurrences, the behavior of exception-handling constructs is often the least understood and poorly tested part of a program. The presence of such constructs introduces new structural elements, such as control-flow paths, in a program. To adequately test such programs, these new structural elements must be considered for coverage during structural testing. In this paper, we describe a class of adequacy criteria that can be used to test the behavior of exception-handling constructs. We present a subsumption hierarchy of the criteria, and illustrate the relationship of the criteria to those found in traditional subsumption hierarchies. We describe techniques for generating the testing requirements for the criteria using our control-flow representations. We also describe a methodology for applying the criteria to unit and integration testing of programs that contain exception-handling constructs.
{"title":"Criteria for testing exception-handling constructs in Java programs","authors":"S. Sinha, M. J. Harrold","doi":"10.1109/ICSM.1999.792624","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792624","url":null,"abstract":"Exception-handling constructs provide a mechanism for mixing exceptions and a facility for designating protected code by attaching exception handlers to blocks of code. Despite the frequency of their occurrences, the behavior of exception-handling constructs is often the least understood and poorly tested part of a program. The presence of such constructs introduces new structural elements, such as control-flow paths, in a program. To adequately test such programs, these new structural elements must be considered for coverage during structural testing. In this paper, we describe a class of adequacy criteria that can be used to test the behavior of exception-handling constructs. We present a subsumption hierarchy of the criteria, and illustrate the relationship of the criteria to those found in traditional subsumption hierarchies. We describe techniques for generating the testing requirements for the criteria using our control-flow representations. We also describe a methodology for applying the criteria to unit and integration testing of programs that contain exception-handling constructs.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128012492","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792647
C. Douce, P. Layzell
An empirical study is presented that explores how dangerous errors can be introduced into software by the simplest of maintenance tasks. Six different maintenance problems were given to eight intermediate level programmers. Each maintenance problem was coded using the C++ language and were selected from a domain that was deemed to be familiar to all subjects. An alarming level of error was discovered. Analysis of the maintained software showed that one third of all the resulting programs contained an error of some form. Reasons why the error rates were so high are considered and two broad approaches to the reduction of maintenance error are described.
{"title":"Evolution and errors: an empirical example","authors":"C. Douce, P. Layzell","doi":"10.1109/ICSM.1999.792647","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792647","url":null,"abstract":"An empirical study is presented that explores how dangerous errors can be introduced into software by the simplest of maintenance tasks. Six different maintenance problems were given to eight intermediate level programmers. Each maintenance problem was coded using the C++ language and were selected from a domain that was deemed to be familiar to all subjects. An alarming level of error was discovered. Analysis of the maintained software showed that one third of all the resulting programs contained an error of some form. Reasons why the error rates were so high are considered and two broad approaches to the reduction of maintenance error are described.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"131 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127028428","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792599
M. Interesse, Roberto Dabbicco
One of the biggest problems attracting attention in information systems is the millennium bug. Though a number of solutions, in terms of processes, techniques and tools, have been proposed till now, none of them guarantees 100% effectiveness. Moreover, the actual effort and time due for the remediation activities are growing up more than expected, while the time to the year 2000 is winding down. Aware of that, many institutions and companies are setting up contingency plans to handle anomalies when they will appear next year. At the same time, governments (and insurance companies) are beginning to encourage new initiatives aimed to lower the risks. One of the most relevant of them is the independent verification and validation of the processes applied and more specifically, the year 2000 compliance verification of the information systems. In this paper the process and tools for the Netsiel Y2K Compliance Verification Service are briefly described. Moreover, the results obtained on a real case application in terms of elapsed time and defects found are shown.
{"title":"Beyond year 2000 remediation: the compliance verification. A case study","authors":"M. Interesse, Roberto Dabbicco","doi":"10.1109/ICSM.1999.792599","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792599","url":null,"abstract":"One of the biggest problems attracting attention in information systems is the millennium bug. Though a number of solutions, in terms of processes, techniques and tools, have been proposed till now, none of them guarantees 100% effectiveness. Moreover, the actual effort and time due for the remediation activities are growing up more than expected, while the time to the year 2000 is winding down. Aware of that, many institutions and companies are setting up contingency plans to handle anomalies when they will appear next year. At the same time, governments (and insurance companies) are beginning to encourage new initiatives aimed to lower the risks. One of the most relevant of them is the independent verification and validation of the processes applied and more specifically, the year 2000 compliance verification of the information systems. In this paper the process and tools for the Netsiel Y2K Compliance Verification Service are briefly described. Moreover, the results obtained on a real case application in terms of elapsed time and defects found are shown.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"387 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125463584","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792632
Matthew L. Domsch, S. Schach
Results of a case study in maintenance of an object oriented software application are presented. A software engineer replaced a text based user interface with a graphical user interface (GUI) based on the Microsoft Foundation Classes, adapted the application for the Win32 environment, and corrected faults in the original application. About 94.8% of the maintenance effort was perfective (development of the GUI), 3.2% adaptive and 2.0% corrective. Comparisons are drawn to similar maintenance activities in the literature.
给出了一个面向对象软件应用程序维护案例研究的结果。软件工程师用基于Microsoft Foundation Classes的图形用户界面(GUI)替换了基于文本的用户界面,并将应用程序调整为适合Win32环境,并纠正了原应用程序中的错误。大约94.8%的维护工作是完美的(GUI的开发),3.2%是自适应的,2.0%是纠正的。对文献中类似的维护活动进行了比较。
{"title":"A case study in object-oriented maintenance","authors":"Matthew L. Domsch, S. Schach","doi":"10.1109/ICSM.1999.792632","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792632","url":null,"abstract":"Results of a case study in maintenance of an object oriented software application are presented. A software engineer replaced a text based user interface with a graphical user interface (GUI) based on the Microsoft Foundation Classes, adapted the application for the Win32 environment, and corrected faults in the original application. About 94.8% of the maintenance effort was perfective (development of the GUI), 3.2% adaptive and 2.0% corrective. Comparisons are drawn to similar maintenance activities in the literature.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"421 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124210685","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792638
E. Burd, M. Munro
This paper evaluates the suitability of dominance trees as a means of re-modularising legacy systems. It uses two factors to assess the suitability of the dominance tree approach as a restructuring mechanism. Firstly, it considers if dominance tree analysis identifies suitable reuse candidates and secondly, if the candidates generated represent an improvement to the structure of the code. Applications from two domains and software written in two development languages are used to evaluate the dominance tree's suitability factors. Sequential versions of the software are used to identify specific changes that are made to the software over time, to ensure that the reuse candidates identified are supportive of software change. The results show that overall the dominance trees are useful for software re-modularisation. Furthermore, the results of this study have revealed some interesting observations regarding the general characteristics of software and the process of software change.
{"title":"Evaluating the use of dominance trees for C and COBOL","authors":"E. Burd, M. Munro","doi":"10.1109/ICSM.1999.792638","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792638","url":null,"abstract":"This paper evaluates the suitability of dominance trees as a means of re-modularising legacy systems. It uses two factors to assess the suitability of the dominance tree approach as a restructuring mechanism. Firstly, it considers if dominance tree analysis identifies suitable reuse candidates and secondly, if the candidates generated represent an improvement to the structure of the code. Applications from two domains and software written in two development languages are used to evaluate the dominance tree's suitability factors. Sequential versions of the software are used to identify specific changes that are made to the software over time, to ensure that the reuse candidates identified are supportive of software change. The results show that overall the dominance trees are useful for software re-modularisation. Furthermore, the results of this study have revealed some interesting observations regarding the general characteristics of software and the process of software change.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121021177","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792598
Brian Chatters, Icl, Wenlock, West Gorton, Manchester
The ways in which software and systems are developed need to evolve and be maintained to keep pace with technology changes. ICL has developed an "Engineering Process Improvement Framework" to deploy world class engineering practices. The framework is an implementation of an experience factory. A repository to encourage knowledge sharing is at its core, implemented on the company's Intranet. The framework contains a toolkit to enable projects to create specific engineering process descriptions, known as engineering definitions, which are placed in the repository for knowledge sharing and as objects for potential reuse by other projects. The approach defined by a project is assessed and calibrated against an evolving definition of best practices prior to implementation, leading to the identification of risks and actions to be managed by the project. The effectiveness of the framework is reviewed and measured against the business objectives and project closure reports are published in the repository.
{"title":"Implementing an experience factory: maintenance and evolution of the software and systems development process","authors":"Brian Chatters, Icl, Wenlock, West Gorton, Manchester","doi":"10.1109/ICSM.1999.792598","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792598","url":null,"abstract":"The ways in which software and systems are developed need to evolve and be maintained to keep pace with technology changes. ICL has developed an \"Engineering Process Improvement Framework\" to deploy world class engineering practices. The framework is an implementation of an experience factory. A repository to encourage knowledge sharing is at its core, implemented on the company's Intranet. The framework contains a toolkit to enable projects to create specific engineering process descriptions, known as engineering definitions, which are placed in the repository for knowledge sharing and as objects for potential reuse by other projects. The approach defined by a project is assessed and calibrated against an evolving definition of best practices prior to implementation, leading to the identification of risks and actions to be managed by the project. The effectiveness of the framework is reviewed and measured against the business objectives and project closure reports are published in the repository.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127288134","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792497
A. Deursen, T. Kuipers
In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in such a way that it can be integrated with hand-written documentation. In order to simplify the construction of documentation generators, we introduce island grammars, which only define those syntactic structures needed for (re)documentation purposes. We explain how they can be used to obtain various forms of documentation, such as data dependency diagrams for mainframe batch jobs. Moreover, we discuss how the derived information can be made available via a hypertext structure. We conclude with an industrial case study in which a 600,000 LOC COBOL legacy system is redocumented using the techniques presented in the paper.
为了保持源和文档之间的一致性,同时在设计级别提供文档,有必要以一种可以与手写文档集成的方式从源生成文档。为了简化文档生成器的构造,我们引入孤岛语法,它只定义(重新)文档目的所需的语法结构。我们将解释如何使用它们来获取各种形式的文档,例如大型机批处理作业的数据依赖关系图。此外,我们还讨论了如何通过超文本结构提供派生信息。我们以一个工业案例研究作为总结,在这个案例研究中,使用本文中提供的技术重新记录了一个600,000 LOC COBOL遗留系统。
{"title":"Building documentation generators","authors":"A. Deursen, T. Kuipers","doi":"10.1109/ICSM.1999.792497","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792497","url":null,"abstract":"In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in such a way that it can be integrated with hand-written documentation. In order to simplify the construction of documentation generators, we introduce island grammars, which only define those syntactic structures needed for (re)documentation purposes. We explain how they can be used to obtain various forms of documentation, such as data dependency diagrams for mainframe batch jobs. Moreover, we discuss how the derived information can be made available via a hypertext structure. We conclude with an industrial case study in which a 600,000 LOC COBOL legacy system is redocumented using the techniques presented in the paper.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125785619","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 : 1999-08-30DOI: 10.1109/ICSM.1999.792644
M. Cinnéide, P. Nixon
In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into minipatterns and the development of corresponding minitransformations that can introduce these minipatterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each minitransformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.
{"title":"A methodology for the automated introduction of design patterns","authors":"M. Cinnéide, P. Nixon","doi":"10.1109/ICSM.1999.792644","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792644","url":null,"abstract":"In reengineering legacy code it is frequently useful to introduce a design pattern in order to add clarity to the system and thus facilitate further program evolution. We show that this type of transformation can be automated in a pragmatic manner and present a methodology for the development of design pattern transformations. We address the issues of the definition of a starting point for the transformation, the decomposition of a pattern into minipatterns and the development of corresponding minitransformations that can introduce these minipatterns to a program. We argue that behaviour preservation is a key issue and develop a rigorous argument of this for each minitransformation we discover. The architecture of an existing software prototype is also discussed and the results of applying this methodology to develop a transformation for the Factory Method pattern are presented.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132722394","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}