首页 > 最新文献

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

英文 中文
Do Developers Discover New Tools On The Toilet? 开发者会在厕所里发现新工具吗?
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00059
E. Murphy-Hill, Edward K. Smith, Caitlin Sadowski, Ciera Jaspan, C. Winter, M. Jorde, Andrea Knight, Andrew Trenk, Steve Gross
Maintaining awareness of useful tools is a substantial challenge for developers. Physical newsletters are a simple technique to inform developers about tools. In this paper, we evaluate such a technique, called Testing on the Toilet, by performing a mixed-methods case study. We first quantitatively evaluate how effective this technique is by applying statistical causal inference over six years of data about tools used by thousands of developers. We then qualitatively contextualize these results by interviewing and surveying 382 developers, from authors to editors to readers. We found that the technique was generally effective at increasing software development tool use, although the increase varied depending on factors such as the breadth of applicability of the tool, the extent to which the tool has reached saturation, and the memorability of the tool name.
对开发人员来说,保持对有用工具的认识是一项重大挑战。物理通讯是一种告知开发人员有关工具的简单技术。在本文中,我们通过执行混合方法案例研究来评估这种称为“厕所测试”的技术。我们首先通过对数千名开发人员使用的工具的6年数据进行统计因果推理,定量地评估该技术的有效性。然后,我们通过采访和调查382名开发者(从作者到编辑再到读者),将这些结果定性地具体化。我们发现,该技术在增加软件开发工具的使用方面通常是有效的,尽管增加取决于诸如工具的适用性的广度、工具达到饱和的程度以及工具名称的可记忆性等因素。
{"title":"Do Developers Discover New Tools On The Toilet?","authors":"E. Murphy-Hill, Edward K. Smith, Caitlin Sadowski, Ciera Jaspan, C. Winter, M. Jorde, Andrea Knight, Andrew Trenk, Steve Gross","doi":"10.1109/ICSE.2019.00059","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00059","url":null,"abstract":"Maintaining awareness of useful tools is a substantial challenge for developers. Physical newsletters are a simple technique to inform developers about tools. In this paper, we evaluate such a technique, called Testing on the Toilet, by performing a mixed-methods case study. We first quantitatively evaluate how effective this technique is by applying statistical causal inference over six years of data about tools used by thousands of developers. We then qualitatively contextualize these results by interviewing and surveying 382 developers, from authors to editors to readers. We found that the technique was generally effective at increasing software development tool use, although the increase varied depending on factors such as the breadth of applicability of the tool, the extent to which the tool has reached saturation, and the memorability of the tool name.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"465-475"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89626508","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}
引用次数: 8
Mimic: UI Compatibility Testing System for Android Apps Mimic: Android应用的UI兼容性测试系统
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00040
Taeyeon Ki, Chang Min Park, Karthik Dantu, Steven Y. Ko, Lukasz Ziarek
This paper proposes Mimic, an automated UI compatibility testing system for Android apps. Mimic is designed specifically for comparing the UI behavior of an app across different devices, different Android versions, and different app versions. This design choice stems from a common problem that Android developers and researchers face–how to test whether or not an app behaves consistently across different environments or internal changes. Mimic allows Android app developers to easily perform backward and forward compatibility testing for their apps. It also enables a clear comparison between a stable version of app and a newer version of app. In doing so, Mimic allows multiple testing strategies to be used, such as randomized or sequential testing. Finally, Mimic programming model allows such tests to be scripted with much less developer effort than other comparable systems. Additionally, Mimic allows parallel testing with multiple testing devices and thereby speeds up testing time. To demonstrate these capabilities, we perform extensive tests for each of the scenarios described above. Our results show that Mimic is effective in detecting forward and backward compatibility issues, and verify runtime behavior of apps. Our evaluation also shows that Mimic significantly reduces the development burden for developers.
本文提出了一种用于Android应用程序的自动化UI兼容性测试系统Mimic。Mimic是专门为比较应用程序在不同设备、不同Android版本和不同应用程序版本的UI行为而设计的。这种设计选择源于Android开发者和研究人员面临的一个常见问题——如何测试应用程序在不同环境或内部变化中是否表现一致。Mimic允许Android应用程序开发人员轻松地为其应用程序执行向后和向前兼容性测试。它还可以在稳定版本的应用程序和更新版本的应用程序之间进行清晰的比较。在这样做时,Mimic允许使用多种测试策略,例如随机或顺序测试。最后,与其他可比较的系统相比,Mimic编程模型允许编写这样的测试,开发人员的工作要少得多。此外,Mimic允许使用多个测试设备进行并行测试,从而加快了测试时间。为了演示这些功能,我们对上面描述的每个场景执行广泛的测试。我们的结果表明,Mimic是有效的检测向前和向后兼容性问题,并验证应用程序的运行时行为。我们的评估还显示Mimic显著地减少了开发人员的开发负担。
{"title":"Mimic: UI Compatibility Testing System for Android Apps","authors":"Taeyeon Ki, Chang Min Park, Karthik Dantu, Steven Y. Ko, Lukasz Ziarek","doi":"10.1109/ICSE.2019.00040","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00040","url":null,"abstract":"This paper proposes Mimic, an automated UI compatibility testing system for Android apps. Mimic is designed specifically for comparing the UI behavior of an app across different devices, different Android versions, and different app versions. This design choice stems from a common problem that Android developers and researchers face–how to test whether or not an app behaves consistently across different environments or internal changes. Mimic allows Android app developers to easily perform backward and forward compatibility testing for their apps. It also enables a clear comparison between a stable version of app and a newer version of app. In doing so, Mimic allows multiple testing strategies to be used, such as randomized or sequential testing. Finally, Mimic programming model allows such tests to be scripted with much less developer effort than other comparable systems. Additionally, Mimic allows parallel testing with multiple testing devices and thereby speeds up testing time. To demonstrate these capabilities, we perform extensive tests for each of the scenarios described above. Our results show that Mimic is effective in detecting forward and backward compatibility issues, and verify runtime behavior of apps. Our evaluation also shows that Mimic significantly reduces the development burden for developers.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"115 16 1","pages":"246-256"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84189262","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}
引用次数: 22
Parallel Refinement for Multi-Threaded Program Verification 多线程程序验证的并行优化
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00074
Liangze Yin, Wei Dong, Wanwei Liu, J. Wang
Program verification is one of the most important methods to ensuring the correctness of concurrent programs. However, due to the path explosion problem, concurrent program verification is usually time consuming, which hinders its scalability to industrial programs. Parallel processing is a mainstream technique to deal with those problems which require mass computing. Hence, designing parallel algorithms to improve the performance of concurrent program verification is highly desired. This paper focuses on parallelization of the abstraction refinement technique, one of the most efficient techniques for concurrent program verification. We present a parallel refinement framework which employs multiple engines to refine the abstraction in parallel. Different from existing work which parallelizes the search process, our method achieves the effect of parallelization by refinement constraint and learnt clause sharing, so that the number of required iterations can be significantly reduced. We have implemented this framework on the scheduling constraint based abstraction refinement method, one of the best methods for concurrent program verification. Experiments on SV-COMP 2018 show the encouraging results of our method. For those complex programs requiring a large number of iterations, our method can obtain a linear reduction of the iteration number and significantly improve the verification performance.
程序验证是保证并发程序正确性的重要方法之一。然而,由于路径爆炸问题,并发程序验证通常耗时,阻碍了其对工业程序的可扩展性。并行处理是处理需要大量计算的问题的主流技术。因此,设计并行算法来提高并发程序验证的性能是非常必要的。摘要本文主要研究并行化的抽象细化技术,它是并发程序验证中最有效的技术之一。我们提出了一个并行优化框架,该框架采用多个引擎并行地对抽象进行优化。与现有的并行化搜索过程的方法不同,我们的方法通过细化约束和学习子句共享来达到并行化的效果,从而大大减少了所需的迭代次数。该框架是在并行程序验证的最佳方法之一——基于调度约束的抽象改进方法上实现的。在SV-COMP 2018上的实验表明,我们的方法取得了令人鼓舞的结果。对于那些需要大量迭代的复杂程序,我们的方法可以获得迭代次数的线性减少,显著提高验证性能。
{"title":"Parallel Refinement for Multi-Threaded Program Verification","authors":"Liangze Yin, Wei Dong, Wanwei Liu, J. Wang","doi":"10.1109/ICSE.2019.00074","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00074","url":null,"abstract":"Program verification is one of the most important methods to ensuring the correctness of concurrent programs. However, due to the path explosion problem, concurrent program verification is usually time consuming, which hinders its scalability to industrial programs. Parallel processing is a mainstream technique to deal with those problems which require mass computing. Hence, designing parallel algorithms to improve the performance of concurrent program verification is highly desired. This paper focuses on parallelization of the abstraction refinement technique, one of the most efficient techniques for concurrent program verification. We present a parallel refinement framework which employs multiple engines to refine the abstraction in parallel. Different from existing work which parallelizes the search process, our method achieves the effect of parallelization by refinement constraint and learnt clause sharing, so that the number of required iterations can be significantly reduced. We have implemented this framework on the scheduling constraint based abstraction refinement method, one of the best methods for concurrent program verification. Experiments on SV-COMP 2018 show the encouraging results of our method. For those complex programs requiring a large number of iterations, our method can obtain a linear reduction of the iteration number and significantly improve the verification performance.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"17 1","pages":"643-653"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83103831","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
Resource-Aware Program Analysis Via Online Abstraction Coarsening 基于在线抽象粗化的资源感知程序分析
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00027
K. Heo, Hakjoo Oh, Hongseok Yang
We present a new technique for developing a resource-aware program analysis. Such an analysis is aware of constraints on available physical resources, such as memory size, tracks its resource use, and adjusts its behaviors during fixpoint computation in order to meet the constraint and achieve high precision. Our resource-aware analysis adjusts behaviors by coarsening program abstraction, which usually makes the analysis consume less memory and time until completion. It does so multiple times during the analysis, under the direction of what we call a controller. The controller constantly intervenes in the fixpoint computation of the analysis and decides how much the analysis should coarsen the abstraction. We present an algorithm for learning a good controller automatically from benchmark programs. We applied our technique to a static analysis for C programs, where we control the degree of flow-sensitivity to meet a constraint on peak memory consumption. The experimental results with 18 real-world programs show that our algorithm can learn a good controller and the analysis with this controller meets the constraint and utilizes available memory effectively.
我们提出了一种开发资源感知程序分析的新技术。这种分析意识到对可用物理资源(如内存大小)的约束,跟踪其资源使用情况,并在定点计算期间调整其行为,以满足约束并实现高精度。我们的资源感知分析通过粗化程序抽象来调整行为,这通常使分析在完成之前消耗更少的内存和时间。在分析过程中,在我们称之为控制器的指导下,它会多次这样做。控制器不断地介入分析的定点计算,并决定分析应该在多大程度上使抽象粗化。提出了一种从基准程序中自动学习好的控制器的算法。我们将我们的技术应用于C程序的静态分析,其中我们控制流敏感性的程度,以满足对峰值内存消耗的约束。18个实际程序的实验结果表明,该算法可以学习到一个很好的控制器,该控制器的分析满足约束条件,有效地利用了可用内存。
{"title":"Resource-Aware Program Analysis Via Online Abstraction Coarsening","authors":"K. Heo, Hakjoo Oh, Hongseok Yang","doi":"10.1109/ICSE.2019.00027","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00027","url":null,"abstract":"We present a new technique for developing a resource-aware program analysis. Such an analysis is aware of constraints on available physical resources, such as memory size, tracks its resource use, and adjusts its behaviors during fixpoint computation in order to meet the constraint and achieve high precision. Our resource-aware analysis adjusts behaviors by coarsening program abstraction, which usually makes the analysis consume less memory and time until completion. It does so multiple times during the analysis, under the direction of what we call a controller. The controller constantly intervenes in the fixpoint computation of the analysis and decides how much the analysis should coarsen the abstraction. We present an algorithm for learning a good controller automatically from benchmark programs. We applied our technique to a static analysis for C programs, where we control the degree of flow-sensitivity to meet a constraint on peak memory consumption. The experimental results with 18 real-world programs show that our algorithm can learn a good controller and the analysis with this controller meets the constraint and utilizes available memory effectively.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"39 1","pages":"94-104"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78888472","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
VFix: Value-Flow-Guided Precise Program Repair for Null Pointer Dereferences VFix:值流引导的空指针解引用精确程序修复
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00063
Xuezheng Xu, Yulei Sui, Hua Yan, Jingling Xue
Automated Program Repair (APR) faces a key challenge in efficiently generating correct patches from a potentially infinite solution space. Existing approaches, which attempt to reason about the entire solution space, can be ineffective (by often producing no plausible patches at all) and imprecise (by often producing plausible but incorrect patches). We present VFIX, a new value-flow-guided APR approach, to fix null pointer exception (NPE) bugs by considering a substantially reduced solution space in order to greatly increase the number of correct patches generated. By reasoning about the data and control dependences in the program, VFIX can identify bug-relevant repair statements more accurately and generate more correct repairs than before. VFIX outperforms a set of 8 state-of-the-art APR tools in fixing the NPE bugs in Defects4j in terms of both precision (by correctly fixing 3 times as many bugs as the most precise one and 50% more than all the bugs correctly fixed by these 8 tools altogether) and efficiency (by producing a correct patch in minutes instead of hours).
自动程序修复(APR)面临着一个关键挑战,即如何从潜在无限的解空间中有效地生成正确的补丁。现有的方法,试图对整个解决方案空间进行推理,可能是无效的(因为通常根本没有产生合理的补丁)和不精确的(因为经常产生合理但不正确的补丁)。我们提出了VFIX,一种新的值流导向的APR方法,通过考虑大幅减少的解决方案空间来修复空指针异常(NPE)错误,从而大大增加生成的正确补丁的数量。通过对程序中数据和控制依赖关系的推理,VFIX可以更准确地识别与bug相关的修复语句,并生成比以前更正确的修复。在修复缺陷4j中的NPE错误方面,VFIX在精度(正确修复的错误是最精确的错误的3倍,比这8个工具正确修复的所有错误多50%)和效率(通过在几分钟内而不是几小时内生成正确的补丁)方面都优于一组8个最先进的APR工具。
{"title":"VFix: Value-Flow-Guided Precise Program Repair for Null Pointer Dereferences","authors":"Xuezheng Xu, Yulei Sui, Hua Yan, Jingling Xue","doi":"10.1109/ICSE.2019.00063","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00063","url":null,"abstract":"Automated Program Repair (APR) faces a key challenge in efficiently generating correct patches from a potentially infinite solution space. Existing approaches, which attempt to reason about the entire solution space, can be ineffective (by often producing no plausible patches at all) and imprecise (by often producing plausible but incorrect patches). We present VFIX, a new value-flow-guided APR approach, to fix null pointer exception (NPE) bugs by considering a substantially reduced solution space in order to greatly increase the number of correct patches generated. By reasoning about the data and control dependences in the program, VFIX can identify bug-relevant repair statements more accurately and generate more correct repairs than before. VFIX outperforms a set of 8 state-of-the-art APR tools in fixing the NPE bugs in Defects4j in terms of both precision (by correctly fixing 3 times as many bugs as the most precise one and 50% more than all the bugs correctly fixed by these 8 tools altogether) and efficiency (by producing a correct patch in minutes instead of hours).","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"28 1","pages":"512-523"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72678169","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}
引用次数: 34
Scalable Approaches for Test Suite Reduction 减少测试套件的可伸缩方法
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00055
Emilio Cruciani, Breno Miranda, R. Verdecchia, A. Bertolino
Test suite reduction approaches aim at decreasing software regression testing costs by selecting a representative subset from large-size test suites. Most existing techniques are too expensive for handling modern massive systems and moreover depend on artifacts, such as code coverage metrics or specification models, that are not commonly available at large scale. We present a family of novel very efficient approaches for similaritybased test suite reduction that apply algorithms borrowed from the big data domain together with smart heuristics for finding an evenly spread subset of test cases. The approaches are very general since they only use as input the test cases themselves (test source code or command line input).We evaluate four approaches in a version that selects a fixed budget B of test cases, and also in an adequate version that does the reduction guaranteeing some fixed coverage. The results show that the approaches yield a fault detection loss comparable to state-of-the-art techniques, while providing huge gains in terms of efficiency. When applied to a suite of more than 500K real world test cases, the most efficient of the four approaches could select B test cases (for varying B values) in less than 10 seconds.
测试套件缩减方法旨在通过从大型测试套件中选择具有代表性的子集来降低软件回归测试成本。大多数现有技术对于处理现代大规模系统来说过于昂贵,而且依赖于工件,例如代码覆盖度量或规范模型,而这些工件在大规模中通常是不可用的。我们提出了一系列新颖的、非常有效的方法来减少基于相似性的测试套件,这些方法应用了从大数据领域借来的算法,以及智能启发式方法来寻找均匀分布的测试用例子集。这些方法非常通用,因为它们只使用测试用例本身作为输入(测试源代码或命令行输入)。我们在一个选择固定预算B的测试用例的版本中评估了四种方法,也在一个适当的版本中评估了保证一些固定覆盖率的减少。结果表明,这些方法产生的故障检测损失与最先进的技术相当,同时在效率方面提供了巨大的收益。当应用于超过500K个真实世界测试用例的套件时,四种方法中最有效的方法可以在不到10秒的时间内选择B个测试用例(对于不同的B值)。
{"title":"Scalable Approaches for Test Suite Reduction","authors":"Emilio Cruciani, Breno Miranda, R. Verdecchia, A. Bertolino","doi":"10.1109/ICSE.2019.00055","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00055","url":null,"abstract":"Test suite reduction approaches aim at decreasing software regression testing costs by selecting a representative subset from large-size test suites. Most existing techniques are too expensive for handling modern massive systems and moreover depend on artifacts, such as code coverage metrics or specification models, that are not commonly available at large scale. We present a family of novel very efficient approaches for similaritybased test suite reduction that apply algorithms borrowed from the big data domain together with smart heuristics for finding an evenly spread subset of test cases. The approaches are very general since they only use as input the test cases themselves (test source code or command line input).We evaluate four approaches in a version that selects a fixed budget B of test cases, and also in an adequate version that does the reduction guaranteeing some fixed coverage. The results show that the approaches yield a fault detection loss comparable to state-of-the-art techniques, while providing huge gains in terms of efficiency. When applied to a suite of more than 500K real world test cases, the most efficient of the four approaches could select B test cases (for varying B values) in less than 10 seconds.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"19 1","pages":"419-429"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73634269","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 30
CTRAS: Crowdsourced Test Report Aggregation and Summarization CTRAS:众包测试报告聚合和汇总
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00096
Rui Hao, Yang Feng, James A. Jones, Yuying Li, Zhenyu Chen
Crowdsourced testing has been widely adopted to improve the quality of various software products. Crowdsourced workers typically perform testing tasks and report their experiences through test reports. While the crowdsourced test reports provide feedbacks from real usage scenarios, inspecting such a large number of reports becomes a time-consuming yet inevitable task. To improve the efficiency of this task, existing widely used issue-tracking systems, such as JIRA, Bugzilla, and Mantis, have provided keyword-search-based methods to assist users in identifying duplicate test reports. However, on mobile devices (such as mobile phones), where the crowdsourced test reports often contain insufficient text descriptions but instead rich screenshots, these text-analysis-based methods become less effective because the data has fundamentally changed. In this paper, instead of focusing on only detecting duplicates based on textual descriptions, we present CTRAS: a novel approach to leveraging duplicates to enrich the content of bug descriptions and improve the efficiency of inspecting these reports. CTRAS is capable of automatically aggregating duplicates based on both textual information and screenshots, and further summarizes the duplicate test reports into a comprehensive and comprehensible report. To validate CTRAS, we conducted quantitative studies using more than 5000 test reports, collected from 12 industrial crowdsourced projects. The experimental results reveal that CTRAS can reach an accuracy of 0.87, on average, regarding automatically detecting duplicate reports, and it outperforms the classic Max-Coverage-based and MMR summarization methods under Jensen Shannon divergence metric. Moreover, we conducted a task-based user study with 30 participants, whose result indicates that CTRAS can save nearly 30% time cost on average without loss of correctness.
众包测试已被广泛采用,以提高各种软件产品的质量。众包工人通常执行测试任务,并通过测试报告报告他们的经验。虽然众包测试报告提供了真实使用场景的反馈,但检查如此大量的报告成为一项耗时但不可避免的任务。为了提高这项任务的效率,现有的广泛使用的问题跟踪系统,如JIRA、Bugzilla和Mantis,已经提供了基于关键字搜索的方法来帮助用户识别重复的测试报告。然而,在移动设备(如移动电话)上,众包测试报告通常包含不充分的文本描述,而不是丰富的屏幕截图,这些基于文本分析的方法变得不那么有效,因为数据已经从根本上改变了。在本文中,我们不是只关注基于文本描述的重复检测,而是提出了CTRAS:一种利用重复来丰富错误描述内容并提高检查这些报告效率的新方法。CTRAS能够根据文本信息和屏幕截图自动聚合重复的测试报告,并进一步将重复的测试报告总结为一个全面的、可理解的报告。为了验证CTRAS,我们使用从12个工业众包项目中收集的5000多份测试报告进行了定量研究。实验结果表明,CTRAS自动检测重复报告的平均准确率为0.87,优于经典的基于max - coverage和基于Jensen Shannon散度度量的MMR汇总方法。此外,我们对30名参与者进行了基于任务的用户研究,结果表明CTRAS可以在不损失正确性的情况下平均节省近30%的时间成本。
{"title":"CTRAS: Crowdsourced Test Report Aggregation and Summarization","authors":"Rui Hao, Yang Feng, James A. Jones, Yuying Li, Zhenyu Chen","doi":"10.1109/ICSE.2019.00096","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00096","url":null,"abstract":"Crowdsourced testing has been widely adopted to improve the quality of various software products. Crowdsourced workers typically perform testing tasks and report their experiences through test reports. While the crowdsourced test reports provide feedbacks from real usage scenarios, inspecting such a large number of reports becomes a time-consuming yet inevitable task. To improve the efficiency of this task, existing widely used issue-tracking systems, such as JIRA, Bugzilla, and Mantis, have provided keyword-search-based methods to assist users in identifying duplicate test reports. However, on mobile devices (such as mobile phones), where the crowdsourced test reports often contain insufficient text descriptions but instead rich screenshots, these text-analysis-based methods become less effective because the data has fundamentally changed. In this paper, instead of focusing on only detecting duplicates based on textual descriptions, we present CTRAS: a novel approach to leveraging duplicates to enrich the content of bug descriptions and improve the efficiency of inspecting these reports. CTRAS is capable of automatically aggregating duplicates based on both textual information and screenshots, and further summarizes the duplicate test reports into a comprehensive and comprehensible report. To validate CTRAS, we conducted quantitative studies using more than 5000 test reports, collected from 12 industrial crowdsourced projects. The experimental results reveal that CTRAS can reach an accuracy of 0.87, on average, regarding automatically detecting duplicate reports, and it outperforms the classic Max-Coverage-based and MMR summarization methods under Jensen Shannon divergence metric. Moreover, we conducted a task-based user study with 30 participants, whose result indicates that CTRAS can save nearly 30% time cost on average without loss of correctness.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"121 1","pages":"900-911"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76044343","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}
引用次数: 26
AdJust: Runtime Mitigation of Resource Abusing Third-Party Online Ads 调整:减少资源滥用第三方在线广告的运行时间
Pub Date : 2019-05-25 DOI: 10.1109/ICSE.2019.00105
Weihang Wang, I. L. Kim, Yunhui Zheng
Online advertising is the most critical revenue stream for many Internet companies. However, showing ads on websites comes with a price tag. Since website contents and third-party ads are blended together, third-party ads may compete with the publisher contents, delaying or even breaking the rendering of first-party contents. In addition, dynamically including scripts from ad networks all over the world may introduce buggy scripts that slow down page loads and even freeze the browser. The resulting poor usability problems lead to bad user experience and lower profits. The problems caused by such resource abusing ads are originated from two root causes: First, content publishers have no control over third-party ads. Second, publishers cannot differentiate resource consumed by ads from that consumed by their own contents. To address these challenges, we propose an effective technique, AdJust, that allows publishers to specify constraints on events associated with third-party ads (e.g., URL requests, HTML element creations, and timers), so that they can mitigate user experience degradations and enforce consistent ads experience to all users. We report on a series of experiments over the Alexa top 200 news websites. The results point to the efficacy of our proposed techniques: AdJust effectively mitigated degradations that freeze web browsers (on 36 websites), reduced the load time of publisher contents (on 61 websites), prioritized publisher contents (on 166 websites) and ensured consistent rendering orders among top ads (on 68 websites).
在线广告是许多互联网公司最重要的收入来源。然而,在网站上展示广告是有代价的。由于网站内容和第三方广告是混合在一起的,第三方广告可能会与发布者的内容产生竞争,延迟甚至破坏第一方内容的呈现。此外,动态包含来自世界各地广告网络的脚本可能会引入错误的脚本,减慢页面加载速度,甚至冻结浏览器。由此产生的糟糕的可用性问题会导致糟糕的用户体验和较低的利润。这种资源滥用广告造成的问题,根源在于两个方面:一是内容发布者对第三方广告没有控制权。二是内容发布者无法区分广告所消耗的资源和自己的内容所消耗的资源。为了应对这些挑战,我们提出了一种有效的技术,调整,它允许发布者指定与第三方广告相关的事件约束(例如,URL请求,HTML元素创建和计时器),这样他们就可以减轻用户体验的退化,并强制所有用户一致的广告体验。我们报道了在Alexa排名前200的新闻网站上进行的一系列实验。结果表明了我们提出的技术的有效性:调整有效地缓解了网络浏览器冻结的退化(36个网站),减少了发布者内容的加载时间(61个网站),优先考虑发布者内容(166个网站),并确保了顶级广告(68个网站)之间一致的呈现顺序。
{"title":"AdJust: Runtime Mitigation of Resource Abusing Third-Party Online Ads","authors":"Weihang Wang, I. L. Kim, Yunhui Zheng","doi":"10.1109/ICSE.2019.00105","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00105","url":null,"abstract":"Online advertising is the most critical revenue stream for many Internet companies. However, showing ads on websites comes with a price tag. Since website contents and third-party ads are blended together, third-party ads may compete with the publisher contents, delaying or even breaking the rendering of first-party contents. In addition, dynamically including scripts from ad networks all over the world may introduce buggy scripts that slow down page loads and even freeze the browser. The resulting poor usability problems lead to bad user experience and lower profits. The problems caused by such resource abusing ads are originated from two root causes: First, content publishers have no control over third-party ads. Second, publishers cannot differentiate resource consumed by ads from that consumed by their own contents. To address these challenges, we propose an effective technique, AdJust, that allows publishers to specify constraints on events associated with third-party ads (e.g., URL requests, HTML element creations, and timers), so that they can mitigate user experience degradations and enforce consistent ads experience to all users. We report on a series of experiments over the Alexa top 200 news websites. The results point to the efficacy of our proposed techniques: AdJust effectively mitigated degradations that freeze web browsers (on 36 websites), reduced the load time of publisher contents (on 61 websites), prioritized publisher contents (on 166 websites) and ensured consistent rendering orders among top ads (on 68 websites).","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"7 1","pages":"1005-1015"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81987361","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
Detecting Atomicity Violations for Event-Driven Node.js Applications 为事件驱动的Node.js应用检测原子性违规
Pub Date : 2019-05-01 DOI: 10.1109/ICSE.2019.00073
Xiaoning Chang, Wensheng Dou, Yu Gao, Jie Wang, Jun Wei, Tao Huang
Node.js has been widely-used as an event-driven server-side architecture. To improve performance, a task in a Node.js application is usually divided into a group of events, which are non-deterministically scheduled by Node.js. Developers may assume that the group of events (named atomic event group) should be atomically processed, without interruption. However, the atomicity of an atomic event group is not guaranteed by Node.js, and thus other events may interrupt the execution of the atomic event group, break down the atomicity and cause unexpected results. Existing approaches mainly focus on event race among two events, and cannot detect high-level atomicity violations among a group of events. In this paper, we propose NodeAV, which can predictively detect atomicity violations in Node.js applications based on an execution trace. Based on happens-before relations among events in an execution trace, we automatically identify a pair of events that should be atomically processed, and use predefined atomicity violation patterns to detect atomicity violations. We have evaluated NodeAV on real-world Node.js applications. The experimental results show that NodeAV can effectively detect atomicity violations in these Node.js applications.
Node.js被广泛用作事件驱动的服务器端架构。为了提高性能,Node.js应用程序中的任务通常被划分为一组事件,这些事件由Node.js非确定性地调度。开发人员可能会假设事件组(命名为原子事件组)应该被原子地处理,而不会中断。但是,Node.js不能保证原子事件组的原子性,因此其他事件可能会中断原子事件组的执行,破坏原子性并导致意外结果。现有的方法主要关注两个事件之间的事件竞争,不能检测一组事件之间的高级原子性违规。在本文中,我们提出了NodeAV,它可以基于执行跟踪预测检测Node.js应用程序中的原子性违规。基于执行跟踪中事件之间的happens-before关系,我们自动识别一对应该进行原子处理的事件,并使用预定义的原子性违反模式来检测原子性违反。我们已经在真实的Node.js应用程序上评估了nodev。实验结果表明,NodeAV可以有效地检测出这些Node.js应用中的原子性违规。
{"title":"Detecting Atomicity Violations for Event-Driven Node.js Applications","authors":"Xiaoning Chang, Wensheng Dou, Yu Gao, Jie Wang, Jun Wei, Tao Huang","doi":"10.1109/ICSE.2019.00073","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00073","url":null,"abstract":"Node.js has been widely-used as an event-driven server-side architecture. To improve performance, a task in a Node.js application is usually divided into a group of events, which are non-deterministically scheduled by Node.js. Developers may assume that the group of events (named atomic event group) should be atomically processed, without interruption. However, the atomicity of an atomic event group is not guaranteed by Node.js, and thus other events may interrupt the execution of the atomic event group, break down the atomicity and cause unexpected results. Existing approaches mainly focus on event race among two events, and cannot detect high-level atomicity violations among a group of events. In this paper, we propose NodeAV, which can predictively detect atomicity violations in Node.js applications based on an execution trace. Based on happens-before relations among events in an execution trace, we automatically identify a pair of events that should be atomically processed, and use predefined atomicity violation patterns to detect atomicity violations. We have evaluated NodeAV on real-world Node.js applications. The experimental results show that NodeAV can effectively detect atomicity violations in these Node.js applications.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"5 1","pages":"631-642"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74247942","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}
引用次数: 19
Going Farther Together: The Impact of Social Capital on Sustained Participation in Open Source 一起走得更远:社会资本对持续参与开源的影响
Pub Date : 2019-05-01 DOI: 10.1109/ICSE.2019.00078
Huilian Sophie Qiu, Alexander Nolte, Anita R. Brown, Alexander Serebrenik, Bogdan Vasilescu
Sustained participation by contributors in opensource software is critical to the survival of open-source projects and can provide career advancement benefits to individual contributors. However, not all contributors reap the benefits of open-source participation fully, with prior work showing that women are particularly underrepresented and at higher risk of disengagement. While many barriers to participation in open-source have been documented in the literature, relatively little is known about how the social networks that open-source contributors form impact their chances of long-term engagement. In this paper we report on a mixed-methods empirical study of the role of social capital (i.e., the resources people can gain from their social connections) for sustained participation by women and men in open-source GitHub projects. After combining survival analysis on a large, longitudinal data set with insights derived from a user survey, we confirm that while social capital is beneficial for prolonged engagement for both genders, women are at disadvantage in teams lacking diversity in expertise.
开源软件贡献者的持续参与对开源项目的生存至关重要,并且可以为个人贡献者提供职业发展的好处。然而,并不是所有的贡献者都能从参与开源中充分获益,之前的研究表明,女性的代表性尤其不足,而且脱离参与的风险更高。虽然文献中已经记录了参与开源的许多障碍,但对于开源贡献者形成的社会网络如何影响他们长期参与的机会,我们知之甚少。在本文中,我们报告了一项混合方法的实证研究,研究了社会资本(即人们可以从他们的社会关系中获得的资源)在女性和男性持续参与开源GitHub项目中的作用。在将大型纵向数据集的生存分析与来自用户调查的见解相结合后,我们证实,尽管社会资本对两性的长期参与都是有益的,但在缺乏专业知识多样性的团队中,女性处于劣势。
{"title":"Going Farther Together: The Impact of Social Capital on Sustained Participation in Open Source","authors":"Huilian Sophie Qiu, Alexander Nolte, Anita R. Brown, Alexander Serebrenik, Bogdan Vasilescu","doi":"10.1109/ICSE.2019.00078","DOIUrl":"https://doi.org/10.1109/ICSE.2019.00078","url":null,"abstract":"Sustained participation by contributors in opensource software is critical to the survival of open-source projects and can provide career advancement benefits to individual contributors. However, not all contributors reap the benefits of open-source participation fully, with prior work showing that women are particularly underrepresented and at higher risk of disengagement. While many barriers to participation in open-source have been documented in the literature, relatively little is known about how the social networks that open-source contributors form impact their chances of long-term engagement. In this paper we report on a mixed-methods empirical study of the role of social capital (i.e., the resources people can gain from their social connections) for sustained participation by women and men in open-source GitHub projects. After combining survival analysis on a large, longitudinal data set with insights derived from a user survey, we confirm that while social capital is beneficial for prolonged engagement for both genders, women are at disadvantage in teams lacking diversity in expertise.","PeriodicalId":6736,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)","volume":"12 1","pages":"688-699"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84423628","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}
引用次数: 92
期刊
2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1