首页 > 最新文献

2013 35th International Conference on Software Engineering (ICSE)最新文献

英文 中文
Understanding regression failures through test-passing and test-failing code changes 通过测试通过和测试失败的代码更改来理解回归失败
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606672
Roykrong Sukkerd, Ivan Beschastnikh, Jochen Wuttke, Sai Zhang, Yuriy Brun
Debugging and isolating changes responsible for regression test failures are some of the most challenging aspects of modern software development. Automatic bug localization techniques reduce the manual effort developers spend examining code, for example, by focusing attention on the minimal subset of recent changes that results in the test failure, or on changes to components with most dependencies or highest churn. We observe that another subset of changes is worth the developers' attention: the complement of the maximal set of changes that does not produce the failure. While for simple, independent source-code changes, existing techniques localize the failure cause to a small subset of those changes, we find that when changes interact, the failure cause is often in our proposed subset and not in the subset existing techniques identify. In studying 45 regression failures in a large, open-source project, we find that for 87% of those failures, the complement of the maximal passing set of changes is different from the minimal failing set of changes, and that for 78% of the failures, our technique identifies relevant changes ignored by existing work. These preliminary results suggest that combining our ideas with existing techniques, as opposed to using either in isolation, can improve the effectiveness of bug localization tools.
调试和隔离导致回归测试失败的更改是现代软件开发中最具挑战性的一些方面。自动错误定位技术减少了开发人员花费在检查代码上的手工工作,例如,通过将注意力集中在导致测试失败的最近更改的最小子集上,或者集中在对具有最多依赖项或最高流失的组件的更改上。我们观察到另一个变更子集值得开发人员注意:不产生故障的最大变更集的补充。而对于简单的、独立的源代码更改,现有技术将失败原因定位到这些更改的一个小子集,我们发现,当更改交互时,失败原因通常在我们建议的子集中,而不在现有技术识别的子集中。在研究了一个大型开源项目中的45个回归失败后,我们发现,在87%的失败中,最大通过的变更集的补足量不同于最小失败的变更集,而在78%的失败中,我们的技术识别出了被现有工作忽略的相关变更。这些初步结果表明,将我们的想法与现有技术相结合,而不是单独使用任何一种技术,可以提高bug定位工具的有效性。
{"title":"Understanding regression failures through test-passing and test-failing code changes","authors":"Roykrong Sukkerd, Ivan Beschastnikh, Jochen Wuttke, Sai Zhang, Yuriy Brun","doi":"10.1109/ICSE.2013.6606672","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606672","url":null,"abstract":"Debugging and isolating changes responsible for regression test failures are some of the most challenging aspects of modern software development. Automatic bug localization techniques reduce the manual effort developers spend examining code, for example, by focusing attention on the minimal subset of recent changes that results in the test failure, or on changes to components with most dependencies or highest churn. We observe that another subset of changes is worth the developers' attention: the complement of the maximal set of changes that does not produce the failure. While for simple, independent source-code changes, existing techniques localize the failure cause to a small subset of those changes, we find that when changes interact, the failure cause is often in our proposed subset and not in the subset existing techniques identify. In studying 45 regression failures in a large, open-source project, we find that for 87% of those failures, the complement of the maximal passing set of changes is different from the minimal failing set of changes, and that for 78% of the failures, our technique identifies relevant changes ignored by existing work. These preliminary results suggest that combining our ideas with existing techniques, as opposed to using either in isolation, can improve the effectiveness of bug localization tools.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"110 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115165838","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
A roadmap for software maintainability measurement 软件可维护性度量的路线图
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606742
Juliana Saraiva
Object-Oriented Programming (OOP) is one of the most used programming paradigms. Thus, researches dedicated in improvement of software quality that adhere to this paradigm are demanded. Complementarily, maintainability is considered a software attribute that plays an important role in its quality level. In this context, Object-Oriented Software Maintainability (OOSM) has been studied through years and several researchers proposed a high number of metrics to measure it. Nevertheless, there is no standardization or a catalogue to summarize all the information about these metrics, helping the researchers to make decision about which metrics can be adopted to perform their experiments in OOSM. Actually, distinct areas in both academic and industrial environment, such as Software Development, Project Management, and Software Research can adopt them to support decision-making processes. Thus, this work researched about the usage of OOSM metrics in academia and industry in order to help researchers in making decision about the metrics suite to be adopted. We found 570 OOSM metrics. Additionally, as a preliminary result we proposed a catalog with 36 metrics that were most used in academic works/experiments, trying to guide researchers with their decision-make about which metrics are more indicated to be adopted in their experiments.
面向对象编程(OOP)是最常用的编程范式之一。因此,需要对遵循这一范式的软件质量改进进行专门的研究。与之相辅相成的是,可维护性被认为是软件的一个属性,在其质量级别中扮演着重要的角色。在这种背景下,面向对象软件可维护性(OOSM)已经被研究了很多年,并且一些研究者提出了大量的度量方法来度量它。然而,没有标准化或目录来总结关于这些指标的所有信息,帮助研究人员决定可以采用哪些指标来执行他们在OOSM中的实验。实际上,学术和工业环境中的不同领域,如软件开发、项目管理和软件研究可以采用它们来支持决策过程。因此,本工作研究了OOSM度量在学术界和工业界的使用情况,以帮助研究人员对将要采用的度量套件做出决策。我们找到了570个OOSM指标。此外,作为初步结果,我们提出了一个包含36个在学术作品/实验中使用最多的指标的目录,试图指导研究人员决策哪些指标更有可能在他们的实验中采用。
{"title":"A roadmap for software maintainability measurement","authors":"Juliana Saraiva","doi":"10.1109/ICSE.2013.6606742","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606742","url":null,"abstract":"Object-Oriented Programming (OOP) is one of the most used programming paradigms. Thus, researches dedicated in improvement of software quality that adhere to this paradigm are demanded. Complementarily, maintainability is considered a software attribute that plays an important role in its quality level. In this context, Object-Oriented Software Maintainability (OOSM) has been studied through years and several researchers proposed a high number of metrics to measure it. Nevertheless, there is no standardization or a catalogue to summarize all the information about these metrics, helping the researchers to make decision about which metrics can be adopted to perform their experiments in OOSM. Actually, distinct areas in both academic and industrial environment, such as Software Development, Project Management, and Software Research can adopt them to support decision-making processes. Thus, this work researched about the usage of OOSM metrics in academia and industry in order to help researchers in making decision about the metrics suite to be adopted. We found 570 OOSM metrics. Additionally, as a preliminary result we proposed a catalog with 36 metrics that were most used in academic works/experiments, trying to guide researchers with their decision-make about which metrics are more indicated to be adopted in their experiments.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116306477","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}
引用次数: 13
RADAR: A tool for debugging regression problems in C/C++ Software 在C/ c++软件中调试回归问题的工具
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606711
F. Pastore, L. Mariani, A. Goffi
Multiple tools can assist developers when debugging programs, but only a few solutions specifically target the common case of regression failures, to provide a more focused and effective support to debugging. In this paper we present RADAR, a tool that combines change identification and dynamic analysis to automatically explain regression problems with a list of suspicious differences in the behavior of the base and upgraded version of a program. The output produced by the tool is particularly beneficial to understand why an application failed. A demo video is available at http://www.youtube.com/watch?v=DMGUgALG-yE.
多种工具可以在调试程序时帮助开发人员,但是只有少数解决方案专门针对回归失败的常见情况,为调试提供更集中和有效的支持。在本文中,我们介绍了RADAR,这是一种结合了变化识别和动态分析的工具,可以通过程序的基本版本和升级版本的行为中的可疑差异列表自动解释回归问题。该工具产生的输出对于理解应用程序失败的原因特别有用。演示视频可在http://www.youtube.com/watch?v=DMGUgALG-yE上获得。
{"title":"RADAR: A tool for debugging regression problems in C/C++ Software","authors":"F. Pastore, L. Mariani, A. Goffi","doi":"10.1109/ICSE.2013.6606711","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606711","url":null,"abstract":"Multiple tools can assist developers when debugging programs, but only a few solutions specifically target the common case of regression failures, to provide a more focused and effective support to debugging. In this paper we present RADAR, a tool that combines change identification and dynamic analysis to automatically explain regression problems with a list of suspicious differences in the behavior of the base and upgraded version of a program. The output produced by the tool is particularly beneficial to understand why an application failed. A demo video is available at http://www.youtube.com/watch?v=DMGUgALG-yE.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115384849","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}
引用次数: 18
Supporting maintenance tasks on transformational code generation environments 支持转换代码生成环境中的维护任务
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606719
Victor Guana
At the core of model-driven software development, model-transformation compositions enable automatic generation of executable artifacts from models. Although the advantages of transformational software development have been explored by numerous academics and industry practitioners, adoption of the paradigm continues to be slow, and limited to specific domains. The main challenge to adoption is the fact that maintenance tasks, such as analysis and management of model-transformation compositions and reflecting code changes to model transformations, are still largely unsupported by tools. My dissertation aims at enhancing the field's understanding around the maintenance issues in transformational software development, and at supporting the tasks involved in the synchronization of evolving system features with their generation environments. This paper discusses the three main aspects of the envisioned thesis: (a) complexity analysis of model-transformation compositions, (b) system feature localization and tracking in model-transformation compositions, and (c) refactoring of transformation compositions to improve their qualities.
在模型驱动软件开发的核心,模型转换组合支持从模型自动生成可执行工件。尽管转换软件开发的优势已经被许多学者和行业实践者所探索,但是对范式的采用仍然是缓慢的,并且仅限于特定的领域。采用的主要挑战是维护任务,例如模型转换组合的分析和管理,以及反映模型转换的代码更改,在很大程度上仍然不受工具的支持。我的论文旨在加强该领域对转换软件开发中维护问题的理解,并支持与不断发展的系统特征及其生成环境同步所涉及的任务。本文讨论了所设想的论文的三个主要方面:(a)模型转换组合的复杂性分析,(b)模型转换组合中的系统特征定位和跟踪,以及(c)转换组合的重构以提高其质量。
{"title":"Supporting maintenance tasks on transformational code generation environments","authors":"Victor Guana","doi":"10.1109/ICSE.2013.6606719","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606719","url":null,"abstract":"At the core of model-driven software development, model-transformation compositions enable automatic generation of executable artifacts from models. Although the advantages of transformational software development have been explored by numerous academics and industry practitioners, adoption of the paradigm continues to be slow, and limited to specific domains. The main challenge to adoption is the fact that maintenance tasks, such as analysis and management of model-transformation compositions and reflecting code changes to model transformations, are still largely unsupported by tools. My dissertation aims at enhancing the field's understanding around the maintenance issues in transformational software development, and at supporting the tasks involved in the synchronization of evolving system features with their generation environments. This paper discusses the three main aspects of the envisioned thesis: (a) complexity analysis of model-transformation compositions, (b) system feature localization and tracking in model-transformation compositions, and (c) refactoring of transformation compositions to improve their qualities.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123806601","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
Mitigating the obsolescence of specification models of service-based systems 减少基于服务的系统的规范模型的过时
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606745
Romina Torres
Service-based systems (SBS) must be able to adapt their architectural configurations during runtime in order to keep satisfied their specification models. These models are the result of design time derivation of requirements into precise and verifiable specifications by using the knowledge about the current service offerings. Unfortunately, the design time knowledge may be no longer valid during runtime. Then, nonfunctional constraints may have different numerical meanings at different time even for the same observers. Thus, specification models become obsolete affecting the SBS' capability of detecting requirement violations during runtime and therefore they trigger reconfigurations when appropriated. In order to mitigate the obsolescence of specification models, we propose to specify and verify them using the computing with words (CWW) methodology. First, non-functional properties (NFPs) of functionally-equivalent services are modeled as linguistic variables, whose domains are concepts or linguistic values instead of precise numbers. Second, architects specify at design time their requirements as linguistic decision models (LDMs) using these concepts. Third, during runtime, the CWW engine monitors the requirements satisfaction by the current chosen architectural configuration. And fourth, each time a global concept drift is detected in the NFPs of the services market, the numerical meanings are updated. Our initial results are encouraging, where our approach mitigates effectively and efficiently the obsolescence of the specification models used by SBS to drive their reconfigurations.
基于服务的系统(SBS)必须能够在运行时调整其体系结构配置,以保持对其规范模型的满意。这些模型是通过使用有关当前服务产品的知识,在设计时将需求派生为精确且可验证的规范的结果。不幸的是,设计时知识可能在运行时期间不再有效。因此,即使对于同一观察者,非功能约束在不同时间也可能具有不同的数值含义。因此,规范模型会过时,影响SBS在运行时检测需求违反的能力,因此它们会在适当的时候触发重新配置。为了避免规范模型过时的问题,我们提出使用词语计算(CWW)方法来规范和验证规范模型。首先,将功能等效服务的非功能属性(NFPs)建模为语言变量,其域是概念或语言值,而不是精确的数字。其次,架构师在设计时使用这些概念将他们的需求指定为语言决策模型(ldm)。第三,在运行期间,CWW引擎通过当前选择的体系结构配置监视需求的满足情况。第四,每当在服务市场的非农就业数据中检测到全球概念漂移时,数值含义就会更新。我们的初步结果令人鼓舞,我们的方法有效地缓解了SBS用来驱动其重新配置的规范模型的过时问题。
{"title":"Mitigating the obsolescence of specification models of service-based systems","authors":"Romina Torres","doi":"10.1109/ICSE.2013.6606745","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606745","url":null,"abstract":"Service-based systems (SBS) must be able to adapt their architectural configurations during runtime in order to keep satisfied their specification models. These models are the result of design time derivation of requirements into precise and verifiable specifications by using the knowledge about the current service offerings. Unfortunately, the design time knowledge may be no longer valid during runtime. Then, nonfunctional constraints may have different numerical meanings at different time even for the same observers. Thus, specification models become obsolete affecting the SBS' capability of detecting requirement violations during runtime and therefore they trigger reconfigurations when appropriated. In order to mitigate the obsolescence of specification models, we propose to specify and verify them using the computing with words (CWW) methodology. First, non-functional properties (NFPs) of functionally-equivalent services are modeled as linguistic variables, whose domains are concepts or linguistic values instead of precise numbers. Second, architects specify at design time their requirements as linguistic decision models (LDMs) using these concepts. Third, during runtime, the CWW engine monitors the requirements satisfaction by the current chosen architectural configuration. And fourth, each time a global concept drift is detected in the NFPs of the services market, the numerical meanings are updated. Our initial results are encouraging, where our approach mitigates effectively and efficiently the obsolescence of the specification models used by SBS to drive their reconfigurations.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121816384","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
Industry involvement in ICT curriculum: A comparative survey 资讯及通讯科技业参与课程:比较调查
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606666
C. Pilgrim
Stakeholder consultation during course accreditation is now a requirement of new Australian government regulations as well as the Australian ICT professional society accreditation. Despite these requirements there remains some differences between universities and industry regarding the purpose, nature and extent of industry involvement in the curriculum. Surveys of industry and university leaders in ICT were undertaken to provide a representative set of views on these issues. The results provided insights into the perceptions of universities and industry regarding industry involvement into the curriculum. The results also confirmed previous research that identified a tension between industry's desire for relevant skills and the role of universities in providing a broader education for lifelong learning.
在课程认证过程中,利益相关者咨询现在是澳大利亚政府新法规以及澳大利亚ICT专业协会认证的要求。尽管有这些要求,但在课程中涉及行业的目的、性质和程度方面,大学和行业之间仍然存在一些差异。对信通技术行业和大学领导人进行了调查,以便就这些问题提供一套具有代表性的意见。研究结果提供了对大学和行业对课程参与的看法的见解。这一结果也证实了之前的研究,即工业界对相关技能的渴望与大学在提供更广泛的终身学习教育方面的作用之间存在紧张关系。
{"title":"Industry involvement in ICT curriculum: A comparative survey","authors":"C. Pilgrim","doi":"10.1109/ICSE.2013.6606666","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606666","url":null,"abstract":"Stakeholder consultation during course accreditation is now a requirement of new Australian government regulations as well as the Australian ICT professional society accreditation. Despite these requirements there remains some differences between universities and industry regarding the purpose, nature and extent of industry involvement in the curriculum. Surveys of industry and university leaders in ICT were undertaken to provide a representative set of views on these issues. The results provided insights into the perceptions of universities and industry regarding industry involvement into the curriculum. The results also confirmed previous research that identified a tension between industry's desire for relevant skills and the role of universities in providing a broader education for lifelong learning.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"88 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120995021","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}
引用次数: 7
ConfDiagnoser: An automated configuration error diagnosis tool for Java software confdiagnostic:用于Java软件的自动配置错误诊断工具
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606737
Sai Zhang
This paper presents ConfDiagnoser, an automated configuration error diagnosis tool for Java software. Conf-Diagnoser identifies the root cause of a configuration error - a single configuration option that can be changed to produce desired behavior. It uses static analysis, dynamic profiling, and statistical analysis to link the undesired behavior to specific configuration options. ConfDiagnoser differs from existing approaches in two key aspects: it does not require users to provide a testing oracle (to check whether the software functions correctly) and thus is fully-automated; and it can diagnose both crashing and non-crashing errors. We demonstrated ConfDiagnoser's accuracy and speed on 5 non-crashing configuration errors and 9 crashing configuration errors from 5 configurable software systems.
介绍了一种基于Java软件的配置错误自动诊断工具ConfDiagnoser。Conf-Diagnoser识别配置错误的根本原因—可以更改单个配置选项以产生所需的行为。它使用静态分析、动态概要分析和统计分析将不希望的行为与特定的配置选项联系起来。ConfDiagnoser与现有的方法在两个关键方面有所不同:它不需要用户提供测试oracle(检查软件是否正常运行),因此是全自动的;它可以诊断崩溃和非崩溃错误。我们在5个可配置软件系统的5个非崩溃配置错误和9个崩溃配置错误上演示了confdiagnostic的准确性和速度。
{"title":"ConfDiagnoser: An automated configuration error diagnosis tool for Java software","authors":"Sai Zhang","doi":"10.1109/ICSE.2013.6606737","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606737","url":null,"abstract":"This paper presents ConfDiagnoser, an automated configuration error diagnosis tool for Java software. Conf-Diagnoser identifies the root cause of a configuration error - a single configuration option that can be changed to produce desired behavior. It uses static analysis, dynamic profiling, and statistical analysis to link the undesired behavior to specific configuration options. ConfDiagnoser differs from existing approaches in two key aspects: it does not require users to provide a testing oracle (to check whether the software functions correctly) and thus is fully-automated; and it can diagnose both crashing and non-crashing errors. We demonstrated ConfDiagnoser's accuracy and speed on 5 non-crashing configuration errors and 9 crashing configuration errors from 5 configurable software systems.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"2347 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130383631","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Guided test generation for web applications 指导web应用程序的测试生成
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606562
Suresh Thummalapenta, K. Vasanta Lakshmi, S. Sinha, Nishant Sinha, S. Chandra
We focus on functional testing of enterprise applications with the goal of exercising an application's interesting behaviors by driving it from its user interface. The difficulty in doing this is focusing on the interesting behaviors among an unbounded number of behaviors. We present a new technique for automatically generating tests that drive a web-based application along interesting behaviors, where the interesting behavior is specified in the form of “business rules.” Business rules are a general mechanism for describing business logic, access control, or even navigational properties of an application's GUI. Our technique is black box, in that it does not analyze the application's server-side implementation, but relies on directed crawling via the application's GUI. To handle the unbounded number of GUI states, the technique includes two phases. Phase 1 creates an abstract state-transition diagram using a relaxed notion of equivalence of GUI states without considering rules. Next, Phase 2 identifies rule-relevant abstract paths and refines those paths using a stricter notion of state equivalence. Our technique can be much more effective at covering business rules than an undirected technique, developed as an enhancement of an existing test-generation technique. Our experiments showed that the former was able to cover 92% of the rules, compared to 52% of the rules covered by the latter.
我们将重点放在企业应用程序的功能测试上,目的是通过将应用程序从用户界面中驱动出来,来检验应用程序的有趣行为。这样做的困难在于从无数行为中找出有趣的行为。我们提出了一种自动生成测试的新技术,这些测试沿着有趣的行为驱动基于web的应用程序,其中有趣的行为以“业务规则”的形式指定。业务规则是一种通用机制,用于描述业务逻辑、访问控制,甚至是应用程序GUI的导航属性。我们的技术是黑盒技术,因为它不分析应用程序的服务器端实现,而是依赖于通过应用程序的GUI进行定向爬行。为了处理无限数量的GUI状态,该技术包括两个阶段。阶段1使用GUI状态等价的宽松概念创建一个抽象的状态转换图,而不考虑规则。接下来,阶段2确定与规则相关的抽象路径,并使用更严格的状态等价概念来细化这些路径。在覆盖业务规则方面,我们的技术比作为现有测试生成技术的增强而开发的无向技术要有效得多。我们的实验表明,前者能够覆盖92%的规则,而后者能够覆盖52%的规则。
{"title":"Guided test generation for web applications","authors":"Suresh Thummalapenta, K. Vasanta Lakshmi, S. Sinha, Nishant Sinha, S. Chandra","doi":"10.1109/ICSE.2013.6606562","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606562","url":null,"abstract":"We focus on functional testing of enterprise applications with the goal of exercising an application's interesting behaviors by driving it from its user interface. The difficulty in doing this is focusing on the interesting behaviors among an unbounded number of behaviors. We present a new technique for automatically generating tests that drive a web-based application along interesting behaviors, where the interesting behavior is specified in the form of “business rules.” Business rules are a general mechanism for describing business logic, access control, or even navigational properties of an application's GUI. Our technique is black box, in that it does not analyze the application's server-side implementation, but relies on directed crawling via the application's GUI. To handle the unbounded number of GUI states, the technique includes two phases. Phase 1 creates an abstract state-transition diagram using a relaxed notion of equivalence of GUI states without considering rules. Next, Phase 2 identifies rule-relevant abstract paths and refines those paths using a stricter notion of state equivalence. Our technique can be much more effective at covering business rules than an undirected technique, developed as an enhancement of an existing test-generation technique. Our experiments showed that the former was able to cover 92% of the rules, compared to 52% of the rules covered by the latter.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130429258","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}
引用次数: 54
It's not a bug, it's a feature: How misclassification impacts bug prediction 这不是一个bug,而是一个特性:错误分类如何影响bug预测
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606585
Kim Herzig, Sascha Just, A. Zeller
In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8% of all bug reports to be misclassified - that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39% of files marked as defective actually never had a bug. We discuss the impact of this misclassification on earlier studies and recommend manual data validation for future studies.
在对来自五个开源项目的bug数据库的7000多个问题报告进行手工检查时,我们发现33.8%的bug报告被错误分类——也就是说,它们不是指代码修复,而是导致了一个新特性、文档更新或内部重构。这种错误的分类在bug预测模型中引入了偏差,混淆了bug和特性:平均而言,39%被标记为有缺陷的文件实际上从未有过bug。我们讨论了这种错误分类对早期研究的影响,并建议对未来的研究进行手动数据验证。
{"title":"It's not a bug, it's a feature: How misclassification impacts bug prediction","authors":"Kim Herzig, Sascha Just, A. Zeller","doi":"10.1109/ICSE.2013.6606585","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606585","url":null,"abstract":"In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8% of all bug reports to be misclassified - that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39% of files marked as defective actually never had a bug. We discuss the impact of this misclassification on earlier studies and recommend manual data validation for future studies.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"8 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128248519","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}
引用次数: 395
GROPG: A graphical on-phone debugger GROPG:一个图形化的电话调试器
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606675
T. Nguyen, Christoph Csallner, N. Tillmann
Debugging mobile phone applications is hard, as current debugging techniques either require multiple computing devices or do not support graphical debugging. To address this problem we present GROPG, the first graphical on-phone debugger. We implement GROPG for Android and perform a preliminary evaluation on third-party applications. Our experiments suggest that GROPG can lower the overall debugging time of a comparable text-based on-phone debugger by up to 2/3.
调试移动电话应用程序很困难,因为当前的调试技术要么需要多个计算设备,要么不支持图形化调试。为了解决这个问题,我们提出了GROPG,这是第一个图形化的电话调试器。我们在Android上实现了GROPG,并对第三方应用进行了初步评估。我们的实验表明,GROPG可以将基于文本的手机调试器的总调试时间降低2/3。
{"title":"GROPG: A graphical on-phone debugger","authors":"T. Nguyen, Christoph Csallner, N. Tillmann","doi":"10.1109/ICSE.2013.6606675","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606675","url":null,"abstract":"Debugging mobile phone applications is hard, as current debugging techniques either require multiple computing devices or do not support graphical debugging. To address this problem we present GROPG, the first graphical on-phone debugger. We implement GROPG for Android and perform a preliminary evaluation on third-party applications. Our experiments suggest that GROPG can lower the overall debugging time of a comparable text-based on-phone debugger by up to 2/3.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129015123","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}
引用次数: 18
期刊
2013 35th International Conference on Software Engineering (ICSE)
全部 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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1