首页 > 最新文献

2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)最新文献

英文 中文
Guided, Automated Testing of Blockchain-Based Decentralized Applications 基于区块链的去中心化应用程序的引导、自动化测试
Jianbo Gao
As blockchain-based decentralized applications (DApp) become increasingly popular recently, there is an urgent demand for effective testing schemes and tools. Due to the complexity introduced by application-blockchain interaction, existing testing methods become non-applicable. In this paper, we present a guided and automated framework called Sungari to test DApps. The insights behind Sungari are two-fold. First, we employ random events to infer an abstract relation between frontend and blockchain. Second, we use the relation to generate event sequnces in a guided manner that can cover blockchain smart contracts as quick as possible. In a real-world DApp case study, Sungari outperformed random approach by covering 33% more application use cases.
随着基于区块链的去中心化应用(DApp)越来越流行,迫切需要有效的测试方案和工具。由于应用-区块链交互带来的复杂性,现有的测试方法变得不适用。在本文中,我们提出了一个名为Sungari的指导和自动化框架来测试dapp。桑加里背后的见解有两个方面。首先,我们使用随机事件来推断前端和区块链之间的抽象关系。其次,我们使用该关系以引导的方式生成事件序列,可以尽快覆盖区块链智能合约。在真实的DApp案例研究中,Sungari通过覆盖33%以上的应用程序用例,优于随机方法。
{"title":"Guided, Automated Testing of Blockchain-Based Decentralized Applications","authors":"Jianbo Gao","doi":"10.1109/ICSE-Companion.2019.00059","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00059","url":null,"abstract":"As blockchain-based decentralized applications (DApp) become increasingly popular recently, there is an urgent demand for effective testing schemes and tools. Due to the complexity introduced by application-blockchain interaction, existing testing methods become non-applicable. In this paper, we present a guided and automated framework called Sungari to test DApps. The insights behind Sungari are two-fold. First, we employ random events to infer an abstract relation between frontend and blockchain. Second, we use the relation to generate event sequnces in a guided manner that can cover blockchain smart contracts as quick as possible. In a real-world DApp case study, Sungari outperformed random approach by covering 33% more application use cases.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117059029","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
xLineMapper: A Product Line Feature-Architecture-Implementation Mapping Toolset xLineMapper:产品线功能-架构-实现映射工具集
Cuong Cu, Xin Ye, Yongjie Zheng
This paper presents an Eclipse-based toolset named xLineMapper to automatically manage the relationships (e.g., traceability, conformance) among product line features, architecture, and source code. The xLineMapper toolset can (1) trace a product line feature to its related architectural elements and code fragments, (2) automatically update both product line architecture and code when a feature is changed, and (3) automatically customize product line architecture and code for a particular product based on its feature configuration. This is an improvement from existing product line approaches which only support either feature-architecture or feature-code mapping. We conducted a case study of xLineMapper with a large open-source software system, Apache Solr. A video demo of xLineMapper is available at https://youtu.be/pdO-vnE8U6w.
本文介绍了一个名为xLineMapper的基于eclipse的工具集,用于自动管理产品线特性、体系结构和源代码之间的关系(例如,可追溯性、一致性)。xLineMapper工具集可以(1)跟踪产品线特性到它相关的架构元素和代码片段,(2)当一个特性发生变化时自动更新产品线架构和代码,以及(3)根据其特性配置自动定制产品线架构和特定产品的代码。这是对现有产品线方法的改进,现有产品线方法只支持功能架构或功能代码映射。我们使用大型开源软件系统Apache Solr对xLineMapper进行了一个案例研究。xLineMapper的视频演示可以在https://youtu.be/pdO-vnE8U6w上获得。
{"title":"xLineMapper: A Product Line Feature-Architecture-Implementation Mapping Toolset","authors":"Cuong Cu, Xin Ye, Yongjie Zheng","doi":"10.1109/ICSE-Companion.2019.00045","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00045","url":null,"abstract":"This paper presents an Eclipse-based toolset named xLineMapper to automatically manage the relationships (e.g., traceability, conformance) among product line features, architecture, and source code. The xLineMapper toolset can (1) trace a product line feature to its related architectural elements and code fragments, (2) automatically update both product line architecture and code when a feature is changed, and (3) automatically customize product line architecture and code for a particular product based on its feature configuration. This is an improvement from existing product line approaches which only support either feature-architecture or feature-code mapping. We conducted a case study of xLineMapper with a large open-source software system, Apache Solr. A video demo of xLineMapper is available at https://youtu.be/pdO-vnE8U6w.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121711540","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}
引用次数: 1
Feedback in Scrum: Data-Informed Retrospectives Scrum中的反馈:基于数据的回顾
Christoph Matthies
Improving the way that teams work together by reflecting and improving the executed process is at the heart of agile processes. The idea of iterative process improvement takes various forms in different agile development methodologies, e.g. Scrum Retrospectives. However, these methods do not prescribe how improvement steps should be conducted in detail. In this research we investigate how agile software teams can use their development data, such as commits or tickets, created during regular development activities, to drive and track process improvement steps. Our previous research focused on data-informed process improvement in the context of student teams, where controlled circumstances and deep domain knowledge allowed creation and usage of specific process measures. Encouraged by positive results in this area, we investigate the process improvement approaches employed in industry teams. Researching how the vital mechanism of process improvement is implemented and how development data is already being used in practice in modern software development leads to a more complete picture of agile process improvement. It is the first step in enabling a data-informed feedback and improvement process, tailored to a team's context and based on the development data of individual teams.
通过反映和改进已执行的过程来改进团队协同工作的方式是敏捷过程的核心。迭代过程改进的思想在不同的敏捷开发方法中有不同的形式,例如Scrum回顾。然而,这些方法并没有详细规定如何进行改进步骤。在这项研究中,我们调查了敏捷软件团队如何使用他们的开发数据,例如在常规开发活动中创建的提交或票据,来驱动和跟踪过程改进步骤。我们之前的研究集中在学生团队背景下的数据通知过程改进,其中受控的环境和深入的领域知识允许创建和使用特定的过程度量。受到这方面积极成果的鼓舞,我们调查了行业团队中采用的过程改进方法。研究过程改进的重要机制是如何实现的,以及开发数据是如何在现代软件开发的实践中被使用的,可以更全面地了解敏捷过程改进。这是实现基于数据的反馈和改进过程的第一步,根据团队的背景和单个团队的开发数据进行定制。
{"title":"Feedback in Scrum: Data-Informed Retrospectives","authors":"Christoph Matthies","doi":"10.1109/ICSE-Companion.2019.00081","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00081","url":null,"abstract":"Improving the way that teams work together by reflecting and improving the executed process is at the heart of agile processes. The idea of iterative process improvement takes various forms in different agile development methodologies, e.g. Scrum Retrospectives. However, these methods do not prescribe how improvement steps should be conducted in detail. In this research we investigate how agile software teams can use their development data, such as commits or tickets, created during regular development activities, to drive and track process improvement steps. Our previous research focused on data-informed process improvement in the context of student teams, where controlled circumstances and deep domain knowledge allowed creation and usage of specific process measures. Encouraged by positive results in this area, we investigate the process improvement approaches employed in industry teams. Researching how the vital mechanism of process improvement is implemented and how development data is already being used in practice in modern software development leads to a more complete picture of agile process improvement. It is the first step in enabling a data-informed feedback and improvement process, tailored to a team's context and based on the development data of individual teams.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122391427","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
Vetting API Usages in C Programs with IMChecker 用IMChecker检查C程序中的API用法
Zuxing Gu, Jiecheng Wu, Chi Li, Min Zhou, Yu Jiang, M. Gu, Jiaguang Sun
Libraries offer reusable functionality through application programming interfaces (APIs) with usage constraints such as call conditions and orders. Constraint violations, i.e., API misuses, commonly lead to bugs and even security issues. In this paper, we introduce IMChecker, a constraint-directed static analysis toolkit to vet API usages in C programs powered by a domain-specific language (DSL) to specify the API usages. First, we propose a DSL, which covers most API usage constraint types and enables straightforward but precise specification by studying real-world API-misuse bug patches. Then, we design and implement a static analysis engine to automatically parse specifications into checking targets, identify potential API misuses and prune the false positives with rich semantics. We have instantiated IMChecker for C programs with user-friendly graphic interfaces and evaluated the widely used benchmarks and real-world projects. The results show that IMChecker outperforms 4.78-36.25% in precision and 40.25-55.21% w.r.t. state-of-the-arts toolkits. We also found 75 previously unknown bugs in Linux kernel, OpenSSL and applications of Ubuntu, 61 of which have been confirmed by the corresponding development communities. Video: https://youtu.be/YGDxeyOEVIM
库通过带有调用条件和顺序等使用约束的应用程序编程接口(api)提供可重用的功能。违反约束,即API误用,通常会导致bug甚至安全问题。在本文中,我们介绍了IMChecker,这是一个约束导向的静态分析工具包,用于审查由领域特定语言(DSL)支持的C程序中的API使用情况,以指定API使用情况。首先,我们提出了一个DSL,它涵盖了大多数API使用约束类型,并通过研究实际的API误用错误补丁来实现简单而精确的规范。然后,我们设计并实现了一个静态分析引擎,将规范自动解析为检查目标,识别潜在的API误用,并通过丰富的语义修剪误报。我们已经实例化了IMChecker的C程序与用户友好的图形界面,并评估了广泛使用的基准和现实世界的项目。结果表明,IMChecker的精度比目前最先进的工具高出4.78-36.25%,w.r.t.高出40.25-55.21%。我们还在Linux内核、OpenSSL和Ubuntu应用程序中发现了75个之前未知的bug,其中61个已经得到相应开发社区的确认。的视频:https://youtu.be/YGDxeyOEVIM
{"title":"Vetting API Usages in C Programs with IMChecker","authors":"Zuxing Gu, Jiecheng Wu, Chi Li, Min Zhou, Yu Jiang, M. Gu, Jiaguang Sun","doi":"10.1109/ICSE-Companion.2019.00046","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00046","url":null,"abstract":"Libraries offer reusable functionality through application programming interfaces (APIs) with usage constraints such as call conditions and orders. Constraint violations, i.e., API misuses, commonly lead to bugs and even security issues. In this paper, we introduce IMChecker, a constraint-directed static analysis toolkit to vet API usages in C programs powered by a domain-specific language (DSL) to specify the API usages. First, we propose a DSL, which covers most API usage constraint types and enables straightforward but precise specification by studying real-world API-misuse bug patches. Then, we design and implement a static analysis engine to automatically parse specifications into checking targets, identify potential API misuses and prune the false positives with rich semantics. We have instantiated IMChecker for C programs with user-friendly graphic interfaces and evaluated the widely used benchmarks and real-world projects. The results show that IMChecker outperforms 4.78-36.25% in precision and 40.25-55.21% w.r.t. state-of-the-arts toolkits. We also found 75 previously unknown bugs in Linux kernel, OpenSSL and applications of Ubuntu, 61 of which have been confirmed by the corresponding development communities. Video: https://youtu.be/YGDxeyOEVIM","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116242793","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Towards Crowd-Sourced API Documentation 面向众包API文档
Gias Uddin, Foutse Khomh, C. Roy
The learnability of an API suffers when the official documentation of the API is incomplete. Developers discuss usage scenarios of APIs in the online developer forums. As such, by automatically mining such crowd-sourced documentation of APIs, we can address the shortcomings of API official documentation. We present a framework to automatically mine usage scenarios about APIs from online developer forums. Each usage scenario of an API consists of a code example, a summary description, and the reactions (i.e., positive and negative opinions) of other developers towards the code example. We evaluate our API usage mining framework by producing a benchmark dataset. We observed a precision of 0.947 and a recall of 1.0 with the linking of a code example to an API mention in the forum.
当API的官方文档不完整时,API的可学习性就会受到影响。开发人员在在线开发人员论坛中讨论api的使用场景。因此,通过自动挖掘这些API的众包文档,我们可以解决API官方文档的缺点。我们提出了一个框架,从在线开发者论坛中自动挖掘api的使用场景。API的每个使用场景都由代码示例、摘要描述和其他开发人员对代码示例的反应(即积极和消极的意见)组成。我们通过生成基准数据集来评估我们的API使用挖掘框架。通过将代码示例链接到论坛中提到的API,我们观察到精度为0.947,召回率为1.0。
{"title":"Towards Crowd-Sourced API Documentation","authors":"Gias Uddin, Foutse Khomh, C. Roy","doi":"10.1109/ICSE-Companion.2019.00129","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00129","url":null,"abstract":"The learnability of an API suffers when the official documentation of the API is incomplete. Developers discuss usage scenarios of APIs in the online developer forums. As such, by automatically mining such crowd-sourced documentation of APIs, we can address the shortcomings of API official documentation. We present a framework to automatically mine usage scenarios about APIs from online developer forums. Each usage scenario of an API consists of a code example, a summary description, and the reactions (i.e., positive and negative opinions) of other developers towards the code example. We evaluate our API usage mining framework by producing a benchmark dataset. We observed a precision of 0.947 and a recall of 1.0 with the linking of a code example to an API mention in the forum.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"26 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114913725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Energy Distribution Matters in Greybox Fuzzing 灰盒模糊测试中的能量分配问题
Lingyun Situ, Linzhang Wang, Xuandong Li, Le Guan, Wenhui Zhang, Peng Liu
Existing energy distribution strategies of AFL and its variants have two limitations. (1) They focus on increasing coverage but ignore the fact that some code regions are more likely to be vulnerable. (2) They randomly select mutators and deterministically specify the number to mutator, therefore lack insights regarding which granularity of mutators are more helpful at that particular stage. We improve the two limitations of AFL's fuzzing energy distribution in a principled way. We direct the fuzzer to strengthen fuzzing toward regions that have a higher probability to contain vulnerabilities based on static semantic metrics of the target program. Furthermore, granularity-aware scheduling of mutators is proposed, which dynamically assigns ratios to different mutation operators. We implemented these improvements as an extension to AFL. Large-scale experimental evaluations showed the effectiveness of each improvement and performance of integration. The proposed tool has helped us find 12 new bugs and expose three new CVEs.
现有的AFL及其变体的能量分配策略存在两个局限性。(1)他们专注于增加覆盖率,但忽略了一些代码区域更容易受到攻击的事实。(2)他们随机选择突变子并确定指定要突变的数量,因此缺乏对特定阶段哪种粒度的突变子更有帮助的见解。我们从原则性上改进了AFL模糊能量分布的两个局限性。我们根据目标程序的静态语义度量,指导模糊器对包含漏洞的概率更高的区域加强模糊。在此基础上,提出了基于粒度感知的变异算子调度方法,对不同的变异算子动态分配比例。我们将这些改进作为AFL的扩展来实现。大规模的实验评估表明了每次改进的有效性和集成的性能。这个被提议的工具已经帮助我们发现了12个新的bug,并暴露了3个新的cve。
{"title":"Energy Distribution Matters in Greybox Fuzzing","authors":"Lingyun Situ, Linzhang Wang, Xuandong Li, Le Guan, Wenhui Zhang, Peng Liu","doi":"10.1109/ICSE-Companion.2019.00109","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00109","url":null,"abstract":"Existing energy distribution strategies of AFL and its variants have two limitations. (1) They focus on increasing coverage but ignore the fact that some code regions are more likely to be vulnerable. (2) They randomly select mutators and deterministically specify the number to mutator, therefore lack insights regarding which granularity of mutators are more helpful at that particular stage. We improve the two limitations of AFL's fuzzing energy distribution in a principled way. We direct the fuzzer to strengthen fuzzing toward regions that have a higher probability to contain vulnerabilities based on static semantic metrics of the target program. Furthermore, granularity-aware scheduling of mutators is proposed, which dynamically assigns ratios to different mutation operators. We implemented these improvements as an extension to AFL. Large-scale experimental evaluations showed the effectiveness of each improvement and performance of integration. The proposed tool has helped us find 12 new bugs and expose three new CVEs.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"20 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114399630","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
Directives of Communicability: Teaching Students How to Improve Communication Through Software Modeling 沟通能力的指导:教学生如何通过软件建模提高沟通能力
Adriana Lopes, E. Oliveira, T. Conte, C. D. Souza
In the development process, software models are used to support communication among development team members. Failures of communication that is mediated by software models may generate inconsistencies in software behavior, generating rework to correct them. This may occur because producers usually focus only on model content, although they should also reflect on how other members of the development team will interpret their models. We should therefore teach software engineering students how to communicate better through software models. In an attempt to improve communication through software models, we have developed the Directives of Communicability (DCs), based on theories that investigate different kinds of communication. In this poster, we present the highlights of a study to find out whether DCs improve software engineering students' communication through software models. Our results confirm that DCs have improved the students' reflections on how their models' content will be interpreted during the software development process.
在开发过程中,软件模型用于支持开发团队成员之间的通信。由软件模型调解的通信失败可能会在软件行为中产生不一致,从而产生返工来纠正它们。这可能是因为制作人通常只关注模型内容,尽管他们也应该考虑开发团队的其他成员将如何解释他们的模型。因此,我们应该教软件工程专业的学生如何通过软件模型更好地进行交流。为了通过软件模型改进通信,我们基于研究不同类型通信的理论,开发了可通信性指令(DCs)。在这张海报中,我们展示了一项研究的亮点,该研究旨在了解DCs是否通过软件模型提高了软件工程专业学生的沟通能力。我们的研究结果证实,DCs提高了学生对软件开发过程中如何解释模型内容的思考。
{"title":"Directives of Communicability: Teaching Students How to Improve Communication Through Software Modeling","authors":"Adriana Lopes, E. Oliveira, T. Conte, C. D. Souza","doi":"10.1109/ICSE-Companion.2019.00127","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00127","url":null,"abstract":"In the development process, software models are used to support communication among development team members. Failures of communication that is mediated by software models may generate inconsistencies in software behavior, generating rework to correct them. This may occur because producers usually focus only on model content, although they should also reflect on how other members of the development team will interpret their models. We should therefore teach software engineering students how to communicate better through software models. In an attempt to improve communication through software models, we have developed the Directives of Communicability (DCs), based on theories that investigate different kinds of communication. In this poster, we present the highlights of a study to find out whether DCs improve software engineering students' communication through software models. Our results confirm that DCs have improved the students' reflections on how their models' content will be interpreted during the software development process.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128669454","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
Automatically Reconstructing Car Crashes from Police Reports for Testing Self-Driving Cars 从警方报告中自动重建车祸,用于测试自动驾驶汽车
Alessio Gambi, Tri Huynh, G. Fraser
Autonomous driving carries the promise to drastically reduce the number of car accidents; however, recently reported fatal crashes involving self-driving cars show this important goal is not yet achieved, and call for better testing of the software controlling self-driving cars. To better test self-driving car software, we propose to specifically test critical scenarios. Since these are difficult to test in field operation, we create simulations of critical situations. These simulations are automatically derived from natural language police reports of actual car crashes, which are available in historical datasets. Our initial evaluation shows that we can generate accurate simulations in a matter of minutes.
自动驾驶有望大幅减少车祸的数量;然而,最近报道的涉及自动驾驶汽车的致命事故表明,这一重要目标尚未实现,并呼吁对控制自动驾驶汽车的软件进行更好的测试。为了更好地测试自动驾驶汽车软件,我们建议专门测试关键场景。由于这些很难在现场操作中进行测试,因此我们创建了关键情况的模拟。这些模拟是自动从自然语言警察的实际车祸报告中得出的,这些报告可以在历史数据集中找到。我们的初步评估表明,我们可以在几分钟内生成准确的模拟。
{"title":"Automatically Reconstructing Car Crashes from Police Reports for Testing Self-Driving Cars","authors":"Alessio Gambi, Tri Huynh, G. Fraser","doi":"10.1109/ICSE-Companion.2019.00119","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00119","url":null,"abstract":"Autonomous driving carries the promise to drastically reduce the number of car accidents; however, recently reported fatal crashes involving self-driving cars show this important goal is not yet achieved, and call for better testing of the software controlling self-driving cars. To better test self-driving car software, we propose to specifically test critical scenarios. Since these are difficult to test in field operation, we create simulations of critical situations. These simulations are automatically derived from natural language police reports of actual car crashes, which are available in historical datasets. Our initial evaluation shows that we can generate accurate simulations in a matter of minutes.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124383651","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}
引用次数: 9
Supervised Tie Breaking in Test Case Prioritization 在测试用例优先级中有监督的联系中断
Sepehr Eghbali, Vinit Kudva, G. Rothermel, L. Tahvildari
Test case prioritization reorders sequences of test cases with the aim of increasing the rate at which faults can be detected. Most existing prioritization techniques employ coverage information gathered on previous test case executions to rank test cases. Existing studies in the literature, however, show that there is a high chance that "ties" occur during the prioritization procedure when using coverage-based techniques; that is, there is a high chance that cases will occur in which two or more candidate test cases have identical code coverage behaviors. To break such ties, most techniques resort to random re-ordering of test cases, which can degrade the rate of fault detection. In this work, we use an ensemble of defect prediction models to guide prioritization techniques towards breaking such ties by re-ordering test cases in terms of the likelihood that they will cover fault-prone units of code.
测试用例优先级重新排序测试用例的序列,目的是提高检测故障的速率。大多数现有的优先级划分技术都使用从以前的测试用例执行中收集的覆盖信息来对测试用例进行排序。然而,文献中的现有研究表明,当使用基于覆盖率的技术时,在优先排序过程中很有可能出现“联系”;也就是说,两个或多个候选测试用例具有相同的代码覆盖行为的情况很有可能发生。为了打破这种联系,大多数技术诉诸于测试用例的随机重新排序,这可能会降低故障检测的速度。在这项工作中,我们使用缺陷预测模型的集合来指导优先化技术,通过根据测试用例覆盖容易出错的代码单元的可能性来重新排序测试用例,从而打破这种联系。
{"title":"Supervised Tie Breaking in Test Case Prioritization","authors":"Sepehr Eghbali, Vinit Kudva, G. Rothermel, L. Tahvildari","doi":"10.1109/ICSE-Companion.2019.00095","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00095","url":null,"abstract":"Test case prioritization reorders sequences of test cases with the aim of increasing the rate at which faults can be detected. Most existing prioritization techniques employ coverage information gathered on previous test case executions to rank test cases. Existing studies in the literature, however, show that there is a high chance that \"ties\" occur during the prioritization procedure when using coverage-based techniques; that is, there is a high chance that cases will occur in which two or more candidate test cases have identical code coverage behaviors. To break such ties, most techniques resort to random re-ordering of test cases, which can degrade the rate of fault detection. In this work, we use an ensemble of defect prediction models to guide prioritization techniques towards breaking such ties by re-ordering test cases in terms of the likelihood that they will cover fault-prone units of code.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"584 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116546485","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Towards Zero Knowledge Learning for Cross Language API Mappings 面向跨语言API映射的零知识学习
Nghi D. Q. Bui
Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across languages based on the idea of unsupervised domain adaption via Generative Adversarial Network (GAN) and an additional refinement procedure that can transform two vector spaces to align the API vectors in the two spaces without the need of manually provided anchors. We show that our approach can identify API mappings more accurately than Api2Api without the need of curated parallel seeds
为了实现功能,程序员经常需要将程序从一种语言或平台迁移到另一种语言或平台,而不是从头开始重写代码。然而,大多数用于识别跨语言API映射和促进自动程序翻译的技术都需要手动管理并行语料库,其中包含已经映射的API种子或使用两种不同语言的API的功能等效代码,以便技术可以有一个锚点来映射API。为了减轻管理并行数据的需求并推广程序翻译技术的适用性,我们开发了一种新的自动化方法,用于识别跨语言的API映射,该方法基于通过生成对抗网络(GAN)进行无监督域自适应的思想,以及一个额外的改进过程,该过程可以转换两个向量空间以对齐两个空间中的API向量,而无需手动提供锚点。我们证明,我们的方法可以比Api2Api更准确地识别API映射,而不需要管理并行种子
{"title":"Towards Zero Knowledge Learning for Cross Language API Mappings","authors":"Nghi D. Q. Bui","doi":"10.1109/ICSE-Companion.2019.00054","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00054","url":null,"abstract":"Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across languages based on the idea of unsupervised domain adaption via Generative Adversarial Network (GAN) and an additional refinement procedure that can transform two vector spaces to align the API vectors in the two spaces without the need of manually provided anchors. We show that our approach can identify API mappings more accurately than Api2Api without the need of curated parallel seeds","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"160 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122969114","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
期刊
2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
全部 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