首页 > 最新文献

2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)最新文献

英文 中文
Is Software Engineering Research Addressing Software Engineering Problems? (Keynote) 软件工程研究解决了软件工程问题吗?(主题)
G. Murphy
Brian Randell described software engineering as “the multi-person development of multi-version programs”. David Parnas expressed that this “pithy phrase implies everything that differentiates software engineering from other programming” (Parnas, 2011). How does current software engineering research compare against this definition? Is there too much focus currently on research into problems and techniques more associated with programming than software engineering? Are there opportunities to use Randell's description of software engineering to guide the community to new research directions? In this extended abstract, I motivate the keynote, which explores these questions and discusses how a consideration of the development streams used by multiple individuals to produce multiple versions of software opens up new avenues for impactful software engineering research.
Brian Randell将软件工程描述为“多人开发多版本程序”。David Parnas表示,这个“精辟的短语暗示了将软件工程与其他编程区分开来的一切”(Parnas, 2011)。当前的软件工程研究与这个定义相比如何?目前是否有过多的关注于研究与编程相关的问题和技术,而不是软件工程?是否有机会使用Randell对软件工程的描述来引导社区走向新的研究方向?在这个扩展的摘要中,我激发了主题,它探索了这些问题,并讨论了如何考虑由多个个体用于产生多个软件版本的开发流,为有影响力的软件工程研究开辟了新的途径。
{"title":"Is Software Engineering Research Addressing Software Engineering Problems? (Keynote)","authors":"G. Murphy","doi":"10.1145/3324884.3417103","DOIUrl":"https://doi.org/10.1145/3324884.3417103","url":null,"abstract":"Brian Randell described software engineering as “the multi-person development of multi-version programs”. David Parnas expressed that this “pithy phrase implies everything that differentiates software engineering from other programming” (Parnas, 2011). How does current software engineering research compare against this definition? Is there too much focus currently on research into problems and techniques more associated with programming than software engineering? Are there opportunities to use Randell's description of software engineering to guide the community to new research directions? In this extended abstract, I motivate the keynote, which explores these questions and discusses how a consideration of the development streams used by multiple individuals to produce multiple versions of software opens up new avenues for impactful software engineering research.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123765042","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
Identifying Mutation Subsumption Relations 识别突变包容关系
Beatriz Souza
One recent promising direction in reducing costs of mutation analysis is to identify redundant mutations. We propose a technique to discover redundant mutations by proving subsumption relations among method-level mutation operators using weak mutation testing. We conceive and encode a theory of subsumption relations in Z3 for 40 mutation targets (mutations of an expression or statement). Then we prove a number of subsumption relations using the Z3 theorem prover, and reduce the number of mutations in a number of mutation targets. MUJAvA-M includes some subsumption relations in Mujava. We apply Mujava and Mujava-m to 187 classes of 17 projects. Our approach correctly discards mutations in 74.97% of the cases, and reduces the number of mutations by 72.52%.
在降低突变分析成本方面,最近一个有希望的方向是识别冗余突变。本文提出了一种利用弱突变检验证明方法级突变算子之间的包容关系来发现冗余突变的方法。我们在Z3中构想并编码了40个突变目标(表达式或语句的突变)的包容关系理论。然后利用Z3定理证明器证明了若干包含关系,并减少了若干突变目标中的突变数。Mujava - m在Mujava中包含了一些包容关系。我们将Mujava和Mujava-m应用于17个项目的187个类。我们的方法正确丢弃了74.97%的突变,减少了72.52%的突变数。
{"title":"Identifying Mutation Subsumption Relations","authors":"Beatriz Souza","doi":"10.1145/3324884.3418921","DOIUrl":"https://doi.org/10.1145/3324884.3418921","url":null,"abstract":"One recent promising direction in reducing costs of mutation analysis is to identify redundant mutations. We propose a technique to discover redundant mutations by proving subsumption relations among method-level mutation operators using weak mutation testing. We conceive and encode a theory of subsumption relations in Z3 for 40 mutation targets (mutations of an expression or statement). Then we prove a number of subsumption relations using the Z3 theorem prover, and reduce the number of mutations in a number of mutation targets. MUJAvA-M includes some subsumption relations in Mujava. We apply Mujava and Mujava-m to 187 classes of 17 projects. Our approach correctly discards mutations in 74.97% of the cases, and reduces the number of mutations by 72.52%.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124925400","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
Towards Transparency-Encouraging Partial Software Disclosure to Enable Trust in Data Usage 迈向透明——鼓励部分软件公开,以实现对数据使用的信任
Christopher M. Schindler
Whenever software components process personal or private data, appropriate data protection mechanisms are mandatory. An essential factor in achieving trust and transparency is not to give preference to a single party but to make it possible to audit the data usage in an unbiased way. The scenario in mind for this contribution contains (i) users bringing in sensitive data they want to be safe, (ii) developers building software-based services whose Intellectual Properties (IPs) they desire to protect, and (iii) platform providers wanting to be trusted and to be able to rely on the developers integrity. The authors see these interests as an insufficiently solved field of tension that can be relaxed by a suitable level of transparently represented software components to give insights without exposing every detail.
每当软件组件处理个人或私有数据时,都必须使用适当的数据保护机制。实现信任和透明度的一个重要因素是不优先考虑某一方,而是使以公正的方式审计数据使用成为可能。这一贡献的设想包含(i)用户带来他们希望安全的敏感数据,(ii)开发人员构建基于软件的服务,他们希望保护其知识产权(ip),以及(iii)平台提供商希望被信任并能够依赖开发人员的完整性。作者将这些兴趣视为一个尚未充分解决的紧张领域,可以通过适当级别的透明表示的软件组件来放松,从而在不暴露每个细节的情况下提供见解。
{"title":"Towards Transparency-Encouraging Partial Software Disclosure to Enable Trust in Data Usage","authors":"Christopher M. Schindler","doi":"10.1145/3324884.3415282","DOIUrl":"https://doi.org/10.1145/3324884.3415282","url":null,"abstract":"Whenever software components process personal or private data, appropriate data protection mechanisms are mandatory. An essential factor in achieving trust and transparency is not to give preference to a single party but to make it possible to audit the data usage in an unbiased way. The scenario in mind for this contribution contains (i) users bringing in sensitive data they want to be safe, (ii) developers building software-based services whose Intellectual Properties (IPs) they desire to protect, and (iii) platform providers wanting to be trusted and to be able to rely on the developers integrity. The authors see these interests as an insufficiently solved field of tension that can be relaxed by a suitable level of transparently represented software components to give insights without exposing every detail.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126216568","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
Cats Are Not Fish: Deep Learning Testing Calls for Out-Of-Distribution Awareness 猫不是鱼:深度学习测试需要超出分布的意识
David Berend, Xiaofei Xie, L. Ma, Lingjun Zhou, Yang Liu, Chi Xu, Jianjun Zhao
As Deep Learning (DL) is continuously adopted in many industrial applications, its quality and reliability start to raise concerns. Similar to the traditional software development process, testing the DL software to uncover its defects at an early stage is an effective way to reduce risks after deployment. According to the fundamental assumption of deep learning, the DL software does not provide statistical guarantee and has limited capability in handling data that falls outside of its learned distribution, i.e., out-of-distribution (OOD) data. Although recent progress has been made in designing novel testing techniques for DL software, which can detect thousands of errors, the current state-of-the-art DL testing techniques usually do not take the distribution of generated test data into consideration. It is therefore hard to judge whether the “identified errors” are indeed meaningful errors to the DL application (i.e., due to quality issues of the model) or outliers that cannot be handled by the current model (i.e., due to the lack of training data). Tofill this gap, we take thefi rst step and conduct a large scale empirical study, with a total of 451 experiment configurations, 42 deep neural networks (DNNs) and 1.2 million test data instances, to investigate and characterize the impact of OOD-awareness on DL testing. We further analyze the consequences when DL systems go into production by evaluating the effectiveness of adversarial retraining with distribution-aware errors. The results confirm that introducing data distribution awareness in both testing and enhancement phases outperforms distribution unaware retraining by up to 21.5%.
随着深度学习(DL)在许多工业应用中的不断应用,其质量和可靠性开始引起人们的关注。与传统的软件开发过程类似,在早期阶段对DL软件进行测试以发现其缺陷是降低部署后风险的有效方法。根据深度学习的基本假设,深度学习软件不提供统计保证,处理超出其学习分布的数据,即out- distribution (OOD)数据的能力有限。虽然最近在为深度学习软件设计新的测试技术方面取得了进展,它可以检测到数千个错误,但目前最先进的深度学习测试技术通常不会考虑生成测试数据的分布。因此,很难判断“已识别的错误”是否确实是对DL应用有意义的错误(即由于模型的质量问题),还是当前模型无法处理的异常值(即由于缺乏训练数据)。为了填补这一空白,我们采取了第一步,进行了大规模的实证研究,共有451个实验配置,42个深度神经网络(dnn)和120万个测试数据实例,来调查和表征ood感知对深度学习测试的影响。我们通过评估带有分布感知错误的对抗性再训练的有效性,进一步分析了深度学习系统投入生产时的后果。结果证实,在测试和增强阶段引入数据分布意识比不知道分布的再训练高出21.5%。
{"title":"Cats Are Not Fish: Deep Learning Testing Calls for Out-Of-Distribution Awareness","authors":"David Berend, Xiaofei Xie, L. Ma, Lingjun Zhou, Yang Liu, Chi Xu, Jianjun Zhao","doi":"10.1145/3324884.3416609","DOIUrl":"https://doi.org/10.1145/3324884.3416609","url":null,"abstract":"As Deep Learning (DL) is continuously adopted in many industrial applications, its quality and reliability start to raise concerns. Similar to the traditional software development process, testing the DL software to uncover its defects at an early stage is an effective way to reduce risks after deployment. According to the fundamental assumption of deep learning, the DL software does not provide statistical guarantee and has limited capability in handling data that falls outside of its learned distribution, i.e., out-of-distribution (OOD) data. Although recent progress has been made in designing novel testing techniques for DL software, which can detect thousands of errors, the current state-of-the-art DL testing techniques usually do not take the distribution of generated test data into consideration. It is therefore hard to judge whether the “identified errors” are indeed meaningful errors to the DL application (i.e., due to quality issues of the model) or outliers that cannot be handled by the current model (i.e., due to the lack of training data). Tofill this gap, we take thefi rst step and conduct a large scale empirical study, with a total of 451 experiment configurations, 42 deep neural networks (DNNs) and 1.2 million test data instances, to investigate and characterize the impact of OOD-awareness on DL testing. We further analyze the consequences when DL systems go into production by evaluating the effectiveness of adversarial retraining with distribution-aware errors. The results confirm that introducing data distribution awareness in both testing and enhancement phases outperforms distribution unaware retraining by up to 21.5%.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129432233","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}
引用次数: 52
Scaling Client-Specific Equivalence Checking via Impact Boundary Search 通过影响边界搜索扩展客户端特定的等价性检查
Nick Feng, Federico Mora, V. Hui, M. Chechik
Client-specific equivalence checking (CSEC) is a technique proposed previously to perform impact analysis of changes to downstream components (libraries) from the perspective of an unchanged system (client). Existing analysis techniques, whether general (re-gression verification, equivalence checking) or special-purpose, when applied to CSEC, either require users to provide specifications, or do not scale. We propose a novel solution to the CSEC problem, called 2clever, that is based on searching the control-flow of a program for impact boundaries. We evaluate a prototype implementation of 2clever on a comprehensive set of benchmarks and conclude that our prototype performs well compared to the state-of-the-art.
特定于客户端的等价性检查(CSEC)是先前提出的一种技术,用于从未更改的系统(客户端)的角度对下游组件(库)的更改执行影响分析。现有的分析技术,无论是通用的(回归验证、等价性检查)还是专用的,在应用于CSEC时,要么需要用户提供规范,要么无法扩展。我们提出了一种新的CSEC问题的解决方案,称为2clever,它基于搜索程序的控制流来寻找影响边界。我们在一组全面的基准上评估2clever的原型实现,并得出结论,我们的原型与最先进的相比表现良好。
{"title":"Scaling Client-Specific Equivalence Checking via Impact Boundary Search","authors":"Nick Feng, Federico Mora, V. Hui, M. Chechik","doi":"10.1145/3324884.3416634","DOIUrl":"https://doi.org/10.1145/3324884.3416634","url":null,"abstract":"Client-specific equivalence checking (CSEC) is a technique proposed previously to perform impact analysis of changes to downstream components (libraries) from the perspective of an unchanged system (client). Existing analysis techniques, whether general (re-gression verification, equivalence checking) or special-purpose, when applied to CSEC, either require users to provide specifications, or do not scale. We propose a novel solution to the CSEC problem, called 2clever, that is based on searching the control-flow of a program for impact boundaries. We evaluate a prototype implementation of 2clever on a comprehensive set of benchmarks and conclude that our prototype performs well compared to the state-of-the-art.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130951222","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
ER Catcher: A Static Analysis Framework for Accurate and Scalable Event-Race Detection in Android ER捕手:一个用于Android中精确和可扩展的事件竞争检测的静态分析框架
Navid Salehnamadi, Abdulaziz Alshayban, Iftekhar Ahmed, S. Malek
Android platform provisions a number of sophisticated concurrency mechanisms for the development of apps. The concurrency mechanisms, while powerful, are quite difficult to properly master by mobile developers. In fact, prior studies have shown concurrency issues, such as event-race defects, to be prevalent among real-world Android apps. In this paper, we propose a flow-, context-, and thread-sensitive static analysis framework, called ER Catcher, for detection of event-race defects in Android apps. ER Catcher introduces a new type of summary function aimed at modeling the concurrent behavior of methods in both Android apps and libraries. In addition, it leverages a novel, statically constructed Vector Clock for rapid analysis of happens-before relations. Altogether, these design choices enable ER Catcher to not only detect event-race defects with a substantially higher degree of accuracy, but also in a fraction of time compared to the existing state-of-the-art technique.
Android平台为应用开发提供了许多复杂的并发机制。并发机制虽然强大,但对于手机开发者来说却很难掌握。事实上,之前的研究已经表明并发问题,例如事件竞争缺陷,在现实世界的Android应用程序中非常普遍。在本文中,我们提出了一个流、上下文和线程敏感的静态分析框架,称为ER Catcher,用于检测Android应用程序中的事件竞争缺陷。ER Catcher引入了一种新型的摘要函数,旨在对Android应用程序和库中方法的并发行为进行建模。此外,它还利用一种新颖的、静态构造的矢量时钟来快速分析happens-before关系。总的来说,这些设计选择使ER Catcher不仅能够以更高的精度检测事件竞争缺陷,而且与现有的最先进技术相比,可以在更短的时间内检测到事件竞争缺陷。
{"title":"ER Catcher: A Static Analysis Framework for Accurate and Scalable Event-Race Detection in Android","authors":"Navid Salehnamadi, Abdulaziz Alshayban, Iftekhar Ahmed, S. Malek","doi":"10.1145/3324884.3416639","DOIUrl":"https://doi.org/10.1145/3324884.3416639","url":null,"abstract":"Android platform provisions a number of sophisticated concurrency mechanisms for the development of apps. The concurrency mechanisms, while powerful, are quite difficult to properly master by mobile developers. In fact, prior studies have shown concurrency issues, such as event-race defects, to be prevalent among real-world Android apps. In this paper, we propose a flow-, context-, and thread-sensitive static analysis framework, called ER Catcher, for detection of event-race defects in Android apps. ER Catcher introduces a new type of summary function aimed at modeling the concurrent behavior of methods in both Android apps and libraries. In addition, it leverages a novel, statically constructed Vector Clock for rapid analysis of happens-before relations. Altogether, these design choices enable ER Catcher to not only detect event-race defects with a substantially higher degree of accuracy, but also in a fraction of time compared to the existing state-of-the-art technique.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130996719","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
Lightweight MBT Testing for National e-Health Portal in Norway 挪威国家电子卫生门户网站轻量级MBT测试
D. Gafurov, Margrete Sunde Grovan, Arne Erik Hurum
We present lightweight model-based testing (MBT) of privacy and authorization concepts of national portal for electronic health services in Norway (which has over a million of visits per month). We have developed test models for creating and updating privacy levels and authorization categories using finite state machine. Our models emphasize not only positive but also negative behavioral aspects of the system. Using edge and edge-pair coverage as an acceptance criteria we identify and systematically derive abstract tests (high level user scenario) from models. Abstract tests are further refined and transformed into concrete tests with detailed steps and data. Although derivation of abstract tests and their transformation into concrete ones are manual, execution of concrete tests and generation of test report are automated. In total, we extracted 85 abstract test cases which resulted in 80 concrete test cases with over 550 iterations. Automated execution of all tests takes about 1 hour, while manual execution of one takes about 5 minutes (over 40 times speedup). MBT contributed to shift the focus of our intellectual work effort into model design rather than test case design, thus making derivation of test scenarios systematic and straight forward. In addition, applying MBT augmented and extended our traditional quality assurance techniques by facilitating better comprehension of new privacy and authorization concepts. Graphical models served as a useful aid in learning these concepts for newcomers.
我们介绍了挪威电子医疗服务国家门户网站(每月访问量超过一百万)的隐私和授权概念的基于模型的轻量级测试(MBT)。我们已经开发了用于使用有限状态机创建和更新隐私级别和授权类别的测试模型。我们的模型不仅强调系统的积极行为方面,也强调系统的消极行为方面。使用边缘和边缘对覆盖作为验收标准,我们从模型中识别并系统地派生出抽象测试(高级用户场景)。抽象的测试进一步细化,转化为具体的测试,有详细的步骤和数据。虽然抽象测试的推导和转换为具体测试是手工的,但具体测试的执行和测试报告的生成是自动化的。总的来说,我们提取了85个抽象的测试用例,这些用例产生了80个具体的测试用例,迭代超过550次。所有测试的自动执行大约需要1小时,而手动执行一个测试大约需要5分钟(超过40倍的加速)。MBT有助于将我们的智力工作的焦点转移到模型设计而不是测试用例设计上,从而使测试场景的推导变得系统化和直接。此外,通过更好地理解新的隐私和授权概念,应用MBT增强和扩展了我们的传统质量保证技术。图形模型对新手学习这些概念提供了有用的帮助。
{"title":"Lightweight MBT Testing for National e-Health Portal in Norway","authors":"D. Gafurov, Margrete Sunde Grovan, Arne Erik Hurum","doi":"10.1145/3324884.3421843","DOIUrl":"https://doi.org/10.1145/3324884.3421843","url":null,"abstract":"We present lightweight model-based testing (MBT) of privacy and authorization concepts of national portal for electronic health services in Norway (which has over a million of visits per month). We have developed test models for creating and updating privacy levels and authorization categories using finite state machine. Our models emphasize not only positive but also negative behavioral aspects of the system. Using edge and edge-pair coverage as an acceptance criteria we identify and systematically derive abstract tests (high level user scenario) from models. Abstract tests are further refined and transformed into concrete tests with detailed steps and data. Although derivation of abstract tests and their transformation into concrete ones are manual, execution of concrete tests and generation of test report are automated. In total, we extracted 85 abstract test cases which resulted in 80 concrete test cases with over 550 iterations. Automated execution of all tests takes about 1 hour, while manual execution of one takes about 5 minutes (over 40 times speedup). MBT contributed to shift the focus of our intellectual work effort into model design rather than test case design, thus making derivation of test scenarios systematic and straight forward. In addition, applying MBT augmented and extended our traditional quality assurance techniques by facilitating better comprehension of new privacy and authorization concepts. Graphical models served as a useful aid in learning these concepts for newcomers.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117172372","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
The Classification and Propagation of Program Comments 程序注释的分类与传播
Xiangzhe Xu
Natural language comments are like bridges between human logic and software semantics. Developers use comments to describe the function, implementation, and property of code snippets. This kind of connections contains rich information, like the potential types of a variable and the pre-condition of a method, among other things. In this paper, we categorize comments and use natural language processing techniques to extract information from them. Based on the semantics of programming languages, different rules are built for each comment category to systematically propagate comments among code entities. Then we use the propagated comments to check the code usage and comments consistency. Our demo system finds 37 bugs in real-world projects, 30 of which have been confirmed by the developers. Except for bugs in the code, we also find 304 pieces of defected comments. The 12 of them are misleading and 292 of them are not correct. Moreover, among the 41573 pieces of comments we propagate, 87 comments are for private native methods which had neither code nor comments. We also conduct a user study where we find that propagated comments are as good as human-written comments in three dimensions of consistency, naturalness, and meaningfulness.
自然语言注释就像是人类逻辑和软件语义之间的桥梁。开发人员使用注释来描述代码片段的功能、实现和属性。这种连接包含丰富的信息,例如变量的潜在类型和方法的先决条件等。在本文中,我们对评论进行分类,并使用自然语言处理技术从中提取信息。基于编程语言的语义,为每个注释类别构建不同的规则,以便在代码实体之间系统地传播注释。然后我们使用传播的注释来检查代码的使用情况和注释的一致性。我们的演示系统在实际项目中发现了37个bug,其中30个已经被开发人员确认。除了代码中的bug,我们还发现了304条有缺陷的注释。其中12条具有误导性,292条不正确。此外,在我们传播的41573条注释中,有87条注释是针对既没有代码也没有注释的私有本机方法的。我们还进行了一项用户研究,发现传播评论在一致性、自然性和意义性三个维度上与人工撰写的评论一样好。
{"title":"The Classification and Propagation of Program Comments","authors":"Xiangzhe Xu","doi":"10.1145/3324884.3418913","DOIUrl":"https://doi.org/10.1145/3324884.3418913","url":null,"abstract":"Natural language comments are like bridges between human logic and software semantics. Developers use comments to describe the function, implementation, and property of code snippets. This kind of connections contains rich information, like the potential types of a variable and the pre-condition of a method, among other things. In this paper, we categorize comments and use natural language processing techniques to extract information from them. Based on the semantics of programming languages, different rules are built for each comment category to systematically propagate comments among code entities. Then we use the propagated comments to check the code usage and comments consistency. Our demo system finds 37 bugs in real-world projects, 30 of which have been confirmed by the developers. Except for bugs in the code, we also find 304 pieces of defected comments. The 12 of them are misleading and 292 of them are not correct. Moreover, among the 41573 pieces of comments we propagate, 87 comments are for private native methods which had neither code nor comments. We also conduct a user study where we find that propagated comments are as good as human-written comments in three dimensions of consistency, naturalness, and meaningfulness.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129047194","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 Robust Production Machine Learning Systems: Managing Dataset Shift 迈向稳健的生产机器学习系统:管理数据集转移
Hala Abdelkader
The advances in machine learning (ML) have stimulated the integration of their capabilities into software systems. However, there is a tangible gap between software engineering and machine learning practices, that is delaying the progress of intelligent services development. Software organisations are devoting effort to adjust the software engineering processes and practices to facilitate the integration of machine learning models. Machine learning researchers as well are focusing on improving the interpretability of machine learning models to support overall system robustness. Our research focuses on bridging this gap through a methodology that evaluates the robustness of machine learning-enabled software engineering systems. In particular, this methodology will automate the evaluation of the robustness properties of software systems against dataset shift problems in ML. It will also feature a notification mechanism that facilitates the debugging of ML components.
机器学习(ML)的进步刺激了将它们的功能集成到软件系统中。然而,软件工程和机器学习实践之间存在着明显的差距,这阻碍了智能服务发展的进程。软件组织正在努力调整软件工程过程和实践,以促进机器学习模型的集成。机器学习研究人员也专注于提高机器学习模型的可解释性,以支持整个系统的鲁棒性。我们的研究重点是通过评估支持机器学习的软件工程系统的鲁棒性的方法来弥合这一差距。特别是,这种方法将自动评估软件系统对机器学习中数据集移位问题的鲁棒性。它还将具有一个通知机制,有助于机器学习组件的调试。
{"title":"Towards Robust Production Machine Learning Systems: Managing Dataset Shift","authors":"Hala Abdelkader","doi":"10.1145/3324884.3415281","DOIUrl":"https://doi.org/10.1145/3324884.3415281","url":null,"abstract":"The advances in machine learning (ML) have stimulated the integration of their capabilities into software systems. However, there is a tangible gap between software engineering and machine learning practices, that is delaying the progress of intelligent services development. Software organisations are devoting effort to adjust the software engineering processes and practices to facilitate the integration of machine learning models. Machine learning researchers as well are focusing on improving the interpretability of machine learning models to support overall system robustness. Our research focuses on bridging this gap through a methodology that evaluates the robustness of machine learning-enabled software engineering systems. In particular, this methodology will automate the evaluation of the robustness properties of software systems against dataset shift problems in ML. It will also feature a notification mechanism that facilitates the debugging of ML components.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115899262","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
A Framework for Automated Test Mocking of Mobile Apps 移动应用程序的自动化测试模拟框架
M. Fazzini, Alessandra Gorla, A. Orso
Mobile apps interact with their environment extensively, and these interactions can complicate testing activities because test cases may need a complete environment to be executed. Interactions with the environment can also introduce test flakiness, for instance when the environment behaves in non-deterministic ways. For these reasons, it is common to create test mocks that can eliminate the need for (part of) the environment to be present during testing. Manual mock creation, however, can be extremely time consuming and error-prone. Moreover, the generated mocks can typically only be used in the context of the specific tests for which they were created. To address these issues, we propose MOKA, a general framework for collecting and generating reusable test mocks in an automated way. MOKA leverages the ability to observe a large number of interactions between an application and its environment and uses an iterative approach to generate two possible, alternative types of mocks with different reusability characteristics: advanced mocks generated through program synthesis (ideally) and basic record-replay-based mocks (as a fallback solution). In this paper, we describe the new ideas behind MOKA, its main characteristics, a preliminary empirical study, and a set of possible applications that could benefit from our framework.
移动应用程序与环境进行广泛的交互,这些交互会使测试活动复杂化,因为测试用例可能需要一个完整的环境来执行。与环境的交互也会引入测试缺陷,例如,当环境以不确定的方式运行时。由于这些原因,通常会创建测试模拟,以消除在测试期间出现(部分)环境的需要。但是,手动创建模拟非常耗时且容易出错。此外,生成的模拟通常只能在为其创建的特定测试的上下文中使用。为了解决这些问题,我们提出了MOKA,一个以自动化方式收集和生成可重用测试模型的通用框架。MOKA利用观察应用程序与其环境之间的大量交互的能力,并使用迭代方法生成两种可能的、具有不同可重用性特征的可选模拟类型:通过程序合成生成的高级模拟(理想情况下)和基于记录重播的基本模拟(作为后备解决方案)。在本文中,我们描述了MOKA背后的新思想,它的主要特征,初步的实证研究,以及一组可能从我们的框架中受益的应用程序。
{"title":"A Framework for Automated Test Mocking of Mobile Apps","authors":"M. Fazzini, Alessandra Gorla, A. Orso","doi":"10.1145/3324884.3418927","DOIUrl":"https://doi.org/10.1145/3324884.3418927","url":null,"abstract":"Mobile apps interact with their environment extensively, and these interactions can complicate testing activities because test cases may need a complete environment to be executed. Interactions with the environment can also introduce test flakiness, for instance when the environment behaves in non-deterministic ways. For these reasons, it is common to create test mocks that can eliminate the need for (part of) the environment to be present during testing. Manual mock creation, however, can be extremely time consuming and error-prone. Moreover, the generated mocks can typically only be used in the context of the specific tests for which they were created. To address these issues, we propose MOKA, a general framework for collecting and generating reusable test mocks in an automated way. MOKA leverages the ability to observe a large number of interactions between an application and its environment and uses an iterative approach to generate two possible, alternative types of mocks with different reusability characteristics: advanced mocks generated through program synthesis (ideally) and basic record-replay-based mocks (as a fallback solution). In this paper, we describe the new ideas behind MOKA, its main characteristics, a preliminary empirical study, and a set of possible applications that could benefit from our framework.","PeriodicalId":106337,"journal":{"name":"2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"216 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121623730","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
期刊
2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
全部 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