首页 > 最新文献

International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.最新文献

英文 中文
Towards a versioning model for component-based software assembly 面向基于组件的软件组装的版本控制模型
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235415
Jaroslav Gergic
The world of software development has rapidly changed in the last few years due to the adoption of component-based technologies. The classical software configuration management, which deals with source code versioning, becomes insufficient in the world where most components are distributed in a binary form. This paper focuses on solving versioning issues in the SOFA/DCUP (software appliances/dynamic component updating) component environment. However, many ideas introduced in this paper are applicable in other component-based environments. The paper incorporates the following versioning issues: component and type identification, component and type evolution, component version description model and component retrieving based on the version description model. It also outlines a prototype repository designed as a proof of concept.
由于采用了基于组件的技术,软件开发的世界在过去几年中发生了迅速的变化。处理源代码版本控制的经典软件配置管理在大多数组件以二进制形式分发的情况下变得不够用。本文的重点是解决SOFA/DCUP(软件设备/动态组件更新)组件环境中的版本控制问题。然而,本文中介绍的许多思想也适用于其他基于组件的环境。本文包含了组件和类型识别、组件和类型演化、组件版本描述模型和基于版本描述模型的组件检索等版本控制问题。它还概述了作为概念验证而设计的原型存储库。
{"title":"Towards a versioning model for component-based software assembly","authors":"Jaroslav Gergic","doi":"10.1109/ICSM.2003.1235415","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235415","url":null,"abstract":"The world of software development has rapidly changed in the last few years due to the adoption of component-based technologies. The classical software configuration management, which deals with source code versioning, becomes insufficient in the world where most components are distributed in a binary form. This paper focuses on solving versioning issues in the SOFA/DCUP (software appliances/dynamic component updating) component environment. However, many ideas introduced in this paper are applicable in other component-based environments. The paper incorporates the following versioning issues: component and type identification, component and type evolution, component version description model and component retrieving based on the version description model. It also outlines a prototype repository designed as a proof of concept.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129729412","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}
引用次数: 20
Software renewal projects estimation using dynamic calibration 使用动态校准的软件更新项目评估
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235411
M. T. Baldassarre, D. Caivano, G. Visaggio
Effort estimation is a long faced problem, but, in spite of the amount of research spent in this field, it still remains an open issue in the software engineering community. This is true especially in the case of renewal of legacy systems, where the current and well established approaches also fail. This paper presents an application of the method named dynamic calibration for effort estimation of renewal projects together with its experimental validation. The approach satisfies all the requirements of the estimation models. The results obtained by applying dynamic calibration are compared with those obtained with a competitor method: estimation by analogy. The results are shown to be promising although further experimentation on field is needed.
工作量评估是一个长期面临的问题,但是,尽管在这个领域花费了大量的研究,它仍然是软件工程社区的一个开放问题。这在更新遗留系统的情况下尤其如此,在这种情况下,当前和完善的方法也失败了。本文介绍了动态标定方法在更新工程工作量估算中的应用,并对其进行了实验验证。该方法满足估计模型的所有要求。并将动态标定的结果与类比估计的结果进行了比较。虽然还需要进一步的现场试验,但结果是有希望的。
{"title":"Software renewal projects estimation using dynamic calibration","authors":"M. T. Baldassarre, D. Caivano, G. Visaggio","doi":"10.1109/ICSM.2003.1235411","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235411","url":null,"abstract":"Effort estimation is a long faced problem, but, in spite of the amount of research spent in this field, it still remains an open issue in the software engineering community. This is true especially in the case of renewal of legacy systems, where the current and well established approaches also fail. This paper presents an application of the method named dynamic calibration for effort estimation of renewal projects together with its experimental validation. The approach satisfies all the requirements of the estimation models. The results obtained by applying dynamic calibration are compared with those obtained with a competitor method: estimation by analogy. The results are shown to be promising although further experimentation on field is needed.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124543989","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}
引用次数: 20
Embedding architectural support in industry 在工业中嵌入架构支持
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235442
R. J. Bril, A. Postma, R. Krikhaar
Software architecture plays a vital role in the development (and hence maintenance) of large complex systems with a long lifetime. It is therefore required that the software architecture is also maintained, i.e. sufficiently documented, clearly communicated, and explicitly controlled. In our experience, these requirements cannot be met without appropriate support. Commercial-off-the-shelf support for architectural maintenance is still scarcely available, if at all, implying the need to develop appropriate proprietary means. In this paper, we briefly report upon an overall approach taken within three organizations within Philips that develop professional systems. We extensively describe the experience gained with the embedding of architectural support in these three organizations. We focus on architectural support in the area of software architecture recovery, visualization, analysis, and verification. In our experience, the support must be carried by a number of elements of software development, and all of these elements have to go through a change process to ensure sustainable embedding. We distinguish four of these elements, i.e. process, organization, software development environment, and humans, and present our experience in terms of those elements.
软件架构在具有长生命周期的大型复杂系统的开发(以及维护)中起着至关重要的作用。因此,需要对软件架构进行维护,即充分的文档化、清晰的沟通和明确的控制。根据我们的经验,如果没有适当的支持,这些需求是无法满足的。商业上现成的架构维护支持仍然很少,如果有的话,这意味着需要开发适当的专有方法。在本文中,我们简要报告了在飞利浦开发专业系统的三个组织内采取的总体方法。我们广泛地描述了在这三个组织中嵌入体系结构支持所获得的经验。我们专注于软件架构恢复、可视化、分析和验证领域的架构支持。在我们的经验中,支持必须由软件开发的许多元素来承载,并且所有这些元素都必须经过一个变更过程来确保可持续的嵌入。我们区分了这些元素中的四个,即过程、组织、软件开发环境和人,并根据这些元素呈现了我们的经验。
{"title":"Embedding architectural support in industry","authors":"R. J. Bril, A. Postma, R. Krikhaar","doi":"10.1109/ICSM.2003.1235442","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235442","url":null,"abstract":"Software architecture plays a vital role in the development (and hence maintenance) of large complex systems with a long lifetime. It is therefore required that the software architecture is also maintained, i.e. sufficiently documented, clearly communicated, and explicitly controlled. In our experience, these requirements cannot be met without appropriate support. Commercial-off-the-shelf support for architectural maintenance is still scarcely available, if at all, implying the need to develop appropriate proprietary means. In this paper, we briefly report upon an overall approach taken within three organizations within Philips that develop professional systems. We extensively describe the experience gained with the embedding of architectural support in these three organizations. We focus on architectural support in the area of software architecture recovery, visualization, analysis, and verification. In our experience, the support must be carried by a number of elements of software development, and all of these elements have to go through a change process to ensure sustainable embedding. We distinguish four of these elements, i.e. process, organization, software development environment, and humans, and present our experience in terms of those elements.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128697842","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}
引用次数: 10
Infrastructures of virtual IT enterprises 虚拟IT企业的基础设施
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235422
M. Kajko-Mattsson
Service quality has become a critical survivability factor. The value of IT-business does not only lie in the products but also in the needs it serves. More and more customers require the IT companies with which they do business to continuously improve the speed and quality of their service. To provide seamless high quality service, the collaborating IT-companies/departments must organize themselves in a way so that they can act as one virtual enterprise providing a single point of contact. In this paper, we study how thirty eight companies belonging to thirty seven independent virtual enterprises have organized themselves in order to provide optimal maintenance service to their customers. Our goal is to provide a basis for future support process models and for future business models. Our results show strongly diversified infrastructures of confluent service organizations. These infrastructures were matched against CM/sup 3/: Roadmap: Organizational Perspective.
服务质量已经成为一个关键的生存因素。it业务的价值不仅在于产品,还在于它所服务的需求。越来越多的客户要求与他们做生意的IT公司不断提高服务的速度和质量。为了提供无缝的高质量服务,协作的it公司/部门必须以某种方式组织起来,以便它们可以作为一个虚拟企业,提供单一的联系点。本文研究了隶属于37家独立虚拟企业的38家公司如何组织起来为客户提供最优的维护服务。我们的目标是为未来的支持流程模型和未来的业务模型提供一个基础。我们的研究结果表明,融合服务组织的基础设施具有很强的多样性。这些基础结构与CM/sup 3: Roadmap: Organizational Perspective相匹配。
{"title":"Infrastructures of virtual IT enterprises","authors":"M. Kajko-Mattsson","doi":"10.1109/ICSM.2003.1235422","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235422","url":null,"abstract":"Service quality has become a critical survivability factor. The value of IT-business does not only lie in the products but also in the needs it serves. More and more customers require the IT companies with which they do business to continuously improve the speed and quality of their service. To provide seamless high quality service, the collaborating IT-companies/departments must organize themselves in a way so that they can act as one virtual enterprise providing a single point of contact. In this paper, we study how thirty eight companies belonging to thirty seven independent virtual enterprises have organized themselves in order to provide optimal maintenance service to their customers. Our goal is to provide a basis for future support process models and for future business models. Our results show strongly diversified infrastructures of confluent service organizations. These infrastructures were matched against CM/sup 3/: Roadmap: Organizational Perspective.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126784943","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}
引用次数: 38
Regression test selection based on intermediate code for virtual machines 基于回归测试选择的虚拟机中间代码
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235452
Toshihiko Koju, Shingo Takada, N. Doi
Regression testing is testing applied to software that has been modified. It basically entails re-testing the software with previous test cases to confirm that the modifications made to the software do not have an adverse effect. But re-executing all test cases is normally cost prohibitive, and thus much research has been done on selecting test cases from a test suite without compromising the reliability of the software. These regression test selection techniques find test cases that will not detect any bugs in the modified software, and delete those from the next regression test suite. However, these techniques are based on analysis of source code. Recent programming environments have seen a proliferation of virtual machines. For example, programs written in Java and with the Microsoft .Net Framework are compiled into a platform-independent intermediate code which is executed. Such code could also be used for regression test selection. This especially holds for the Microsoft .Net Framework which handles various programming languages, such as Visual Basic and C++. Thus, this paper presents a safe regression test selection technique for virtual machine based programs. We especially target the Microsoft .Net Framework. Evaluation on 10 different examples resulted in an average of a 40.4% decrease in the cost of regression testing.
回归测试是应用于已修改的软件的测试。它基本上需要用以前的测试用例重新测试软件,以确认对软件所做的修改没有不利的影响。但是,重新执行所有的测试用例通常是成本过高的,因此,在不损害软件可靠性的情况下,从测试套件中选择测试用例已经做了很多研究。这些回归测试选择技术发现不会检测到修改软件中的任何错误的测试用例,并从下一个回归测试套件中删除这些错误。然而,这些技术都是基于对源代码的分析。最近的编程环境中出现了大量虚拟机。例如,用Java和Microsoft . net Framework编写的程序被编译成独立于平台的中间代码并执行。这样的代码也可以用于回归测试的选择。这尤其适用于Microsoft . net Framework,它处理各种编程语言,如Visual Basic和c++。因此,本文提出了一种基于虚拟机程序的安全回归测试选择技术。我们特别针对Microsoft . net框架。对10个不同示例的评估导致回归测试成本平均降低40.4%。
{"title":"Regression test selection based on intermediate code for virtual machines","authors":"Toshihiko Koju, Shingo Takada, N. Doi","doi":"10.1109/ICSM.2003.1235452","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235452","url":null,"abstract":"Regression testing is testing applied to software that has been modified. It basically entails re-testing the software with previous test cases to confirm that the modifications made to the software do not have an adverse effect. But re-executing all test cases is normally cost prohibitive, and thus much research has been done on selecting test cases from a test suite without compromising the reliability of the software. These regression test selection techniques find test cases that will not detect any bugs in the modified software, and delete those from the next regression test suite. However, these techniques are based on analysis of source code. Recent programming environments have seen a proliferation of virtual machines. For example, programs written in Java and with the Microsoft .Net Framework are compiled into a platform-independent intermediate code which is executed. Such code could also be used for regression test selection. This especially holds for the Microsoft .Net Framework which handles various programming languages, such as Visual Basic and C++. Thus, this paper presents a safe regression test selection technique for virtual machine based programs. We especially target the Microsoft .Net Framework. Evaluation on 10 different examples resulted in an average of a 40.4% decrease in the cost of regression testing.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130611452","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}
引用次数: 23
Critical success factors in software maintenance: a case study 软件维护中的关键成功因素:一个案例研究
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235421
H. Sneed, Peter Brössler
The objective of this paper is to identify those factors, which are critical to the success of a maintenance operation in general and to apply them to a particular maintenance project. The project in question is the maintenance and evolution of a very large and complex banking application system for securities processing which has been in progress since several years. Eight factors are defined and evaluated in accordance with the existing literature on software maintenance and with the experience gained on several such maintenance projects. Each of the eight factors is scored according to a given metric scale. It is left to the evaluator to weigh and evaluate the significance of the individual factors. The study is based on empirical data collected over the duration of the project and is intended to contribute to the overall knowledge of software maintenance management.
本文的目标是识别那些对维护操作的成功至关重要的因素,并将它们应用于特定的维护项目。所讨论的项目是维护和发展一个非常庞大和复杂的银行应用系统,用于证券处理,该系统已经进行了几年。根据现有的软件维护文献和在几个这样的维护项目中获得的经验,定义并评估了八个因素。八个因素中的每一个都根据给定的度量尺度进行评分。留给评估者去权衡和评估各个因素的重要性。该研究基于在项目期间收集的经验数据,旨在为软件维护管理的整体知识做出贡献。
{"title":"Critical success factors in software maintenance: a case study","authors":"H. Sneed, Peter Brössler","doi":"10.1109/ICSM.2003.1235421","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235421","url":null,"abstract":"The objective of this paper is to identify those factors, which are critical to the success of a maintenance operation in general and to apply them to a particular maintenance project. The project in question is the maintenance and evolution of a very large and complex banking application system for securities processing which has been in progress since several years. Eight factors are defined and evaluated in accordance with the existing literature on software maintenance and with the experience gained on several such maintenance projects. Each of the eight factors is scored according to a given metric scale. It is left to the evaluator to weigh and evaluate the significance of the individual factors. The study is based on empirical data collected over the duration of the project and is intended to contribute to the overall knowledge of software maintenance management.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130299919","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}
引用次数: 51
A framework for understanding conceptual changes in evolving source code 用于理解演化源代码中概念变化的框架
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235453
N. Gold, A. Mohan
As systems evolve, they become harder to understand because the implementation of concepts (e.g. business rules) becomes less coherent. To preserve source code comprehensibility, we need to be able to predict how this property will change. This would allow the construction of a tool to suggest what information should be added or clarified (e.g. in comments) to maintain the code's comprehensibility. We propose a framework to characterize types of concept change during evolution. It is derived from an empirical investigation of concept changes in evolving commercial COBOL II files. The framework describes transformations in the geometry and interpretation of regions of source code. We conclude by relating our observations to the types of maintenance performed and suggest how this work could be developed to provide methods for preserving code quality based on comprehensibility.
随着系统的发展,它们变得越来越难以理解,因为概念(例如业务规则)的实现变得越来越不连贯。为了保持源代码的可理解性,我们需要能够预测这个属性将如何变化。这将允许构建一个工具来建议应该添加或澄清哪些信息(例如在注释中),以保持代码的可理解性。我们提出了一个框架来描述进化过程中概念变化的类型。它来源于对不断发展的商业COBOL II文件中概念变化的实证调查。该框架描述了源代码区域的几何变换和解释。最后,我们将我们的观察与所执行的维护类型联系起来,并建议如何开发这项工作,以提供基于可理解性的保持代码质量的方法。
{"title":"A framework for understanding conceptual changes in evolving source code","authors":"N. Gold, A. Mohan","doi":"10.1109/ICSM.2003.1235453","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235453","url":null,"abstract":"As systems evolve, they become harder to understand because the implementation of concepts (e.g. business rules) becomes less coherent. To preserve source code comprehensibility, we need to be able to predict how this property will change. This would allow the construction of a tool to suggest what information should be added or clarified (e.g. in comments) to maintain the code's comprehensibility. We propose a framework to characterize types of concept change during evolution. It is derived from an empirical investigation of concept changes in evolving commercial COBOL II files. The framework describes transformations in the geometry and interpretation of regions of source code. We conclude by relating our observations to the types of maintenance performed and suggest how this work could be developed to provide methods for preserving code quality based on comprehensibility.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123999724","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}
引用次数: 27
Understanding the nature of software evolution 理解软件进化的本质
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235409
A. Nikora, J. Munson
Over the past several years, we have been developing methods of measuring the change characteristics of evolving software systems. Not all changes to software systems are equal. Some changes to these systems are very small and have low impact on the system as a whole. Other changes are substantial and have a very large impact of the fault proneness of the complete system. In this study we will identify the sources of variation in the set of software metrics used to measure the system. We will then study the change characteristics to the system over a large number of builds. We have begun a new investigation in these areas in collaboration with a flight software technology development effort at the Jet Propulsion Laboratory (JPL) and have progressed in resolving the limitations of the earlier work in two distinct steps. First, we have developed a standard for the enumeration of faults. This new standard permits software faults to be measured precisely and accurately. Second, we have developed a practical framework for automating the measurement of these faults. This new standard and fault measurement process was then applied to a software system's structural evolution during its development. Every change to the software system was measured and every fault was identified and tracked to a specific code module. The measurement process was implemented in a network appliance, minimizing the impact of measurement activities on development efforts and enabling the comparison of measurements across multiple development efforts. In this paper, we analyze the measurements of structural evolution and fault counts obtained from the JPL flight software technology development effort. Our results indicate that the measures of structural attributes of the evolving software system are suitable for forming predictors of the number of faults inserted into software modules during their development, and that some types of change are more likely to result in the insertion of faults than others. The new fault standard also insures that the model so developed has greater predictive validity.
在过去的几年中,我们一直在开发测量不断发展的软件系统的变化特征的方法。并不是对软件系统的所有更改都是相同的。对这些系统的一些更改非常小,对整个系统的影响很小。其他变化是实质性的,并且对整个系统的故障倾向有非常大的影响。在本研究中,我们将确定用于度量系统的软件度量集合中的变化源。然后,我们将在大量构建中研究系统的变更特征。我们已经与喷气推进实验室(JPL)的飞行软件技术开发团队合作,在这些领域开始了一项新的研究,并通过两个不同的步骤解决了早期工作的局限性。首先,我们制定了一个列举故障的标准。这个新标准允许对软件故障进行精确和准确的测量。其次,我们已经开发了一个实用的框架来自动测量这些故障。然后将这个新的标准和故障度量过程应用于软件系统开发过程中的结构演变。对软件系统的每个更改都进行了测量,每个错误都被识别并跟踪到特定的代码模块。度量过程在网络设备中实现,最小化了度量活动对开发工作的影响,并支持跨多个开发工作的度量比较。本文分析了喷气推进实验室飞行软件技术开发工作中获得的结构演化和故障计数的测量结果。我们的研究结果表明,演化的软件系统的结构属性的度量适合于在软件模块的开发过程中形成插入错误数量的预测因子,并且某些类型的变化比其他类型的变化更有可能导致插入错误。新的故障标准也保证了所建立的模型具有更高的预测有效性。
{"title":"Understanding the nature of software evolution","authors":"A. Nikora, J. Munson","doi":"10.1109/ICSM.2003.1235409","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235409","url":null,"abstract":"Over the past several years, we have been developing methods of measuring the change characteristics of evolving software systems. Not all changes to software systems are equal. Some changes to these systems are very small and have low impact on the system as a whole. Other changes are substantial and have a very large impact of the fault proneness of the complete system. In this study we will identify the sources of variation in the set of software metrics used to measure the system. We will then study the change characteristics to the system over a large number of builds. We have begun a new investigation in these areas in collaboration with a flight software technology development effort at the Jet Propulsion Laboratory (JPL) and have progressed in resolving the limitations of the earlier work in two distinct steps. First, we have developed a standard for the enumeration of faults. This new standard permits software faults to be measured precisely and accurately. Second, we have developed a practical framework for automating the measurement of these faults. This new standard and fault measurement process was then applied to a software system's structural evolution during its development. Every change to the software system was measured and every fault was identified and tracked to a specific code module. The measurement process was implemented in a network appliance, minimizing the impact of measurement activities on development efforts and enabling the comparison of measurements across multiple development efforts. In this paper, we analyze the measurements of structural evolution and fault counts obtained from the JPL flight software technology development effort. Our results indicate that the measures of structural attributes of the evolving software system are suitable for forming predictors of the number of faults inserted into software modules during their development, and that some types of change are more likely to result in the insertion of faults than others. The new fault standard also insures that the model so developed has greater predictive validity.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"53 35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128677232","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}
引用次数: 32
DART: a framework for regression testing "nightly/daily builds" of GUI applications DART:用于GUI应用程序的“夜间/每日构建”回归测试的框架
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235451
A. Memon, Ishan Banerjee, N. Hashmi, Adithya Nagarajan
"Nightly/daily building and smoke testing" have become widespread since they often reveal bugs early in the software development process. During these builds, software is compiled, linked, and (re)tested with the goal of validating its basic functionality. Although successful for conventional software, smoke tests are difficult to develop and automatically rerun for software that has a graphical user interface (GUI). In this paper, we describe a framework called DART (daily automated regression tester) that addresses the needs of frequent and automated re-testing of GUI software. The key to our success is automation: DART automates everything from structural GUI analysis; test case generation; test oracle creation; to code instrumentation; test execution; coverage evaluation; regeneration of test cases; and their re-execution. Together with the operating system's task scheduler, DART can execute frequently with little input from the developer/tester to retest the GUI software. We provide results of experiments showing the time taken and memory required for GUI analysis, test case and test oracle generation, and test execution. We also empirically compare the relative costs of employing different levels of detail in the GUI test cases.
“夜间/每日构建和冒烟测试”已经变得很普遍,因为它们经常在软件开发过程的早期发现bug。在这些构建过程中,对软件进行编译、链接和(重新)测试,目的是验证其基本功能。虽然冒烟测试对传统软件来说是成功的,但对于具有图形用户界面(GUI)的软件来说,很难开发和自动重新运行。在本文中,我们描述了一个称为DART(每日自动回归测试仪)的框架,它解决了GUI软件频繁和自动重新测试的需求。我们成功的关键是自动化:DART自动化了从结构化GUI分析;生成测试用例;测试oracle创建;编写工具;测试执行;报道评价;测试用例的再生;以及它们的重新执行。与操作系统的任务调度程序一起,DART可以频繁地执行,而很少需要开发人员/测试人员的输入来重新测试GUI软件。我们提供了显示GUI分析、测试用例和测试oracle生成以及测试执行所需的时间和内存的实验结果。我们还根据经验比较了在GUI测试用例中使用不同层次细节的相对成本。
{"title":"DART: a framework for regression testing \"nightly/daily builds\" of GUI applications","authors":"A. Memon, Ishan Banerjee, N. Hashmi, Adithya Nagarajan","doi":"10.1109/ICSM.2003.1235451","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235451","url":null,"abstract":"\"Nightly/daily building and smoke testing\" have become widespread since they often reveal bugs early in the software development process. During these builds, software is compiled, linked, and (re)tested with the goal of validating its basic functionality. Although successful for conventional software, smoke tests are difficult to develop and automatically rerun for software that has a graphical user interface (GUI). In this paper, we describe a framework called DART (daily automated regression tester) that addresses the needs of frequent and automated re-testing of GUI software. The key to our success is automation: DART automates everything from structural GUI analysis; test case generation; test oracle creation; to code instrumentation; test execution; coverage evaluation; regeneration of test cases; and their re-execution. Together with the operating system's task scheduler, DART can execute frequently with little input from the developer/tester to retest the GUI software. We provide results of experiments showing the time taken and memory required for GUI analysis, test case and test oracle generation, and test execution. We also empirically compare the relative costs of employing different levels of detail in the GUI test cases.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117291219","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}
引用次数: 73
Reverse engineering of the interaction diagrams from C++ code c++代码交互图的逆向工程
Pub Date : 2003-09-22 DOI: 10.1109/ICSM.2003.1235418
P. Tonella, A. Potrich
In object oriented programming, the functionalities of a system result from the interactions (message exchanges) among the objects allocated by the system. While designing object interactions is far more complex than designing the object structure in forward engineering, the problem of understanding object interactions during code evolution is even harder, because the related information is spread across the code. In this paper, a technique for the automatic extraction of UML interaction diagrams from C++ code is proposed. The algorithm is based on a static, conservative flow analysis that approximates the behavior of the system in any execution and for any possible input. Applicability of the approach to large software is achieved by means of two mechanisms: partial analysis and focusing. Usage of our method on a real world, large C++ system confirmed its viability.
在面向对象编程中,系统的功能是由系统分配的对象之间的交互(消息交换)产生的。虽然在正向工程中设计对象交互要比设计对象结构复杂得多,但在代码进化过程中理解对象交互的问题就更难了,因为相关信息分布在代码中。本文提出了一种从c++代码中自动提取UML交互图的技术。该算法基于静态、保守的流分析,近似于系统在任何执行和任何可能输入中的行为。该方法对大型软件的适用性是通过两种机制实现的:部分分析和聚焦。在一个真实的大型c++系统中使用了我们的方法,证实了它的可行性。
{"title":"Reverse engineering of the interaction diagrams from C++ code","authors":"P. Tonella, A. Potrich","doi":"10.1109/ICSM.2003.1235418","DOIUrl":"https://doi.org/10.1109/ICSM.2003.1235418","url":null,"abstract":"In object oriented programming, the functionalities of a system result from the interactions (message exchanges) among the objects allocated by the system. While designing object interactions is far more complex than designing the object structure in forward engineering, the problem of understanding object interactions during code evolution is even harder, because the related information is spread across the code. In this paper, a technique for the automatic extraction of UML interaction diagrams from C++ code is proposed. The algorithm is based on a static, conservative flow analysis that approximates the behavior of the system in any execution and for any possible input. Applicability of the approach to large software is achieved by means of two mechanisms: partial analysis and focusing. Usage of our method on a real world, large C++ system confirmed its viability.","PeriodicalId":141256,"journal":{"name":"International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114618592","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
期刊
International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings.
全部 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