首页 > 最新文献

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

英文 中文
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
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
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
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
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
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
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
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
Good-Bye Localhost: A Cloud-Based Web IDE for Teaching Java EE Web Development to Non-Computer Science Majors 再见Localhost:一个基于云的Web IDE,用于向非计算机科学专业的学生教授Java EE Web开发
Michael Leisner, Philipp Brune
While cloud-and web-based Integrated Development Environments (IDE) are used in practice and education for some time, these are mainly intended for classical web development. Support for enterprise platforms such as Java Enterprise Edition (EE) is typically lacking. However, in higher education, web-based cloud IDE are particularly useful in software development courses for non-computer science major students, since they could help to overcome the participants' limited IT skills. Thus, a respective easy-to-use web IDE is required. Therefore, in this paper a software platform for a web-based cloud IDE for educational purposes is proposed and evaluated, which in particular supports Java EE and is suitable for non-computer science majors. The platform was evaluated in a classroom experiment. The results indicate that it is useful and beneficial for the students, allowing the lecturer and the students to focus more on the actual learning objectives.
虽然云和基于web的集成开发环境(IDE)在实践和教育中使用了一段时间,但它们主要用于传统的web开发。通常缺乏对企业平台(如Java enterprise Edition (EE))的支持。然而,在高等教育中,基于web的云IDE在非计算机科学专业学生的软件开发课程中特别有用,因为它们可以帮助克服参与者有限的IT技能。因此,需要一个易于使用的web IDE。因此,本文提出并评估了一个用于教育目的的基于web的云IDE软件平台,该平台特别支持Java EE,适合非计算机科学专业的学生。在课堂实验中对该平台进行了评价。结果表明,这是有用的,有利于学生,使讲师和学生更专注于实际的学习目标。
{"title":"Good-Bye Localhost: A Cloud-Based Web IDE for Teaching Java EE Web Development to Non-Computer Science Majors","authors":"Michael Leisner, Philipp Brune","doi":"10.1109/ICSE-Companion.2019.00108","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00108","url":null,"abstract":"While cloud-and web-based Integrated Development Environments (IDE) are used in practice and education for some time, these are mainly intended for classical web development. Support for enterprise platforms such as Java Enterprise Edition (EE) is typically lacking. However, in higher education, web-based cloud IDE are particularly useful in software development courses for non-computer science major students, since they could help to overcome the participants' limited IT skills. Thus, a respective easy-to-use web IDE is required. Therefore, in this paper a software platform for a web-based cloud IDE for educational purposes is proposed and evaluated, which in particular supports Java EE and is suitable for non-computer science majors. The platform was evaluated in a classroom experiment. The results indicate that it is useful and beneficial for the students, allowing the lecturer and the students to focus more on the actual learning objectives.","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":"115802196","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
期刊
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学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1