首页 > 最新文献

2010 IEEE International Conference on Software Maintenance最新文献

英文 中文
Recovering traceability links between unit tests and classes under test: An improved method 恢复单元测试和被测类之间的可跟踪性链接:一种改进的方法
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609581
A. Qusef, R. Oliveto, A. D. Lucia
Unit tests are valuable as a source of up-to-date documentation as developers continuously changes them to reflect changes in the production code to keep an effective regression suite. Maintaining traceability links between unit tests and classes under test can help developers to comprehend parts of a system. In particular, unit tests show how parts of a system are executed and as such how they are supposed to be used. Moreover, the dependencies between unit tests and classes can be exploited to maintain the consistency during refactoring. Generally, such dependences are not explicitly maintained and they have to be recovered during software development. Some guidelines and naming conventions have been defined to describe the testing environment in order to easily identify related tests for a programming task. However, very often these guidelines are not followed making the identification of links between unit tests and classes a time-consuming task. Thus, automatic approaches to recover such links are needed. In this paper a traceability recovery approach based on Data Flow Analysis (DFA) is presented. In particular, the approach retrieves as tested classes all the classes that affect the result of the last assert statement in each method of the unit test class. The accuracy of the proposed method has been empirically evaluated on two systems, an open source system and an industrial system. As a benchmark, we compare the accuracy of the DFA-based approach with the accuracy of the previously used traceability recovery approaches, namely Naming Convention (NC) and Last Call Before Assert (LCBA) that seem to provide the most accurate results. The results show that the proposed approach is the most accurate method demonstrating the effectiveness of DFA. However, the case study also highlights the limitations of the experimented traceability recovery approaches, showing that detecting the class under test cannot be fully automated and some issues are still under study.
单元测试作为最新文档的来源是有价值的,因为开发人员不断更改它们以反映生产代码中的更改,以保持有效的回归套件。维护单元测试和被测类之间的可跟踪性链接可以帮助开发人员理解系统的各个部分。特别是,单元测试显示了系统的各个部分是如何执行的,以及它们应该如何被使用。此外,可以利用单元测试和类之间的依赖关系来维护重构期间的一致性。通常,这样的依赖关系不会被显式地维护,它们必须在软件开发期间恢复。已经定义了一些指导方针和命名约定来描述测试环境,以便轻松地识别编程任务的相关测试。然而,通常没有遵循这些指导方针,使得识别单元测试和类之间的链接成为一项耗时的任务。因此,需要自动恢复这些链接的方法。提出了一种基于数据流分析(DFA)的可追溯性恢复方法。特别是,该方法将影响单元测试类的每个方法中最后一个assert语句结果的所有类作为测试类检索。本文在一个开源系统和一个工业系统上对该方法的精度进行了实证评价。作为基准,我们将基于dfa的方法的准确性与以前使用的可追溯性恢复方法的准确性进行比较,即命名约定(Naming Convention, NC)和断言前最后调用(Last Call Before Assert, LCBA),它们似乎提供了最准确的结果。结果表明,该方法是最准确的方法,证明了DFA的有效性。然而,案例研究也强调了实验的可追溯性恢复方法的局限性,表明检测测试中的类不能完全自动化,并且一些问题仍在研究中。
{"title":"Recovering traceability links between unit tests and classes under test: An improved method","authors":"A. Qusef, R. Oliveto, A. D. Lucia","doi":"10.1109/ICSM.2010.5609581","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609581","url":null,"abstract":"Unit tests are valuable as a source of up-to-date documentation as developers continuously changes them to reflect changes in the production code to keep an effective regression suite. Maintaining traceability links between unit tests and classes under test can help developers to comprehend parts of a system. In particular, unit tests show how parts of a system are executed and as such how they are supposed to be used. Moreover, the dependencies between unit tests and classes can be exploited to maintain the consistency during refactoring. Generally, such dependences are not explicitly maintained and they have to be recovered during software development. Some guidelines and naming conventions have been defined to describe the testing environment in order to easily identify related tests for a programming task. However, very often these guidelines are not followed making the identification of links between unit tests and classes a time-consuming task. Thus, automatic approaches to recover such links are needed. In this paper a traceability recovery approach based on Data Flow Analysis (DFA) is presented. In particular, the approach retrieves as tested classes all the classes that affect the result of the last assert statement in each method of the unit test class. The accuracy of the proposed method has been empirically evaluated on two systems, an open source system and an industrial system. As a benchmark, we compare the accuracy of the DFA-based approach with the accuracy of the previously used traceability recovery approaches, namely Naming Convention (NC) and Last Call Before Assert (LCBA) that seem to provide the most accurate results. The results show that the proposed approach is the most accurate method demonstrating the effectiveness of DFA. However, the case study also highlights the limitations of the experimented traceability recovery approaches, showing that detecting the class under test cannot be fully automated and some issues are still under study.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"125 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131640000","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}
引用次数: 46
Program analysis and transformation for data-intensive system evolution 数据密集型系统演化的程序分析与转换
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609724
Anthony Cleve
Data-intensive software systems are generally made of a database and a collection of application programs in strong interaction with the former. They constitute critical assets in most enterprises, since they support business activities in all production and management domains. Data-intensive systems form most of the so-called legacy systems: they typically are one or more decades old, they are very large, heterogeneous and highly complex. Many of them significantly resist modifications and change due to the lack of documentation, to the use of aging technologies and to inflexible architectures. Therefore, the evolution of data-intensive systems clearly calls for automated support. This thesis explores the use of automated program analysis and transformation techniques in support to the evolution of the database component of the system. The program analysis techniques aim to ease the database evolution process, by helping the developers to understand the data structures that are to be changed, despite the lack of precise and up-to-date documentation. The objective of the program transformation techniques is to support the adaptation of the application programs to the new database. This adaptation process is studied in the context of two realistic database evolution scenarios, namely database database schema refactoring and database platform migration.
数据密集型软件系统通常由数据库和应用程序的集合组成,与数据库有很强的交互作用。它们构成了大多数企业的关键资产,因为它们支持所有生产和管理领域的业务活动。数据密集型系统构成了大多数所谓的遗留系统:它们通常有十几年的历史,它们非常庞大、异构且高度复杂。由于缺乏文档、使用过时的技术和缺乏灵活性的体系结构,他们中的许多人明显抵制修改和更改。因此,数据密集型系统的发展显然需要自动化支持。本文探讨了自动化程序分析和转换技术的使用,以支持系统数据库组件的发展。程序分析技术旨在通过帮助开发人员理解要更改的数据结构来简化数据库演进过程,尽管缺乏精确和最新的文档。程序转换技术的目标是支持应用程序适应新的数据库。本文以数据库模式重构和数据库平台迁移两种现实的数据库演进场景为背景,对该适应过程进行了研究。
{"title":"Program analysis and transformation for data-intensive system evolution","authors":"Anthony Cleve","doi":"10.1109/ICSM.2010.5609724","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609724","url":null,"abstract":"Data-intensive software systems are generally made of a database and a collection of application programs in strong interaction with the former. They constitute critical assets in most enterprises, since they support business activities in all production and management domains. Data-intensive systems form most of the so-called legacy systems: they typically are one or more decades old, they are very large, heterogeneous and highly complex. Many of them significantly resist modifications and change due to the lack of documentation, to the use of aging technologies and to inflexible architectures. Therefore, the evolution of data-intensive systems clearly calls for automated support. This thesis explores the use of automated program analysis and transformation techniques in support to the evolution of the database component of the system. The program analysis techniques aim to ease the database evolution process, by helping the developers to understand the data structures that are to be changed, despite the lack of precise and up-to-date documentation. The objective of the program transformation techniques is to support the adaptation of the application programs to the new database. This adaptation process is studied in the context of two realistic database evolution scenarios, namely database database schema refactoring and database platform migration.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132336269","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
SQUANER: A framework for monitoring the quality of software systems SQUANER:用于监控软件系统质量的框架
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609684
Nicolas Haderer, Foutse Khomh, G. Antoniol
Despite the large number of quality models and publicly available quality assessment tools like PMD, Checkstyle, or FindBugs, very few studies have investigated the use of quality models by developers in their daily activities. One reason for this lack of studies is the absence of integrated environments for monitoring the evolution of software quality. We propose SQUANER (Software QUality ANalyzER), a framework for monitoring the evolution of the quality of object-oriented systems. SQUANER connects directly to the SVN of a system, extracts the source code, and perform quality evaluations and faults predictions every time a commit is made by a developer. After quality analysis, a feedback is provided to developers with instructions on how to improve their code.
尽管有大量的质量模型和公开可用的质量评估工具,如PMD、Checkstyle或FindBugs,但是很少有研究调查开发人员在日常活动中对质量模型的使用。缺乏研究的一个原因是缺乏用于监控软件质量演变的集成环境。我们提出SQUANER(软件质量分析器),一个用于监控面向对象系统质量演变的框架。SQUANER直接连接到系统的SVN,提取源代码,并在开发人员每次提交时执行质量评估和故障预测。在质量分析之后,将向开发人员提供反馈,指导他们如何改进代码。
{"title":"SQUANER: A framework for monitoring the quality of software systems","authors":"Nicolas Haderer, Foutse Khomh, G. Antoniol","doi":"10.1109/ICSM.2010.5609684","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609684","url":null,"abstract":"Despite the large number of quality models and publicly available quality assessment tools like PMD, Checkstyle, or FindBugs, very few studies have investigated the use of quality models by developers in their daily activities. One reason for this lack of studies is the absence of integrated environments for monitoring the evolution of software quality. We propose SQUANER (Software QUality ANalyzER), a framework for monitoring the evolution of the quality of object-oriented systems. SQUANER connects directly to the SVN of a system, extracts the source code, and perform quality evaluations and faults predictions every time a commit is made by a developer. After quality analysis, a feedback is provided to developers with instructions on how to improve their code.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121315542","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}
引用次数: 11
Reverse engineering object-oriented distributed systems 逆向工程面向对象的分布式系统
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609716
Dan C. Cosma
A significant part of the modern software systems are designed and implemented as object-oriented distributed applications, addressing the needs of a globally-connected society. While they can be analyzed focusing only on their object-oriented nature, their understanding and quality assessment require very specific, technology-dependent analysis approaches. This doctoral dissertation describes a methodology for understanding object-oriented distributed systems using a process of reverse engineering driven by the assessment of their technological and domain-specific particularities. The approach provides both system-wide and class-level characterizations, capturing the architectural traits of the systems, and assessing the impact of the distribution-aware features throughout the application. The methodology describes a mostly-automated analysis process fully supported by a tools infrastructure, providing means for detailed understanding of the distribution-related traits and including basic support for the potentially consequent system restructuring.
现代软件系统的一个重要部分被设计和实现为面向对象的分布式应用程序,以解决全球连接社会的需求。虽然可以只分析它们的面向对象性质,但它们的理解和质量评估需要非常具体的、依赖于技术的分析方法。这篇博士论文描述了一种理解面向对象分布式系统的方法,该方法使用由技术和领域特定特性评估驱动的逆向工程过程。该方法提供系统范围和类级别的特征描述,捕获系统的体系结构特征,并评估分布感知特性在整个应用程序中的影响。该方法描述了一个由工具基础结构完全支持的大部分自动化的分析过程,提供了详细理解分布相关特征的方法,并包括对潜在的后续系统重构的基本支持。
{"title":"Reverse engineering object-oriented distributed systems","authors":"Dan C. Cosma","doi":"10.1109/ICSM.2010.5609716","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609716","url":null,"abstract":"A significant part of the modern software systems are designed and implemented as object-oriented distributed applications, addressing the needs of a globally-connected society. While they can be analyzed focusing only on their object-oriented nature, their understanding and quality assessment require very specific, technology-dependent analysis approaches. This doctoral dissertation describes a methodology for understanding object-oriented distributed systems using a process of reverse engineering driven by the assessment of their technological and domain-specific particularities. The approach provides both system-wide and class-level characterizations, capturing the architectural traits of the systems, and assessing the impact of the distribution-aware features throughout the application. The methodology describes a mostly-automated analysis process fully supported by a tools infrastructure, providing means for detailed understanding of the distribution-related traits and including basic support for the potentially consequent system restructuring.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121119021","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
Software asset management 软件资产管理
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609662
M. Jakubicka
Software asset management represents an important part of software maintenance. The paper describes the main issues arising from several aspects such as legislation, management, and finance. It analyses the design of a software asset management system developed for University purposes and addresses the most significant issues in this environment.
软件资产管理是软件维护的重要组成部分。本文从立法、管理、财务等几个方面阐述了目前存在的主要问题。本文分析了一个以大学为目的开发的软件资产管理系统的设计,并解决了在这个环境中最重要的问题。
{"title":"Software asset management","authors":"M. Jakubicka","doi":"10.1109/ICSM.2010.5609662","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609662","url":null,"abstract":"Software asset management represents an important part of software maintenance. The paper describes the main issues arising from several aspects such as legislation, management, and finance. It analyses the design of a software asset management system developed for University purposes and addresses the most significant issues in this environment.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121955394","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}
引用次数: 15
Adapting COTS products 适应COTS产品
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609658
D. Wile, R. Balzer, N. Goldman, Marcelo Tallis, Alexander Egyed, T. Hollebeek
COTS products can play various architectural roles in software systems: as interfaces to problem-specific functionality, as components that provide such functionality itself, and as intermediary connectors and components in more complex systems. In doing so, COTS products impose their own, unique constraints on organization and functionality. Over the last ten years, we have gained considerable experience with adopting, adapting, and living with the limitations of COTS products. Our goal was to adapt the COTS product to make it fit the application rather than adapting the application needs to make them fit the COTS product - thus, in essence, adapting the COTS product without access to its source code or documentation (a unique form of maintenance). We report on a large set of experiences involving eight COTS products and a wide range of COTS-Based Software Systems - most of which were done with and for industrial partners or government agencies. This experience report attempts to both give a feeling for how applications can be augmented with such COTS interfaces and also tries to tease out the specific architectural issues that anyone adapting COTS products is certain to face.
COTS产品可以在软件系统中扮演各种架构角色:作为特定问题功能的接口,作为提供此类功能本身的组件,以及作为更复杂系统中的中间连接器和组件。在这样做的过程中,COTS产品对组织和功能施加了它们自己的、独特的约束。在过去的十年中,我们在采用、适应和适应COTS产品的局限性方面获得了相当多的经验。我们的目标是调整COTS产品使其适合应用程序,而不是调整应用程序需求使其适合COTS产品——因此,本质上,调整COTS产品而不访问其源代码或文档(一种独特的维护形式)。我们报告了涉及8种COTS产品和广泛的基于COTS的软件系统的大量经验—其中大多数是与工业伙伴或政府机构一起完成的。这份经验报告试图给出一种感觉,即如何使用这样的COTS接口来增强应用程序,同时也试图梳理出任何采用COTS产品的人肯定会面临的特定架构问题。
{"title":"Adapting COTS products","authors":"D. Wile, R. Balzer, N. Goldman, Marcelo Tallis, Alexander Egyed, T. Hollebeek","doi":"10.1109/ICSM.2010.5609658","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609658","url":null,"abstract":"COTS products can play various architectural roles in software systems: as interfaces to problem-specific functionality, as components that provide such functionality itself, and as intermediary connectors and components in more complex systems. In doing so, COTS products impose their own, unique constraints on organization and functionality. Over the last ten years, we have gained considerable experience with adopting, adapting, and living with the limitations of COTS products. Our goal was to adapt the COTS product to make it fit the application rather than adapting the application needs to make them fit the COTS product - thus, in essence, adapting the COTS product without access to its source code or documentation (a unique form of maintenance). We report on a large set of experiences involving eight COTS products and a wide range of COTS-Based Software Systems - most of which were done with and for industrial partners or government agencies. This experience report attempts to both give a feeling for how applications can be augmented with such COTS interfaces and also tries to tease out the specific architectural issues that anyone adapting COTS products is certain to face.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131121871","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}
引用次数: 6
Pairwise test set calculation using k-partite graphs 用k部图计算两两测试集
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609653
Elke Salecker, S. Glesner
Many software faults are triggered by unusual combinations of input values and can be detected using pairwise test sets that cover each pair of input values. The generation of pairwise test sets with a minimal size is an NP-complete problem which implies that many algorithms are either expensive or based on a random process. In this paper we present a deterministic algorithm that exploits our observation that the pairwise testing problem can be modeled as a k-partite graph problem. We calculate the test set using well investigated graph algorithms that take advantage of properties of k-partite graphs. We present evaluation results that prove the applicability of our algorithm and discuss possible improvement of our approach.
许多软件故障是由输入值的异常组合触发的,可以使用覆盖每对输入值的成对测试集来检测。最小尺寸成对测试集的生成是一个np完全问题,这意味着许多算法要么是昂贵的,要么是基于随机过程的。在本文中,我们提出了一个确定性算法,利用我们的观察,两两测试问题可以建模为一个k部图问题。我们使用充分研究的图算法来计算测试集,这些算法利用了k-部图的性质。我们给出了评价结果,证明了我们的算法的适用性,并讨论了我们的方法可能的改进。
{"title":"Pairwise test set calculation using k-partite graphs","authors":"Elke Salecker, S. Glesner","doi":"10.1109/ICSM.2010.5609653","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609653","url":null,"abstract":"Many software faults are triggered by unusual combinations of input values and can be detected using pairwise test sets that cover each pair of input values. The generation of pairwise test sets with a minimal size is an NP-complete problem which implies that many algorithms are either expensive or based on a random process. In this paper we present a deterministic algorithm that exploits our observation that the pairwise testing problem can be modeled as a k-partite graph problem. We calculate the test set using well investigated graph algorithms that take advantage of properties of k-partite graphs. We present evaluation results that prove the applicability of our algorithm and discuss possible improvement of our approach.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"113 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128122540","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
Guided test generation for coverage criteria 覆盖标准的指导测试生成
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609565
Rahul Pandita, Tao Xie, N. Tillmann, J. D. Halleux
Test coverage criteria including boundary-value and logical coverage such as Modified Condition/Decision Coverage (MC/DC) have been increasingly used in safety-critical or mission-critical domains, complementing those more popularly used structural coverage criteria such as block or branch coverage. However, existing automated test-generation approaches often target at block or branch coverage for test generation and selection, and therefore do not support testing against boundary-value coverage or logical coverage. To address this issue, we propose a general approach that uses instrumentation to guide existing test-generation approaches to generate test inputs that achieve boundary-value and logical coverage for the program under test. Our preliminary evaluation shows that our approach effectively helps an approach based on Dynamic Symbolic Execution (DSE) to improve boundary-value and logical coverage of generated test inputs. The evaluation results show 30.5% maximum (23% average) increase in boundary-value coverage and 26% maximum (21.5% average) increase in logical coverage of the subject programs under test using our approach over without using our approach. In addition, our approach improves the fault-detection capability of generated test inputs by 12.5% maximum (11% average) compared to the test inputs generated without using our approach.
包括边值和逻辑覆盖的测试覆盖标准,如修改条件/决策覆盖(MC/DC),已经越来越多地用于安全关键或任务关键领域,补充那些更普遍使用的结构覆盖标准,如块或分支覆盖。然而,现有的自动化测试生成方法通常针对测试生成和选择的块或分支覆盖,因此不支持针对边界值覆盖或逻辑覆盖的测试。为了解决这个问题,我们提出了一种通用的方法,该方法使用仪器来指导现有的测试生成方法来生成测试输入,从而为被测程序实现边界值和逻辑覆盖。我们的初步评估表明,我们的方法有效地帮助了基于动态符号执行(DSE)的方法来改进生成的测试输入的边界值和逻辑覆盖。评估结果显示,与未使用我们的方法相比,使用我们的方法测试的主题程序的边界值覆盖率最大增加30.5%(平均23%),逻辑覆盖率最大增加26%(平均21.5%)。此外,与不使用我们的方法生成的测试输入相比,我们的方法将生成的测试输入的故障检测能力提高了12.5%(平均11%)。
{"title":"Guided test generation for coverage criteria","authors":"Rahul Pandita, Tao Xie, N. Tillmann, J. D. Halleux","doi":"10.1109/ICSM.2010.5609565","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609565","url":null,"abstract":"Test coverage criteria including boundary-value and logical coverage such as Modified Condition/Decision Coverage (MC/DC) have been increasingly used in safety-critical or mission-critical domains, complementing those more popularly used structural coverage criteria such as block or branch coverage. However, existing automated test-generation approaches often target at block or branch coverage for test generation and selection, and therefore do not support testing against boundary-value coverage or logical coverage. To address this issue, we propose a general approach that uses instrumentation to guide existing test-generation approaches to generate test inputs that achieve boundary-value and logical coverage for the program under test. Our preliminary evaluation shows that our approach effectively helps an approach based on Dynamic Symbolic Execution (DSE) to improve boundary-value and logical coverage of generated test inputs. The evaluation results show 30.5% maximum (23% average) increase in boundary-value coverage and 26% maximum (21.5% average) increase in logical coverage of the subject programs under test using our approach over without using our approach. In addition, our approach improves the fault-detection capability of generated test inputs by 12.5% maximum (11% average) compared to the test inputs generated without using our approach.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133051207","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}
引用次数: 55
An Eclipse plug-in for the detection of design pattern instances through static and dynamic analysis 一个Eclipse插件,用于通过静态和动态分析检测设计模式实例
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609707
A. D. Lucia, V. Deufemia, C. Gravino, M. Risi
The extraction of design pattern information from software systems can provide conspicuous insight to software engineers on the software structure and its internal characteristics. In this demonstration we present ePAD, an Eclipse plug-in for recovering design pattern instances from object-oriented source code. The tool is able to recover design pattern instances through a structural analysis performed on a data model extracted from source code, and a behavioral analysis performed through the instrumentation and the monitoring of the software system. ePAD is fully configurable since it allows software engineers to customize the design pattern recovery rules and the layout used for the visualization of the recovered instances.
从软件系统中提取设计模式信息,可以为软件工程师提供对软件结构及其内部特征的深刻认识。在这个演示中,我们展示了ePAD,一个用于从面向对象的源代码中恢复设计模式实例的Eclipse插件。该工具能够通过对从源代码中提取的数据模型执行结构分析,以及通过检测和监视软件系统执行行为分析来恢复设计模式实例。ePAD是完全可配置的,因为它允许软件工程师自定义用于可视化恢复实例的设计模式恢复规则和布局。
{"title":"An Eclipse plug-in for the detection of design pattern instances through static and dynamic analysis","authors":"A. D. Lucia, V. Deufemia, C. Gravino, M. Risi","doi":"10.1109/ICSM.2010.5609707","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609707","url":null,"abstract":"The extraction of design pattern information from software systems can provide conspicuous insight to software engineers on the software structure and its internal characteristics. In this demonstration we present ePAD, an Eclipse plug-in for recovering design pattern instances from object-oriented source code. The tool is able to recover design pattern instances through a structural analysis performed on a data model extracted from source code, and a behavioral analysis performed through the instrumentation and the monitoring of the software system. ePAD is fully configurable since it allows software engineers to customize the design pattern recovery rules and the layout used for the visualization of the recovered instances.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131234822","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}
引用次数: 30
An algorithmic debugger for Java 用于Java的算法调试器
Pub Date : 2010-09-12 DOI: 10.1109/ICSM.2010.5609661
David Insa, Josep Silva
This work presents DDJ, an algorithmic debugger for Java. The main advantage of DDJ with respect to previous algorithmic debuggers is its scalability. DDJ has a new architecture based on the use of cache memories that allows it to scale both in time and memory. In addition, it includes new techniques that allow the debugger to start the debugging session even before the execution tree has been produced. We present the new architecture, and describe the main features of this debugger together with a usage scenario.
本文介绍了DDJ,一个用于Java的算法调试器。相对于以前的算法调试器,DDJ的主要优点是它的可伸缩性。DDJ有一个基于使用缓存内存的新架构,允许它在时间和内存上进行扩展。此外,它还包含了允许调试器在生成执行树之前启动调试会话的新技术。我们介绍了新的体系结构,并描述了该调试器的主要特性以及使用场景。
{"title":"An algorithmic debugger for Java","authors":"David Insa, Josep Silva","doi":"10.1109/ICSM.2010.5609661","DOIUrl":"https://doi.org/10.1109/ICSM.2010.5609661","url":null,"abstract":"This work presents DDJ, an algorithmic debugger for Java. The main advantage of DDJ with respect to previous algorithmic debuggers is its scalability. DDJ has a new architecture based on the use of cache memories that allows it to scale both in time and memory. In addition, it includes new techniques that allow the debugger to start the debugging session even before the execution tree has been produced. We present the new architecture, and describe the main features of this debugger together with a usage scenario.","PeriodicalId":101801,"journal":{"name":"2010 IEEE International Conference on Software Maintenance","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132060169","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
期刊
2010 IEEE International Conference on Software Maintenance
全部 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