首页 > 最新文献

Proceedings IEEE International Conference on Software Maintenance. ICSM 2001最新文献

英文 中文
The FermaT assembler re-engineering workbench FermaT汇编程序重新设计工作台
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972783
Martin P. Ward
Research into the working practices of software engineers has shown the need for integrated browsing and searching tools which include graphical visualisations linked back to the source code under investigation. In addition, for assembler maintenance and re-engineering there is an even greater need for sophisticated control flow analysis, data flow analysis, slicing and migration technology. All these technologies are provided by the FermaT Workbench: an industrial-strength assembler re-engineering workbench consisting of a number of integrated tools for program comprehension, migration and re-engineering. The various program analysis and migrations tools are based on research carried out over the last sixteen years at Durham University, De Montfort University and Software Migrations Ltd., and make extensive use of program transformation theory.
对软件工程师工作实践的研究表明,需要集成浏览和搜索工具,其中包括链接到正在调查的源代码的图形可视化。此外,对于汇编器维护和重新设计,更需要复杂的控制流分析,数据流分析,切片和迁移技术。所有这些技术都是由FermaT Workbench提供的:一个工业强度的汇编程序再工程工作台,由许多用于程序理解、迁移和再工程的集成工具组成。各种程序分析和迁移工具是基于过去16年在Durham大学,De Montfort大学和Software migrations Ltd.进行的研究,并广泛使用程序转换理论。
{"title":"The FermaT assembler re-engineering workbench","authors":"Martin P. Ward","doi":"10.1109/ICSM.2001.972783","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972783","url":null,"abstract":"Research into the working practices of software engineers has shown the need for integrated browsing and searching tools which include graphical visualisations linked back to the source code under investigation. In addition, for assembler maintenance and re-engineering there is an even greater need for sophisticated control flow analysis, data flow analysis, slicing and migration technology. All these technologies are provided by the FermaT Workbench: an industrial-strength assembler re-engineering workbench consisting of a number of integrated tools for program comprehension, migration and re-engineering. The various program analysis and migrations tools are based on research carried out over the last sixteen years at Durham University, De Montfort University and Software Migrations Ltd., and make extensive use of program transformation theory.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115579321","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}
引用次数: 24
Bayesian analysis of software cost and quality models 软件成本和质量模型的贝叶斯分析
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972773
S. Chulani
Due to the pervasive nature of software, software-engineering practitioners have continuously expressed their concerns over their inability to accurately predict the cost, schedule and quality of a software product under development. Thus, one of the most important objectives of the software engineering community has been to develop useful models that constructively explain the software development lifecycle and accurately predict the cost, schedule and quality of developing a software product. Most of the existing parametric models have been empirically calibrated to actual data from completed software projects. The most commonly used technique for empirical calibration has been the popular classical multiple regression approach. This approach imposes a few restrictions often violated by software engineering data and has resulted in the development of inaccurate empirical models that do not perform very well. The focus of this dissertation is to explain the drawbacks of the multiple regression approach for software engineering data and discuss the Bayesian approach which alleviates a few of the problems faced by the multiple regression approach.
由于软件的普遍性,软件工程从业者不断地表达他们对无法准确预测开发中的软件产品的成本、进度和质量的担忧。因此,软件工程社区最重要的目标之一是开发有用的模型,这些模型可以建设性地解释软件开发生命周期,并准确地预测开发软件产品的成本、进度和质量。大多数现有的参数化模型已经根据已完成的软件项目的实际数据进行了经验校准。最常用的经验校准技术是流行的经典多元回归方法。这种方法施加了一些软件工程数据经常违反的限制,并导致开发不准确的经验模型,这些模型不能很好地执行。本文的重点是解释软件工程数据的多元回归方法的缺点,并讨论贝叶斯方法,它减轻了多元回归方法面临的一些问题。
{"title":"Bayesian analysis of software cost and quality models","authors":"S. Chulani","doi":"10.1109/ICSM.2001.972773","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972773","url":null,"abstract":"Due to the pervasive nature of software, software-engineering practitioners have continuously expressed their concerns over their inability to accurately predict the cost, schedule and quality of a software product under development. Thus, one of the most important objectives of the software engineering community has been to develop useful models that constructively explain the software development lifecycle and accurately predict the cost, schedule and quality of developing a software product. Most of the existing parametric models have been empirically calibrated to actual data from completed software projects. The most commonly used technique for empirical calibration has been the popular classical multiple regression approach. This approach imposes a few restrictions often violated by software engineering data and has resulted in the development of inaccurate empirical models that do not perform very well. The focus of this dissertation is to explain the drawbacks of the multiple regression approach for software engineering data and discuss the Bayesian approach which alleviates a few of the problems faced by the multiple regression approach.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114847025","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}
引用次数: 80
Using coordination to restructure sequential source code into a concurrent program 使用协调将顺序源代码重组为并发程序
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972747
C. Everaars, F. Arbab, B. Koren
A workable approach for modernization of existing software into parallel/distributed applications is through coarse-grain restructuring. If, for instance, entire subroutines of legacy code can be plugged into a new structure, the investment required for the rediscovery of the details of what they do can be spared. The resulting renovated software can then take advantage of the improved performance offered by modern parallel/distributed computing environments, without rethinking or rewriting the bulk of their existing code. The authors discuss one of their experiments using the coordination language MANIFOLD to restructure an existing sequential numerical application written in Fortran 77, into a concurrent application.
将现有软件现代化为并行/分布式应用程序的一个可行方法是通过粗粒度重组。例如,如果可以将遗留代码的整个子例程插入到新的结构中,则可以省去重新发现它们所做的细节所需的投资。由此产生的更新软件可以利用现代并行/分布式计算环境提供的改进性能,而无需重新考虑或重写大量现有代码。作者讨论了他们使用协调语言MANIFOLD将现有的用Fortran 77编写的顺序数值应用程序重构为并发应用程序的一个实验。
{"title":"Using coordination to restructure sequential source code into a concurrent program","authors":"C. Everaars, F. Arbab, B. Koren","doi":"10.1109/ICSM.2001.972747","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972747","url":null,"abstract":"A workable approach for modernization of existing software into parallel/distributed applications is through coarse-grain restructuring. If, for instance, entire subroutines of legacy code can be plugged into a new structure, the investment required for the rediscovery of the details of what they do can be spared. The resulting renovated software can then take advantage of the improved performance offered by modern parallel/distributed computing environments, without rethinking or rewriting the bulk of their existing code. The authors discuss one of their experiments using the coordination language MANIFOLD to restructure an existing sequential numerical application written in Fortran 77, into a concurrent application.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"110 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116023137","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
Supporting software maintenance by mining software update records 通过挖掘软件更新记录支持软件维护
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972708
J. Sayyad-Shirabad, T. Lethbridge, S. Matwin
This paper describes the application of inductive methods to data extracted from both source code and software maintenance records. We would like to extract relations that indicate which files in, a legacy system, are relevant to each other in the context of program maintenance. We call these relations maintenance relevance relations. Such a relation could reveal existing complex interconnections among files in the system, which may in turn be useful in comprehending them. We discuss the methodology we employed to extract and evaluate the relations. We also point out some of the problems we encountered and our solutions for them. Finally, we present some of the results that we have obtained.
本文描述了从源代码和软件维护记录中提取数据的归纳方法的应用。我们希望提取出关系,这些关系表明遗留系统中的哪些文件在程序维护的上下文中彼此相关。我们称这些关系为维护关联关系。这种关系可以揭示系统中文件之间存在的复杂相互联系,从而有助于理解它们。我们讨论了我们用来提取和评估这些关系的方法。我们也指出了一些我们遇到的问题和我们的解决办法。最后,我们给出了一些我们得到的结果。
{"title":"Supporting software maintenance by mining software update records","authors":"J. Sayyad-Shirabad, T. Lethbridge, S. Matwin","doi":"10.1109/ICSM.2001.972708","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972708","url":null,"abstract":"This paper describes the application of inductive methods to data extracted from both source code and software maintenance records. We would like to extract relations that indicate which files in, a legacy system, are relevant to each other in the context of program maintenance. We call these relations maintenance relevance relations. Such a relation could reveal existing complex interconnections among files in the system, which may in turn be useful in comprehending them. We discuss the methodology we employed to extract and evaluate the relations. We also point out some of the problems we encountered and our solutions for them. Finally, we present some of the results that we have obtained.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116493627","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
The build-time software architecture view 构建时软件体系结构视图
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972753
Q. Tu, Michael W. Godfrey
Research and practice in the application of software architecture has reaffirmed the need to consider software systems from several distinct points of view. Previous work by P. Kruchten (1995) and C. Hofmeister et al. (2000) suggests that four or five points of view may be sufficient: the logical view (i.e., the domain object model), the (static) code view, the process/concurrency view, the deployment/execution view, plus scenarios and use-cases. We have found that some classes of software systems exhibit interesting and complex build-time properties that are not explicitly addressed by previous models. In this paper, we present the idea of build-time architectural views. We explain what they are, how to represent them, and how they fit into traditional models of software architecture. We present three case studies of software systems with interesting build-time architectural views, and show how modelling their build-time architectures can improve developer understanding of what the system is and how it is created. Finally, we introduce a new architectural style, the "code robot" that is often present in systems with interesting build-time views.
软件体系结构应用方面的研究和实践重申了从几个不同的角度考虑软件系统的必要性。P. Kruchten(1995)和C. Hofmeister等人(2000)的先前工作表明,四到五个视图可能就足够了:逻辑视图(即领域对象模型)、(静态)代码视图、过程/并发视图、部署/执行视图,以及场景和用例。我们已经发现,一些软件系统类表现出有趣和复杂的构建时属性,这些属性没有被以前的模型明确地处理。在本文中,我们提出了构建时体系结构视图的思想。我们解释了它们是什么,如何表示它们,以及它们如何适应软件架构的传统模型。我们展示了三个具有有趣的构建时体系结构视图的软件系统案例研究,并展示了如何对它们的构建时体系结构建模可以提高开发人员对系统是什么以及它是如何创建的理解。最后,我们将介绍一种新的架构风格,即“代码机器人”,它经常出现在具有有趣的构建时视图的系统中。
{"title":"The build-time software architecture view","authors":"Q. Tu, Michael W. Godfrey","doi":"10.1109/ICSM.2001.972753","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972753","url":null,"abstract":"Research and practice in the application of software architecture has reaffirmed the need to consider software systems from several distinct points of view. Previous work by P. Kruchten (1995) and C. Hofmeister et al. (2000) suggests that four or five points of view may be sufficient: the logical view (i.e., the domain object model), the (static) code view, the process/concurrency view, the deployment/execution view, plus scenarios and use-cases. We have found that some classes of software systems exhibit interesting and complex build-time properties that are not explicitly addressed by previous models. In this paper, we present the idea of build-time architectural views. We explain what they are, how to represent them, and how they fit into traditional models of software architecture. We present three case studies of software systems with interesting build-time architectural views, and show how modelling their build-time architectures can improve developer understanding of what the system is and how it is created. Finally, we introduce a new architectural style, the \"code robot\" that is often present in systems with interesting build-time views.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"44 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125686603","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}
引用次数: 75
Integrating information sources for visualizing Java programs 集成用于可视化Java程序的信息源
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972738
Jeff Michaud, M. Storey, H. Müller
The paper describes the integration of information sources to support the exploration of source code and documentation of Java programs. There are many public domain tools that are available for extracting information and documentation from Java programs. We describe how data integration and presentation integration were used to enable the visualization of this information within a software exploration environment.
本文描述了信息源的集成,以支持Java程序的源代码和文档的探索。有许多公共领域的工具可用于从Java程序中提取信息和文档。我们描述了如何使用数据集成和表示集成来在软件探索环境中实现这些信息的可视化。
{"title":"Integrating information sources for visualizing Java programs","authors":"Jeff Michaud, M. Storey, H. Müller","doi":"10.1109/ICSM.2001.972738","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972738","url":null,"abstract":"The paper describes the integration of information sources to support the exploration of source code and documentation of Java programs. There are many public domain tools that are available for extracting information and documentation from Java programs. We describe how data integration and presentation integration were used to enable the visualization of this information within a software exploration environment.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132794181","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}
引用次数: 37
A graph pattern matching approach to software architecture recovery 软件架构恢复的图模式匹配方法
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972754
K. Sartipi, K. Kontogiannis
This paper presents a technique for recovering the high level design of legacy software systems based on pattern matching and user defined architectural patterns. Architectural patterns are represented using a description language that is mapped to an attributed relational graph and allows to specify the legacy system components and their data and control flow interactions. Such pattern descriptions are viewed as queries that are applied against an entity-relation graph that represents information extracted from the source code of the software system. A multi-phase branch and bound search algorithm with a forward checking mechanism controls the matching process of the two graphs by which, the query is satisfied and its variables are instantiated. An association based scoring mechanism is used to rank the alternative results generated by the matching process. Experimental results of applying the technique on the Xfig system are also presented.
本文提出了一种基于模式匹配和用户自定义架构模式的遗留软件系统高层设计恢复技术。体系结构模式使用映射到属性关系图的描述语言来表示,并允许指定遗留系统组件及其数据和控制流交互。这种模式描述被看作是应用于实体-关系图的查询,该图表示从软件系统的源代码中提取的信息。采用带前向检查机制的多阶段分支定界搜索算法控制两个图的匹配过程,从而满足查询并实例化查询变量。使用基于关联的评分机制对匹配过程生成的备选结果进行排序。最后给出了该技术在Xfig系统上的应用实验结果。
{"title":"A graph pattern matching approach to software architecture recovery","authors":"K. Sartipi, K. Kontogiannis","doi":"10.1109/ICSM.2001.972754","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972754","url":null,"abstract":"This paper presents a technique for recovering the high level design of legacy software systems based on pattern matching and user defined architectural patterns. Architectural patterns are represented using a description language that is mapped to an attributed relational graph and allows to specify the legacy system components and their data and control flow interactions. Such pattern descriptions are viewed as queries that are applied against an entity-relation graph that represents information extracted from the source code of the software system. A multi-phase branch and bound search algorithm with a forward checking mechanism controls the matching process of the two graphs by which, the query is satisfied and its variables are instantiated. An association based scoring mechanism is used to rank the alternative results generated by the matching process. Experimental results of applying the technique on the Xfig system are also presented.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116779055","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}
引用次数: 45
Incremental call graph reanalysis for object-oriented software maintenance 面向对象软件维护的增量调用图再分析
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972787
Amie L. Souter, L. Pollock
A program's call graph is an essential underlying structure for performing the various interprocedural analyses used in software development tools for object-oriented software systems. For interactive software development tools and software maintenance activities, the call graph needs to remain fairly precise and be updated quickly in response to software changes. The paper presents incremental algorithms for updating a call graph that has been initially constructed using the Cartesian Product Algorithm, which computes a highly precise call graph in the presence of dynamically dispatched message sends. Templates are exploited to reduce unnecessary reanalysis as software component changes occur. The preliminary empirical results from our implementation within a Java environment are encouraging. Significant time savings were observed for the incremental algorithm in comparison with an exhaustive analysis, with no loss in precision.
程序的调用图是执行面向对象软件系统的软件开发工具中使用的各种过程间分析的基本底层结构。对于交互式软件开发工具和软件维护活动,调用图需要保持相当精确,并根据软件更改快速更新。本文提出了一种增量算法,用于更新最初使用笛卡尔积算法构建的调用图,该算法在动态分配消息发送的情况下计算高精度的调用图。当软件组件发生更改时,可以利用模板来减少不必要的重新分析。我们在Java环境中实现的初步经验结果令人鼓舞。与穷举分析相比,观察到增量算法节省了大量时间,而且精度没有损失。
{"title":"Incremental call graph reanalysis for object-oriented software maintenance","authors":"Amie L. Souter, L. Pollock","doi":"10.1109/ICSM.2001.972787","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972787","url":null,"abstract":"A program's call graph is an essential underlying structure for performing the various interprocedural analyses used in software development tools for object-oriented software systems. For interactive software development tools and software maintenance activities, the call graph needs to remain fairly precise and be updated quickly in response to software changes. The paper presents incremental algorithms for updating a call graph that has been initially constructed using the Cartesian Product Algorithm, which computes a highly precise call graph in the presence of dynamically dispatched message sends. Templates are exploited to reduce unnecessary reanalysis as software component changes occur. The preliminary empirical results from our implementation within a Java environment are encouraging. Significant time savings were observed for the incremental algorithm in comparison with an exhaustive analysis, with no loss in precision.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116524107","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}
引用次数: 33
Live upgrades of CORBA applications using object replication 使用对象复制对CORBA应用程序进行实时升级
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972762
L. A. Tewksbury, L. Moser, P. Melliar-Smith
In a distributed system, software modification to correct programmer errors and to enhance functionality is often necessary, but incurring the downtime required to perform software upgrades can be prohibitively expensive or logistically infeasible. The Eternal Evolution Manager addresses this problem by enabling CORBA applications to be upgraded while they continue to provide service. The off-line analysis in preparation for the live upgrade is largely automatic, and the upgrade itself is fully automatic. The Eternal Evolution Manager insulates the application programmer from the difficult problems inherent to software evolution.
在分布式系统中,纠正程序员错误和增强功能的软件修改通常是必要的,但是执行软件升级所需的停机时间可能非常昂贵,或者在逻辑上是不可行的。Eternal Evolution Manager通过允许在CORBA应用程序继续提供服务的同时升级它们来解决这个问题。为实时升级做准备的离线分析在很大程度上是自动的,升级本身也是全自动的。Eternal Evolution Manager将应用程序程序员与软件进化所固有的困难问题隔离开来。
{"title":"Live upgrades of CORBA applications using object replication","authors":"L. A. Tewksbury, L. Moser, P. Melliar-Smith","doi":"10.1109/ICSM.2001.972762","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972762","url":null,"abstract":"In a distributed system, software modification to correct programmer errors and to enhance functionality is often necessary, but incurring the downtime required to perform software upgrades can be prohibitively expensive or logistically infeasible. The Eternal Evolution Manager addresses this problem by enabling CORBA applications to be upgraded while they continue to provide service. The off-line analysis in preparation for the live upgrade is largely automatic, and the upgrade itself is fully automatic. The Eternal Evolution Manager insulates the application programmer from the difficult problems inherent to software evolution.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129954860","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}
引用次数: 41
An implementation of and experiment with semantic differencing 语义区分的实现与实验
Pub Date : 2001-11-07 DOI: 10.1109/ICSM.2001.972714
D. Binkley, R. Capellini, L. R. Raszewski, Christopher Smith
Software maintainers face a wide range of difficult tasks including impact analysis and regression testing. Understanding semantic relationships, such as the semantic cohesiveness in a program or the semantic differences between two programs, can help a maintainer address these problems. However, semantic analysis is a difficult problem. For example, few semantic differencing algorithms and even fewer implementations exist. The first semantic differencing implementation for the C language is presented and studied. A large collection of semantic differences of 10 programs are computed. The average size reduction was 37.70%. The study presented illustrates the practicality of semantics differencing. Finally, the application of semantic differencing in the area of program testing and impact analysis is considered.
软件维护人员面临各种各样的困难任务,包括影响分析和回归测试。理解语义关系,例如程序中的语义内聚性或两个程序之间的语义差异,可以帮助维护人员解决这些问题。然而,语义分析是一个难题。例如,语义差分算法很少,实现更少。提出并研究了C语言的第一个语义差分实现。计算了10个程序的大量语义差异。平均尺寸减少了37.70%。本研究说明了语义差异的实用性。最后,讨论了语义差异在程序测试和影响分析领域的应用。
{"title":"An implementation of and experiment with semantic differencing","authors":"D. Binkley, R. Capellini, L. R. Raszewski, Christopher Smith","doi":"10.1109/ICSM.2001.972714","DOIUrl":"https://doi.org/10.1109/ICSM.2001.972714","url":null,"abstract":"Software maintainers face a wide range of difficult tasks including impact analysis and regression testing. Understanding semantic relationships, such as the semantic cohesiveness in a program or the semantic differences between two programs, can help a maintainer address these problems. However, semantic analysis is a difficult problem. For example, few semantic differencing algorithms and even fewer implementations exist. The first semantic differencing implementation for the C language is presented and studied. A large collection of semantic differences of 10 programs are computed. The average size reduction was 37.70%. The study presented illustrates the practicality of semantics differencing. Finally, the application of semantic differencing in the area of program testing and impact analysis is considered.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132054742","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}
引用次数: 21
期刊
Proceedings IEEE International Conference on Software Maintenance. ICSM 2001
全部 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