首页 > 最新文献

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

英文 中文
Toward Detection and Characterization of Variability Bugs in Configurable C Software: An Empirical Study 可配置C软件中可变性缺陷的检测与表征:一项实证研究
Austin Mordahl
Variability in C software is a useful tool, but critical bugs that only exist in certain configurations are easily missed by conventional debugging techniques. Even with a small number of features, the configuration space of configurable software is too large to analyze exhaustively. Variability-aware static analysis for bug detection is being developed, but remains at too early a stage to be fully usable in real-world C programs. In this work, we present a methodology of finding variability bugs by combining variability-oblivious bug detectors, static analysis of build processes, and dynamic feature interaction inference. We further present an empirical study in which we test our methodology on two highly configurable C programs. We found our methodology to be effective, finding 88 true bugs between the two programs, of which 64 were variability bugs.
C软件中的可变性是一个有用的工具,但是仅存在于某些配置中的关键错误很容易被传统的调试技术遗漏。即使只有少量的特性,可配置软件的配置空间也太大,无法进行详尽的分析。用于错误检测的可变性感知静态分析正在开发中,但仍处于早期阶段,无法在实际的C程序中完全可用。在这项工作中,我们提出了一种通过结合可变性无关错误检测器、构建过程的静态分析和动态特征交互推理来发现可变性错误的方法。我们进一步提出了一项实证研究,其中我们在两个高度可配置的C程序上测试了我们的方法。我们发现我们的方法是有效的,在两个程序之间发现了88个真正的错误,其中64个是可变性错误。
{"title":"Toward Detection and Characterization of Variability Bugs in Configurable C Software: An Empirical Study","authors":"Austin Mordahl","doi":"10.1109/ICSE-Companion.2019.00064","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00064","url":null,"abstract":"Variability in C software is a useful tool, but critical bugs that only exist in certain configurations are easily missed by conventional debugging techniques. Even with a small number of features, the configuration space of configurable software is too large to analyze exhaustively. Variability-aware static analysis for bug detection is being developed, but remains at too early a stage to be fully usable in real-world C programs. In this work, we present a methodology of finding variability bugs by combining variability-oblivious bug detectors, static analysis of build processes, and dynamic feature interaction inference. We further present an empirical study in which we test our methodology on two highly configurable C programs. We found our methodology to be effective, finding 88 true bugs between the two programs, of which 64 were variability bugs.","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":"114311862","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
Enhancing Precision of Structured Merge by Proper Tree Matching 通过适当的树匹配提高结构化合并的精度
Fengmin Zhu, Fei He, Q. Yu
Recently, structured merge has shown its advantage in improving the merge precision over conventional line-based, unstructured merge. A typical structured merge algorithm consists of matching and amalgamation on abstract syntax trees. Existing tree matching techniques aim to figure out optimal matches by maximizing the number of matched nodes. From real-world codebases, however, we find that many of the reported conflicts are unnecessary. We propose a new objective function for defining a proper tree matching, with which the overall conflicting rate can be greatly reduced. We conducted experiments on 3,687 merge scenarios extracted from 18 open-source projects. Results show significant merge precision enhancement of our approach.
近年来,与传统的基于线的非结构化合并相比,结构化合并在提高合并精度方面显示出了优势。典型的结构化归并算法是在抽象语法树上进行匹配和合并。现有的树匹配技术的目标是通过最大化匹配节点的数量来找出最优匹配。然而,从现实世界的代码库来看,我们发现许多报告的冲突都是不必要的。我们提出了一个新的目标函数来定义合适的树匹配,它可以大大降低总体冲突率。我们对从18个开源项目中提取的3687个合并场景进行了实验。结果表明,该方法显著提高了合并精度。
{"title":"Enhancing Precision of Structured Merge by Proper Tree Matching","authors":"Fengmin Zhu, Fei He, Q. Yu","doi":"10.1109/ICSE-Companion.2019.00117","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00117","url":null,"abstract":"Recently, structured merge has shown its advantage in improving the merge precision over conventional line-based, unstructured merge. A typical structured merge algorithm consists of matching and amalgamation on abstract syntax trees. Existing tree matching techniques aim to figure out optimal matches by maximizing the number of matched nodes. From real-world codebases, however, we find that many of the reported conflicts are unnecessary. We propose a new objective function for defining a proper tree matching, with which the overall conflicting rate can be greatly reduced. We conducted experiments on 3,687 merge scenarios extracted from 18 open-source projects. Results show significant merge precision enhancement of our approach.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"5 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":"115716686","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
An Artificial Intelligence-Based Model-Driven Approach for Exposing Off-Nominal Behaviors 一种基于人工智能的模型驱动的非名义行为暴露方法
Kaushik Madala
With an increase in the automation of cyber-physical systems (e.g., automated vehicles and robots), quality problems such as off-nominal behaviors (ONBs) have also increased. While there are techniques that can find ONBs at the requirements engineering stage as it reduces the cost of addressing defects early in development, they do not meet the current industrial needs and often ignore functional safety. These techniques suffer from limitations such as scalability, need for significant human effort and inability to detect overlooked or unknown ONBs. To address these limitations we need a technique that analyzes requirements with respect to functional safety, but with less human effort. To achieve this, we propose our artificial intelligence-based model-driven methodology that provides a means to find ONBs during requirements engineering with minimal human effort. Our methodology utilizes existing approaches such as causal component model (CCM) and systems theoretic process analysis (STPA). We describe the details of each step of our approach and how our approach would support finding ONBs. Using our research and the results of our studies, we intend to provide empirical evidence that considering ONBs during requirements engineering stage and analyzing requirements with respect to functional safety can help create more robust designs and higher-quality products.
随着网络物理系统(例如自动车辆和机器人)自动化程度的提高,诸如非标称行为(onb)等质量问题也有所增加。虽然有一些技术可以在需求工程阶段找到onb,因为它降低了在开发早期解决缺陷的成本,但它们不能满足当前的工业需求,并且经常忽略功能安全。这些技术受到可伸缩性、需要大量人力以及无法检测被忽视或未知的onb等限制。为了解决这些限制,我们需要一种技术来分析功能安全方面的需求,但需要较少的人力。为了实现这一点,我们提出了基于人工智能的模型驱动方法,该方法提供了一种在需求工程期间以最少的人力找到onb的方法。我们的方法利用现有的方法,如因果成分模型(CCM)和系统理论过程分析(STPA)。我们描述了我们方法的每个步骤的细节,以及我们的方法如何支持寻找onb。通过我们的研究和我们的研究结果,我们打算提供经验证据,证明在需求工程阶段考虑onb并分析与功能安全相关的需求可以帮助创建更健壮的设计和更高质量的产品。
{"title":"An Artificial Intelligence-Based Model-Driven Approach for Exposing Off-Nominal Behaviors","authors":"Kaushik Madala","doi":"10.1109/ICSE-Companion.2019.00085","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00085","url":null,"abstract":"With an increase in the automation of cyber-physical systems (e.g., automated vehicles and robots), quality problems such as off-nominal behaviors (ONBs) have also increased. While there are techniques that can find ONBs at the requirements engineering stage as it reduces the cost of addressing defects early in development, they do not meet the current industrial needs and often ignore functional safety. These techniques suffer from limitations such as scalability, need for significant human effort and inability to detect overlooked or unknown ONBs. To address these limitations we need a technique that analyzes requirements with respect to functional safety, but with less human effort. To achieve this, we propose our artificial intelligence-based model-driven methodology that provides a means to find ONBs during requirements engineering with minimal human effort. Our methodology utilizes existing approaches such as causal component model (CCM) and systems theoretic process analysis (STPA). We describe the details of each step of our approach and how our approach would support finding ONBs. Using our research and the results of our studies, we intend to provide empirical evidence that considering ONBs during requirements engineering stage and analyzing requirements with respect to functional safety can help create more robust designs and higher-quality products.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"19 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":"115811186","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
Analyzing and Repairing Compilation Errors 分析和修复编译错误
A. Mesbah, A. Rice, E. Aftandilian, Emily Johnston, Nick Glorioso
Resolving a build failure consumes developer time both in finding a suitable resolution and in rerunning the build. Our goal is to develop automated repair tools that can automatically resolve build errors and therefore improve developer productivity. We collected data on the resolution of Java build failures to discover how long developers spend resolving different kinds of diagnostics at Google. We found that the diagnostic reporting an unresolved symbol consumes 47% of the total time spent resolving broken builds. We found that choice of tool has a significant impact: 26% of command line builds fail whereas only 3% of IDE builds fail. However, the set of most costly diagnostic kinds remains the same for both. We trained a Neural Machine Translation model on the Abstract Syntax Tree changes made when resolving an unresolved symbol failure. This generates a correct fix with a true positive rate of 50%.
解决构建失败会消耗开发人员寻找合适的解决方案和重新运行构建的时间。我们的目标是开发能够自动解决构建错误的自动修复工具,从而提高开发人员的工作效率。我们收集了关于解决Java构建失败的数据,以发现开发人员在Google上解决不同类型的诊断所花费的时间。我们发现,诊断报告一个未解决的符号消耗了解决损坏构建所花费的总时间的47%。我们发现工具的选择有很大的影响:26%的命令行构建失败,而只有3%的IDE构建失败。然而,对这两种疾病来说,最昂贵的诊断方法仍然是一样的。我们在抽象语法树上训练了一个神经机器翻译模型,该模型是在解决未解决的符号错误时所做的更改。这将生成一个真阳性率为50%的正确修复。
{"title":"Analyzing and Repairing Compilation Errors","authors":"A. Mesbah, A. Rice, E. Aftandilian, Emily Johnston, Nick Glorioso","doi":"10.1109/ICSE-Companion.2019.00121","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00121","url":null,"abstract":"Resolving a build failure consumes developer time both in finding a suitable resolution and in rerunning the build. Our goal is to develop automated repair tools that can automatically resolve build errors and therefore improve developer productivity. We collected data on the resolution of Java build failures to discover how long developers spend resolving different kinds of diagnostics at Google. We found that the diagnostic reporting an unresolved symbol consumes 47% of the total time spent resolving broken builds. We found that choice of tool has a significant impact: 26% of command line builds fail whereas only 3% of IDE builds fail. However, the set of most costly diagnostic kinds remains the same for both. We trained a Neural Machine Translation model on the Abstract Syntax Tree changes made when resolving an unresolved symbol failure. This generates a correct fix with a true positive rate of 50%.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"75 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":"127070518","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
Android GUI Search Using Hand-Drawn Sketches Android GUI搜索使用手绘草图
Xiaofei Ge
GUI design is crucial to mobile apps. In the early stages of mobile app development, having access to visually similar apps can help designers and programmers gain inspiration for revising their designs or even reuse existing GUI code. We propose an intuitive sketch modelling language to draw GUI sketches, and a deep learning based method to search for visually similar apps according to the sketches. Preliminary results show the potential of our approach.
GUI设计对于手机应用来说至关重要。在手机应用开发的早期阶段,接触到视觉上相似的应用可以帮助设计师和程序员获得修改设计的灵感,甚至可以重用现有的GUI代码。我们提出了一种直观的草图建模语言来绘制GUI草图,以及一种基于深度学习的方法来根据草图搜索视觉上相似的应用程序。初步结果显示了我们的方法的潜力。
{"title":"Android GUI Search Using Hand-Drawn Sketches","authors":"Xiaofei Ge","doi":"10.1109/ICSE-Companion.2019.00060","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00060","url":null,"abstract":"GUI design is crucial to mobile apps. In the early stages of mobile app development, having access to visually similar apps can help designers and programmers gain inspiration for revising their designs or even reuse existing GUI code. We propose an intuitive sketch modelling language to draw GUI sketches, and a deep learning based method to search for visually similar apps according to the sketches. Preliminary results show the potential of our approach.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"190 6 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":"131683316","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}
引用次数: 12
Witt: Querying Technology Terms Based on Automated Classification 基于自动分类的技术术语查询
M. Nassif, Christoph Treude, M. Robillard
Witt is a tool that systematically and automatically categorizes software technologies using original information extraction algorithms applied to Stack Overflow and Wikipedia. Witt takes as input a term, such as "django", and returns one or more categories that describe it (e.g., "framework"), along with attributes that further qualify it (e.g., "web-application"). Our comparative evaluation of Witt against six independent taxonomy tools showed that, when applied to software terms, Witt has better coverage than alternative solutions, without a corresponding degradation in the number of spurious results. The information extracted by Witt is available through the Witt Web Application, which allows users to query and explore Witt's categorization of software technologies by both obtaining the category for a term, and all the terms in a given category. On-line Portal: https://cs.mcgill.ca/~swevo/witt-web Video: https://www.youtube.com/watch?v=tPsp1M4Ua3w
Witt是一个系统自动分类软件技术的工具,使用应用于Stack Overflow和Wikipedia的原始信息提取算法。Witt输入一个词,比如“django”,然后返回一个或多个描述它的类别(比如“框架”),以及进一步限定它的属性(比如“web-application”)。我们对Witt与六个独立分类工具的比较评估表明,当应用于软件术语时,Witt比替代解决方案具有更好的覆盖率,而没有相应的虚假结果数量下降。Witt提取的信息可通过Witt Web Application获得,该应用程序允许用户通过获取术语的类别和给定类别中的所有术语来查询和探索Witt对软件技术的分类。在线门户:https://cs.mcgill.ca/~swevo/witt-web视频:https://www.youtube.com/watch?v=tPsp1M4Ua3w
{"title":"Witt: Querying Technology Terms Based on Automated Classification","authors":"M. Nassif, Christoph Treude, M. Robillard","doi":"10.1109/ICSE-Companion.2019.00039","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00039","url":null,"abstract":"Witt is a tool that systematically and automatically categorizes software technologies using original information extraction algorithms applied to Stack Overflow and Wikipedia. Witt takes as input a term, such as \"django\", and returns one or more categories that describe it (e.g., \"framework\"), along with attributes that further qualify it (e.g., \"web-application\"). Our comparative evaluation of Witt against six independent taxonomy tools showed that, when applied to software terms, Witt has better coverage than alternative solutions, without a corresponding degradation in the number of spurious results. The information extracted by Witt is available through the Witt Web Application, which allows users to query and explore Witt's categorization of software technologies by both obtaining the category for a term, and all the terms in a given category. On-line Portal: https://cs.mcgill.ca/~swevo/witt-web Video: https://www.youtube.com/watch?v=tPsp1M4Ua3w","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"253 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":"134091512","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
A Systematic Evaluation of Problematic Tests Generated by EvoSuite 对EvoSuite生成的问题测试进行系统评估
Zhiyu Fan
With the rapidly growing scale of modern software, the reliability of software systems has become essential. To ease the developers' pressure of writing unit tests manually, test generation tools such as EvoSuite and Randoop were proposed. Although these approaches have been shown to be able to automatically generate tests for achieving high coverage, the generated tests may be ineffective in detecting real faults. Particularly, these automatically generated tests may suffer from several problems (we call them problematic tests): (1) incorrect oracle. (2) unexpected exception/error. (3) flaky test. We present a comprehensive study of EvoSuite in Defects4j, and performed a detailed analysis of the reasons behind these automatically generated problematic tests. Our analysis identifies 528 problematic tests: 208 (39.4%) of them are caused by incorrect oracle, 319 (60.4%) are caused by unexpected exception/error, and one flaky test.
随着现代软件规模的迅速增长,软件系统的可靠性变得至关重要。为了减轻开发人员手工编写单元测试的压力,开发人员提出了EvoSuite和Randoop等测试生成工具。尽管这些方法已经被证明能够自动生成测试以获得高覆盖率,但是生成的测试在检测真正的故障时可能是无效的。特别是,这些自动生成的测试可能会遇到几个问题(我们称之为有问题的测试):(1)不正确的oracle。(2)意外异常/错误。(3)片状试验。我们在缺陷4j中对EvoSuite进行了全面的研究,并对这些自动生成的问题测试背后的原因进行了详细的分析。我们的分析确定了528个有问题的测试:其中208个(39.4%)是由不正确的oracle引起的,319个(60.4%)是由意外异常/错误引起的,还有一个零散的测试。
{"title":"A Systematic Evaluation of Problematic Tests Generated by EvoSuite","authors":"Zhiyu Fan","doi":"10.1109/ICSE-Companion.2019.00068","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00068","url":null,"abstract":"With the rapidly growing scale of modern software, the reliability of software systems has become essential. To ease the developers' pressure of writing unit tests manually, test generation tools such as EvoSuite and Randoop were proposed. Although these approaches have been shown to be able to automatically generate tests for achieving high coverage, the generated tests may be ineffective in detecting real faults. Particularly, these automatically generated tests may suffer from several problems (we call them problematic tests): (1) incorrect oracle. (2) unexpected exception/error. (3) flaky test. We present a comprehensive study of EvoSuite in Defects4j, and performed a detailed analysis of the reasons behind these automatically generated problematic tests. Our analysis identifies 528 problematic tests: 208 (39.4%) of them are caused by incorrect oracle, 319 (60.4%) are caused by unexpected exception/error, and one flaky test.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"7 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":"134374615","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
Dynamic Unit Test Extraction Via Time Travel Debugging for Test Cost Reduction 通过时间旅行调试来降低测试成本的动态单元测试提取
Thomas Bach, Ralf Pannemans, J. Häussler, A. Andrzejak
Compared to system tests, unit tests execute faster and allow more precise fault localisation. Hence, it can be beneficial to automatically extract unit tests and displace associated system tests. However, the extraction process may encounter challenges such as the identification of relevant test objectives, scalability issues, and future maintainability of serialized state. % To address these challenges, we exploit time travel debugging for efficient and accurate reconstruction of object states and use differential analysis of code coverage data. This allows us to extract code-only unit tests with a feasible overhead. The extracted unit tests mimic relevant parts of the system tests and, by displacing the latter in early testing stages, save resources. Our preliminary evaluation indicates large potentials for test cost reduction and high practical acceptance.
与系统测试相比,单元测试执行得更快,并且允许更精确的故障定位。因此,自动提取单元测试并替换相关的系统测试是有益的。然而,提取过程可能会遇到诸如相关测试目标的识别、可伸缩性问题和序列化状态的未来可维护性等挑战。为了应对这些挑战,我们利用时间旅行调试来高效准确地重建对象状态,并使用代码覆盖数据的差异分析。这使我们能够在可行的开销下提取只包含代码的单元测试。提取的单元测试模拟了系统测试的相关部分,并且通过在早期测试阶段取代后者,节省了资源。我们的初步评估表明,测试成本降低的潜力很大,实际接受度很高。
{"title":"Dynamic Unit Test Extraction Via Time Travel Debugging for Test Cost Reduction","authors":"Thomas Bach, Ralf Pannemans, J. Häussler, A. Andrzejak","doi":"10.1109/ICSE-Companion.2019.00093","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00093","url":null,"abstract":"Compared to system tests, unit tests execute faster and allow more precise fault localisation. Hence, it can be beneficial to automatically extract unit tests and displace associated system tests. However, the extraction process may encounter challenges such as the identification of relevant test objectives, scalability issues, and future maintainability of serialized state. % To address these challenges, we exploit time travel debugging for efficient and accurate reconstruction of object states and use differential analysis of code coverage data. This allows us to extract code-only unit tests with a feasible overhead. The extracted unit tests mimic relevant parts of the system tests and, by displacing the latter in early testing stages, save resources. Our preliminary evaluation indicates large potentials for test cost reduction and high practical acceptance.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"31 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":"133992535","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}
引用次数: 3
Finding and Using Design Information in Discussions 在讨论中寻找和使用设计信息
Giovanni Viviani
A software system's design determines many of its properties. An understanding of design is needed to maintain system properties as changes to the system are made. When developers lose track of the overall design, the system may not conform to its intended properties. I hypothesize that it is possible to solve the problems of design evaporation and erosion by recovering design information from written developer discussions and by leveraging the recovered information to help developers make better decisions. As part of investigating this hypothesis, I have built an automated classifier that is able to locate design information in discussions, at the paragraph level, by learning from manual annotations of discussions extracted from open source pull requests. I next plan to extract and represent the design information from the identified paragraphs and to show the usefulness of the information by creating tools to help notify developers of design information relevant to a task at hand.
软件系统的设计决定了它的许多属性。当对系统进行更改时,维护系统属性需要对设计的理解。当开发人员失去对整体设计的跟踪时,系统可能不符合其预期的属性。我假设,通过从书面开发人员讨论中恢复设计信息,并利用恢复的信息来帮助开发人员做出更好的决策,可以解决设计蒸发和侵蚀的问题。作为调查这一假设的一部分,我构建了一个自动分类器,通过学习从开源拉取请求中提取的讨论的手动注释,它能够在段落级别定位讨论中的设计信息。接下来,我计划从确定的段落中提取和表示设计信息,并通过创建工具来帮助通知开发人员与手头任务相关的设计信息,从而显示这些信息的有用性。
{"title":"Finding and Using Design Information in Discussions","authors":"Giovanni Viviani","doi":"10.1109/ICSE-Companion.2019.00074","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00074","url":null,"abstract":"A software system's design determines many of its properties. An understanding of design is needed to maintain system properties as changes to the system are made. When developers lose track of the overall design, the system may not conform to its intended properties. I hypothesize that it is possible to solve the problems of design evaporation and erosion by recovering design information from written developer discussions and by leveraging the recovered information to help developers make better decisions. As part of investigating this hypothesis, I have built an automated classifier that is able to locate design information in discussions, at the paragraph level, by learning from manual annotations of discussions extracted from open source pull requests. I next plan to extract and represent the design information from the identified paragraphs and to show the usefulness of the information by creating tools to help notify developers of design information relevant to a task at hand.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"46 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":"114454216","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}
引用次数: 0
AC3R: Automatically Reconstructing Car Crashes from Police Reports AC3R:自动重建车祸从警察报告
Tri Huynh, Alessio Gambi, G. Fraser
Autonomous driving carries the promise to drastically reduce car accidents, but recently reported fatal crashes involving self-driving cars suggest that the self-driving car software should be tested more thoroughly. For addressing this need, we introduce AC3R (Automatic Crash Constructor from Crash Report) which elaborates police reports to automatically recreate car crashes in a simulated environment that can be used for testing self-driving car software in critical situations. AC3R enables developers to quickly generate relevant test cases from the massive historical dataset of recorded car crashes. We demonstrate how AC3R can generate simulations of different car crashes and report the findings of a large user study which concluded that AC3R simulations are accurate. A video illustrating AC3R in action is available at: https://youtu.be/V708fDG_ux8
自动驾驶有望大幅减少交通事故,但最近报道的涉及自动驾驶汽车的致命事故表明,自动驾驶汽车的软件应该进行更彻底的测试。为了满足这一需求,我们引入了AC3R(来自碰撞报告的自动碰撞构造器),它详细阐述了警方报告,以在模拟环境中自动重现车祸,可用于在危急情况下测试自动驾驶汽车软件。AC3R使开发人员能够从记录车祸的大量历史数据集中快速生成相关的测试用例。我们演示了AC3R如何生成不同车祸的模拟,并报告了一项大型用户研究的结果,该研究得出的结论是AC3R模拟是准确的。说明AC3R运行的视频可在:https://youtu.be/V708fDG_ux8
{"title":"AC3R: Automatically Reconstructing Car Crashes from Police Reports","authors":"Tri Huynh, Alessio Gambi, G. Fraser","doi":"10.1109/ICSE-Companion.2019.00031","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00031","url":null,"abstract":"Autonomous driving carries the promise to drastically reduce car accidents, but recently reported fatal crashes involving self-driving cars suggest that the self-driving car software should be tested more thoroughly. For addressing this need, we introduce AC3R (Automatic Crash Constructor from Crash Report) which elaborates police reports to automatically recreate car crashes in a simulated environment that can be used for testing self-driving car software in critical situations. AC3R enables developers to quickly generate relevant test cases from the massive historical dataset of recorded car crashes. We demonstrate how AC3R can generate simulations of different car crashes and report the findings of a large user study which concluded that AC3R simulations are accurate. A video illustrating AC3R in action is available at: https://youtu.be/V708fDG_ux8","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":"117031192","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
期刊
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