首页 > 最新文献

Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)最新文献

英文 中文
Browsing and searching software architectures 浏览和搜索软件架构
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.
软件架构可视化工具倾向于支持浏览,即通过以下概念进行探索。如果要在日常软件维护任务中使用架构图,那么这些工具还需要通过搜索来支持特定的事实发现。搜索对于程序理解和假设检验是必不可少的。此外,搜索允许用户反转架构图中的抽象,并访问底层程序代码中的事实。我们从信息检索和程序理解的角度考虑搜索和浏览软件架构的问题。在分析了我们自己的用户研究和文献结果之后,我们提出了一个解决方案:Searchable Bookshelf,一个支持两种导航样式的架构可视化工具。我们还展示了我们的工具的原型,它是现有架构可视化工具的扩展。
{"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}
引用次数: 60
Models to promote effective system change 促进有效制度变革的模式
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.
计算系统是复杂的,无论是在它们的组成上,还是在它们随时间演变的方式上。为了帮助管理这种复杂性,可以使用模型来突出系统的重要元素和属性,并总结其操作和进化中的关键过程。本文的目的是提出一套这样的模型供讨论。其中大多数都处于系统描述的最高级别,因此通常适用于一系列开发技术。因此,它们提供了一个框架,在其中可以描述和评估特定的系统开发技术。这些模型是根据阿尔斯特大学正在开发的实验方法BASE进行讨论的。该方法的两个重要方面是:(i)将计算系统的生产或增强置于“业务改进”的背景下;(ii)强调需要根据“愿景”做出改变,以确定改进的方向。BASE的业务分析部分是建立在软系统方法论基础上的。讨论用北爱尔兰教育部内部进行的信息技术系统审查的例子来说明。
{"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}
引用次数: 4
Criteria for testing exception-handling constructs in Java programs 在Java程序中测试异常处理构造的标准
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}
引用次数: 70
Evolution and errors: an empirical example 进化与错误:一个实证例子
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.
一项实证研究探讨了最简单的维护任务是如何将危险的错误引入软件的。给了8个中级程序员6个不同的维护问题。每个维护问题都使用c++语言进行编码,并从所有主题都熟悉的领域中选择。发现了严重的错误。对维护软件的分析表明,三分之一的结果程序包含某种形式的错误。考虑了错误率如此之高的原因,并描述了减少维护错误的两种广泛方法。
{"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}
引用次数: 5
Beyond year 2000 remediation: the compliance verification. A case study 2000年以后的补救:符合性核查。案例研究
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.
信息系统中引起注意的最大问题之一是千年虫。虽然到目前为止已经提出了许多解决方案,包括流程、技术和工具,但没有一个能保证100%的有效性。此外,补救活动所需的实际努力和时间比预期的要多,而到2000年的时间却越来越少。意识到这一点,许多机构和公司正在制定应急计划,以应对明年可能出现的异常情况。与此同时,政府(和保险公司)开始鼓励旨在降低风险的新举措。其中最相关的工作之一是对所采用的程序进行独立核查和确认,更具体地说,是对信息系统的2000年遵守情况进行核查。本文简要介绍了Netsiel Y2K符合性验证服务的流程和工具。此外,还显示了在实际案例应用中所获得的关于运行时间和发现缺陷的结果。
{"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}
引用次数: 3
A case study in object-oriented maintenance 一个面向对象维护的案例研究
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}
引用次数: 2
Evaluating the use of dominance trees for C and COBOL 评估C和COBOL的优势树的使用
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}
引用次数: 12
Implementing an experience factory: maintenance and evolution of the software and systems development process 实现体验工厂:软件和系统开发过程的维护和发展
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.
开发软件和系统的方法需要不断发展和维护,以跟上技术变化的步伐。ICL开发了一个“工程过程改进框架”来部署世界一流的工程实践。该框架是一个体验工厂的实现。鼓励知识共享的知识库是其核心,在公司的内部网上实现。该框架包含一个工具包,使项目能够创建特定的工程过程描述(称为工程定义),这些描述被放置在存储库中,用于知识共享,并作为其他项目可能重用的对象。在实施之前,根据最佳实践的不断发展的定义对项目定义的方法进行评估和校准,从而确定项目要管理的风险和行动。框架的有效性将根据业务目标进行评审和度量,项目结束报告将在存储库中发布。
{"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}
引用次数: 17
Building documentation generators 构建文档生成器
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}
引用次数: 142
A methodology for the automated introduction of design patterns 一种用于自动引入设计模式的方法
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}
引用次数: 89
期刊
Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1