首页 > 最新文献

Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering最新文献

英文 中文
A tool for automated reasoning about traces based on configurable formal semantics 一种基于可配置形式语义的轨迹自动推理工具
Ferhat Erata, Arda Goknil, B. Tekinerdogan, G. Kardas
We present Tarski, a tool for specifying configurable trace semantics to facilitate automated reasoning about traces. Software development projects require that various types of traces be modeled between and within development artifacts. For any given artifact (e.g., requirements, architecture models and source code), Tarski allows the user to specify new trace types and their configurable semantics, while, using the semantics, it automatically infers new traces based on existing traces provided by the user, and checks the consistency of traces. It has been evaluated on three industrial case studies in the automotive domain (https://modelwriter.github.io/Tarski/).
我们介绍了Tarski,一个用于指定可配置跟踪语义的工具,以促进对跟踪的自动推理。软件开发项目需要在开发工件之间和内部对各种类型的跟踪进行建模。对于任何给定的工件(例如,需求、体系结构模型和源代码),Tarski允许用户指定新的跟踪类型及其可配置语义,同时,使用语义,它根据用户提供的现有跟踪自动推断新的跟踪,并检查跟踪的一致性。它已经在汽车领域的三个工业案例研究中进行了评估(https://modelwriter.github.io/Tarski/)。
{"title":"A tool for automated reasoning about traces based on configurable formal semantics","authors":"Ferhat Erata, Arda Goknil, B. Tekinerdogan, G. Kardas","doi":"10.1145/3106237.3122825","DOIUrl":"https://doi.org/10.1145/3106237.3122825","url":null,"abstract":"We present Tarski, a tool for specifying configurable trace semantics to facilitate automated reasoning about traces. Software development projects require that various types of traces be modeled between and within development artifacts. For any given artifact (e.g., requirements, architecture models and source code), Tarski allows the user to specify new trace types and their configurable semantics, while, using the semantics, it automatically infers new traces based on existing traces provided by the user, and checks the consistency of traces. It has been evaluated on three industrial case studies in the automotive domain (https://modelwriter.github.io/Tarski/).","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115835061","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
Symbolic execution of programmable logic controller code 可编程逻辑控制器代码的符号执行
Shengjian Guo, Meng Wu, Chao Wang
Programmable logic controllers (PLCs) are specialized computers for automating a wide range of cyber-physical systems. Since these systems are often safety-critical, software running on PLCs need to be free of programming errors. However, automated tools for testing PLC software are lacking despite the pervasive use of PLCs in industry. We propose a symbolic execution based method, named SymPLC, for automatically testing PLC software written in programming languages specified in the IEC 61131-3 standard. SymPLC takes the PLC source code as input and translates it into C before applying symbolic execution, to systematically generate test inputs that cover both paths in each periodic task and interleavings of these tasks. Toward this end, we propose a number of PLC-specific reduction techniques for identifying and eliminating redundant interleavings. We have evaluated SymPLC on a large set of benchmark programs with both single and multiple tasks. Our experiments show that SymPLC can handle these programs efficiently, and for multi-task PLC programs, our new reduction techniques outperform the state-of-the-art partial order reduction technique by more than two orders of magnitude.
可编程逻辑控制器(plc)是用于自动化各种网络物理系统的专用计算机。由于这些系统通常是安全关键的,在plc上运行的软件需要没有编程错误。然而,尽管PLC在工业中广泛使用,但用于测试PLC软件的自动化工具仍然缺乏。我们提出了一种基于符号执行的方法,命名为SymPLC,用于自动测试用IEC 61131-3标准中指定的编程语言编写的PLC软件。SymPLC将PLC源代码作为输入,并在应用符号执行之前将其转换为C语言,以系统地生成覆盖每个周期任务和这些任务的交叉路径的测试输入。为此,我们提出了许多plc特定的减少技术,用于识别和消除冗余交错。我们已经在大量的基准测试程序中对SymPLC进行了评估,包括单个和多个任务。我们的实验表明,SymPLC可以有效地处理这些程序,并且对于多任务PLC程序,我们的新约简技术比最先进的偏阶约简技术高出两个数量级以上。
{"title":"Symbolic execution of programmable logic controller code","authors":"Shengjian Guo, Meng Wu, Chao Wang","doi":"10.1145/3106237.3106245","DOIUrl":"https://doi.org/10.1145/3106237.3106245","url":null,"abstract":"Programmable logic controllers (PLCs) are specialized computers for automating a wide range of cyber-physical systems. Since these systems are often safety-critical, software running on PLCs need to be free of programming errors. However, automated tools for testing PLC software are lacking despite the pervasive use of PLCs in industry. We propose a symbolic execution based method, named SymPLC, for automatically testing PLC software written in programming languages specified in the IEC 61131-3 standard. SymPLC takes the PLC source code as input and translates it into C before applying symbolic execution, to systematically generate test inputs that cover both paths in each periodic task and interleavings of these tasks. Toward this end, we propose a number of PLC-specific reduction techniques for identifying and eliminating redundant interleavings. We have evaluated SymPLC on a large set of benchmark programs with both single and multiple tasks. Our experiments show that SymPLC can handle these programs efficiently, and for multi-task PLC programs, our new reduction techniques outperform the state-of-the-art partial order reduction technique by more than two orders of magnitude.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131367434","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
LaChouTi: kernel vulnerability responding framework for the fragmented Android devices LaChouTi:针对碎片化Android设备的内核漏洞响应框架
Jingzheng Wu, Mutian Yang
The most criticized problem in the Android ecosystem is fragmentation, i.e., 24,093 Android devices in the wild are made by 1,294 manufacturers and installed with extremely customized operating systems. The existence of so many different active versions of Android makes security updates and vulnerability responses across the whole range of Android devices difficult. In this paper, we seek to respond to the unpatched kernel vulnerabilities for the fragmented Android devices. Specifically, we propose and implement LaChouTi, which is an automated kernel security update framework consisting of cloud service and end application update. LaChouTi first tracks and identifies the exposed vulnerabilities according to the CVE-Patch map for the target Android kernels. Then, it generates differential binary patches for the identified results. Finally, it pushes and applies the patches to the kernels. We evaluate LaChouTi using 12 Nexus Android devices that have different Android versions, different kernel versions, different series and different manufacturers, and find 1922 unpatched kernel vulnerabilities in these devices. The results show that: (1) the security risk of unpatched vulnerabilities caused by fragmentation is serious; and (2) the proposed LaChouTi is effective in responding to such security risk. Finally, we implement LaChouTi on new commercial devices by collaborating with four internationally renowned manufacturers. The results demonstrate that LaChouTi is effective for the manufacturers'security updates.
Android生态系统中最受诟病的问题是碎片化,也就是说,目前有24,093台Android设备由1,294家制造商生产,并安装了高度定制的操作系统。如此多不同的Android活跃版本的存在使得整个Android设备的安全更新和漏洞响应变得困难。在本文中,我们试图对碎片化Android设备未修补的内核漏洞做出回应。具体来说,我们提出并实现了LaChouTi,它是一个由云服务和终端应用程序更新组成的自动化内核安全更新框架。LaChouTi首先根据目标Android内核的CVE-Patch地图跟踪并识别暴露的漏洞。然后,它为识别的结果生成微分二进制补丁。最后,它向内核推送并应用补丁。我们使用12台Nexus Android设备对LaChouTi进行了评估,这些设备拥有不同的Android版本、不同的内核版本、不同的系列和不同的制造商,并在这些设备中发现了1922个未修补的内核漏洞。结果表明:(1)碎片化导致的未修补漏洞安全风险严重;(2)所提出的LaChouTi能够有效应对此类安全风险。最后,我们通过与四家国际知名制造商合作,在新的商用设备上实施LaChouTi。结果表明,LaChouTi对厂商的安全更新是有效的。
{"title":"LaChouTi: kernel vulnerability responding framework for the fragmented Android devices","authors":"Jingzheng Wu, Mutian Yang","doi":"10.1145/3106237.3117768","DOIUrl":"https://doi.org/10.1145/3106237.3117768","url":null,"abstract":"The most criticized problem in the Android ecosystem is fragmentation, i.e., 24,093 Android devices in the wild are made by 1,294 manufacturers and installed with extremely customized operating systems. The existence of so many different active versions of Android makes security updates and vulnerability responses across the whole range of Android devices difficult. In this paper, we seek to respond to the unpatched kernel vulnerabilities for the fragmented Android devices. Specifically, we propose and implement LaChouTi, which is an automated kernel security update framework consisting of cloud service and end application update. LaChouTi first tracks and identifies the exposed vulnerabilities according to the CVE-Patch map for the target Android kernels. Then, it generates differential binary patches for the identified results. Finally, it pushes and applies the patches to the kernels. We evaluate LaChouTi using 12 Nexus Android devices that have different Android versions, different kernel versions, different series and different manufacturers, and find 1922 unpatched kernel vulnerabilities in these devices. The results show that: (1) the security risk of unpatched vulnerabilities caused by fragmentation is serious; and (2) the proposed LaChouTi is effective in responding to such security risk. Finally, we implement LaChouTi on new commercial devices by collaborating with four internationally renowned manufacturers. The results demonstrate that LaChouTi is effective for the manufacturers'security updates.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126845829","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
What do software engineers care about? gaps between research and practice 软件工程师关心什么?研究与实践之间的差距
Vladimir Ivanov, Alan Rogers, G. Succi, Jooyong Yi, V. Zorin
It is a cliche to say that there is a gap between research and practice. As the interest and importance in the practical impact of research has been growing, the gap between research and practice is expected to be narrowing. However, our study reveals that there still seems to be a wide gap. We survey so ware engineers about what they care about when developing so ware. We then compare our survey results with the research topics of the papers published in ICSE/FSE recently. We found the following discrepancy: while so ware engineers care more about so ware development productivity than the quality of so ware, papers on research areas closely related to so ware productivity--such as so ware development process management and so ware development techniques--are significantly less published than papers on so ware verification and validation that account for more than half of publications. We also found that so ware engineers are in great need for techniques for accurate effort estimation, and they are not necessarily knowledgable about techniques they can use to meet their needs.
说研究和实践之间有差距是老生常谈了。随着人们对研究的实际影响的兴趣和重要性不断提高,研究与实践之间的差距有望缩小。然而,我们的研究表明,似乎仍然存在很大的差距。我们调查了软件工程师在开发软件时关心的问题。然后,我们将调查结果与最近在ICSE/FSE上发表的论文的研究主题进行了比较。我们发现了以下差异:虽然软件工程师更关心软件开发的生产力而不是软件的质量,但与软件生产力密切相关的研究领域的论文——比如软件开发过程管理和软件开发技术——的发表数量明显少于关于软件验证和确认的论文,后者占了出版物的一半以上。我们还发现,软件工程师非常需要精确工作量估计的技术,而他们并不一定了解可以用来满足他们需求的技术。
{"title":"What do software engineers care about? gaps between research and practice","authors":"Vladimir Ivanov, Alan Rogers, G. Succi, Jooyong Yi, V. Zorin","doi":"10.1145/3106237.3117778","DOIUrl":"https://doi.org/10.1145/3106237.3117778","url":null,"abstract":"It is a cliche to say that there is a gap between research and practice. As the interest and importance in the practical impact of research has been growing, the gap between research and practice is expected to be narrowing. However, our study reveals that there still seems to be a wide gap. We survey so ware engineers about what they care about when developing so ware. We then compare our survey results with the research topics of the papers published in ICSE/FSE recently. We found the following discrepancy: while so ware engineers care more about so ware development productivity than the quality of so ware, papers on research areas closely related to so ware productivity--such as so ware development process management and so ware development techniques--are significantly less published than papers on so ware verification and validation that account for more than half of publications. We also found that so ware engineers are in great need for techniques for accurate effort estimation, and they are not necessarily knowledgable about techniques they can use to meet their needs.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125288449","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}
引用次数: 35
User- and analysis-driven context aware software development in mobile computing 移动计算中用户和分析驱动的上下文感知软件开发
Mai Abusair
Mobile applications may benefit from context awareness since they incur to context changes during their execution and their success depends on the user perceived quality. Context awareness requires context monitoring and system adaptation, these two tasks are very expensive especially in mobile applications. Our research aims at developing a methodology that enables effective context awareness techniques for mobile applications that allows adaptations of the mobile app to context changes so that the desired system quality properties and user satisfaction is maximized. Here effective means selecting a minimum set of context variables to monitor and a minimum set of adaptive tactics to inject into mobile applications that allows to guarantee the required software quality and to maximize the user satisfaction. In this paper, we show the devised methodology on a motivating example, detailing the ongoing work.
移动应用可能受益于上下文感知,因为它们在执行过程中会发生上下文变化,它们的成功取决于用户感知的质量。上下文感知需要上下文监控和系统适应,这两项任务非常昂贵,尤其是在移动应用中。我们的研究旨在开发一种方法,使移动应用程序的有效上下文感知技术,允许移动应用程序适应上下文变化,从而最大限度地提高所需的系统质量属性和用户满意度。在这里,有效意味着选择最少的环境变量集来监控,以及最少的自适应策略集来注入移动应用程序,从而保证所需的软件质量并最大化用户满意度。在本文中,我们展示了一个激励的例子设计的方法,详细介绍了正在进行的工作。
{"title":"User- and analysis-driven context aware software development in mobile computing","authors":"Mai Abusair","doi":"10.1145/3106237.3119873","DOIUrl":"https://doi.org/10.1145/3106237.3119873","url":null,"abstract":"Mobile applications may benefit from context awareness since they incur to context changes during their execution and their success depends on the user perceived quality. Context awareness requires context monitoring and system adaptation, these two tasks are very expensive especially in mobile applications. Our research aims at developing a methodology that enables effective context awareness techniques for mobile applications that allows adaptations of the mobile app to context changes so that the desired system quality properties and user satisfaction is maximized. Here effective means selecting a minimum set of context variables to monitor and a minimum set of adaptive tactics to inject into mobile applications that allows to guarantee the required software quality and to maximize the user satisfaction. In this paper, we show the devised methodology on a motivating example, detailing the ongoing work.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"46 11-12","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114011847","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
Attributed variability models: outside the comfort zone 归因变异性模型:在舒适区之外
Norbert Siegmund, Stefan Sobernig, S. Apel
Variability models are often enriched with attributes, such as performance, that encode the influence of features on the respective attribute. In spite of their importance, there are only few attributed variability models available that have attribute values obtained from empirical, real-world observations and that cover interactions between features. But, what does it mean for research and practice when staying in the comfort zone of developing algorithms and tools in a setting where artificial attribute values are used and where interactions are neglected? This is the central question that we want to answer here. To leave the comfort zone, we use a combination of kernel density estimation and a genetic algorithm to rescale a given (real-world) attribute-value profile to a given variability model. To demonstrate the influence and relevance of realistic attribute values and interactions, we present a replication of a widely recognized, third-party study, into which we introduce realistic attribute values and interactions. We found statistically significant differences between the original study and the replication. We infer lessons learned to conduct experiments that involve attributed variability models. We also provide the accompanying tool Thor for generating attribute values including interactions. Our solution is shown to be agnostic about the given input distribution and to scale to large variability models.
可变性模型通常包含属性,例如性能,这些属性编码了特征对各自属性的影响。尽管它们很重要,但只有少数具有从经验,现实世界观察中获得的属性值并涵盖特征之间相互作用的属性变异性模型可用。但是,在使用人工属性值和忽略交互的环境中,当停留在开发算法和工具的舒适区时,这对研究和实践意味着什么?这是我们想要回答的核心问题。为了离开舒适区,我们使用核密度估计和遗传算法的组合来将给定(现实世界)的属性值配置文件重新缩放到给定的可变性模型。为了证明现实属性值和相互作用的影响和相关性,我们提出了一项广泛认可的第三方研究的复制,其中我们引入了现实属性值和相互作用。我们发现原始研究和重复研究之间存在统计学上的显著差异。我们推断经验教训,进行涉及归因变异性模型的实验。我们还提供了附带的工具Thor,用于生成包括交互在内的属性值。我们的解决方案对给定的输入分布是不可知的,并且可以扩展到大变异性模型。
{"title":"Attributed variability models: outside the comfort zone","authors":"Norbert Siegmund, Stefan Sobernig, S. Apel","doi":"10.1145/3106237.3106251","DOIUrl":"https://doi.org/10.1145/3106237.3106251","url":null,"abstract":"Variability models are often enriched with attributes, such as performance, that encode the influence of features on the respective attribute. In spite of their importance, there are only few attributed variability models available that have attribute values obtained from empirical, real-world observations and that cover interactions between features. But, what does it mean for research and practice when staying in the comfort zone of developing algorithms and tools in a setting where artificial attribute values are used and where interactions are neglected? This is the central question that we want to answer here. To leave the comfort zone, we use a combination of kernel density estimation and a genetic algorithm to rescale a given (real-world) attribute-value profile to a given variability model. To demonstrate the influence and relevance of realistic attribute values and interactions, we present a replication of a widely recognized, third-party study, into which we introduce realistic attribute values and interactions. We found statistically significant differences between the original study and the replication. We infer lessons learned to conduct experiments that involve attributed variability models. We also provide the accompanying tool Thor for generating attribute values including interactions. Our solution is shown to be agnostic about the given input distribution and to scale to large variability models.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114507844","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
Counterexample-guided approach to finding numerical invariants 寻找数值不变量的反例指导方法
Thanhvu Nguyen, Timos Antonopoulos, Andrew Ruef, M. Hicks
Numerical invariants, e.g., relationships among numerical variables in a program, represent a useful class of properties to analyze programs. General polynomial invariants represent more complex numerical relations, but they are often required in many scientific and engineering applications. We present NumInv, a tool that implements a counterexample-guided invariant generation (CEGIR) technique to automatically discover numerical invariants, which are polynomial equality and inequality relations among numerical variables. This CEGIR technique infers candidate invariants from program traces and then checks them against the program source code using the KLEE test-input generation tool. If the invariants are incorrect KLEE returns counterexample traces, which help the dynamic inference obtain better results. Existing CEGIR approaches often require sound invariants, however NumInv sacrifices soundness and produces results that KLEE cannot refute within certain time bounds. This design and the use of KLEE as a verifier allow NumInv to discover useful and important numerical invariants for many challenging programs. Preliminary results show that NumInv generates required invariants for understanding and verifying correctness of programs involving complex arithmetic. We also show that NumInv discovers polynomial invariants that capture precise complexity bounds of programs used to benchmark existing static complexity analysis techniques. Finally, we show that NumInv performs competitively comparing to state of the art numerical invariant analysis tools.
数值不变量,例如程序中数值变量之间的关系,代表了分析程序的一类有用的属性。一般多项式不变量表示更复杂的数值关系,但在许多科学和工程应用中经常需要它们。我们提出了一个工具NumInv,它实现了一个反例引导的不变量生成(CEGIR)技术来自动发现数值不变量,即数值变量之间的多项式相等和不等式关系。这种CEGIR技术从程序跟踪推断出候选不变量,然后使用KLEE测试输入生成工具对照程序源代码检查它们。如果不变量不正确,KLEE返回反例跟踪,这有助于动态推理获得更好的结果。现有的CEGIR方法通常需要健全不变量,然而NumInv牺牲了健全性,并产生了KLEE在一定时间范围内无法反驳的结果。这种设计和使用KLEE作为验证器允许NumInv为许多具有挑战性的程序发现有用和重要的数值不变量。初步结果表明,NumInv生成了理解和验证复杂算术程序正确性所需的不变量。我们还表明,NumInv发现了多项式不变量,这些不变量捕获了用于对现有静态复杂性分析技术进行基准测试的程序的精确复杂性界限。最后,我们展示了NumInv与最先进的数值不变分析工具相比具有竞争力。
{"title":"Counterexample-guided approach to finding numerical invariants","authors":"Thanhvu Nguyen, Timos Antonopoulos, Andrew Ruef, M. Hicks","doi":"10.1145/3106237.3106281","DOIUrl":"https://doi.org/10.1145/3106237.3106281","url":null,"abstract":"Numerical invariants, e.g., relationships among numerical variables in a program, represent a useful class of properties to analyze programs. General polynomial invariants represent more complex numerical relations, but they are often required in many scientific and engineering applications. We present NumInv, a tool that implements a counterexample-guided invariant generation (CEGIR) technique to automatically discover numerical invariants, which are polynomial equality and inequality relations among numerical variables. This CEGIR technique infers candidate invariants from program traces and then checks them against the program source code using the KLEE test-input generation tool. If the invariants are incorrect KLEE returns counterexample traces, which help the dynamic inference obtain better results. Existing CEGIR approaches often require sound invariants, however NumInv sacrifices soundness and produces results that KLEE cannot refute within certain time bounds. This design and the use of KLEE as a verifier allow NumInv to discover useful and important numerical invariants for many challenging programs. Preliminary results show that NumInv generates required invariants for understanding and verifying correctness of programs involving complex arithmetic. We also show that NumInv discovers polynomial invariants that capture precise complexity bounds of programs used to benchmark existing static complexity analysis techniques. Finally, we show that NumInv performs competitively comparing to state of the art numerical invariant analysis tools.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115572542","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}
引用次数: 42
XSearch: a domain-specific cross-language relevant question retrieval tool XSearch:特定于领域的跨语言相关问题检索工具
Bowen Xu, Zhenchang Xing, Xin Xia, D. Lo, X. Le
During software development process, Chinese developers often seek solutions to the technical problems they encounter by searching relevant questions on Q&A sites. When developers fail to find solutions on Q&A sites in Chinese, they could translate their query and search on the English Q&A sites. However, Chinese developers who are non-native English speakers often are not comfortable to ask or search questions in English, as they do not know the proper translation of the Chinese technical words into the English technical words. Furthermore, the process of manually formulating cross-language queries and determining the importance of query words is a tedious and time-consuming process. For the purpose of helping Chinese developers take advantages of the rich knowledge base of the English version of Stack Overflow and simplify the retrieval process, we propose an automated cross-language relevant question retrieval tool (XSearch) to retrieve relevant English questions on Stack Overflow for a given Chinese question. This tool can address the increasing need for developer to solve technical problems by retrieving cross-language relevant Q&A resources. Demo Tool Website: http://172.93.36.10:8080/XSearch Demo Video: https://goo.gl/h57sed
在软件开发过程中,中国开发人员经常通过在问答网站上搜索相关问题来寻求解决技术问题的方法。当开发者在中文问答网站上找不到解决方案时,他们可以在英文问答网站上进行翻译和搜索。然而,非英语为母语的中国开发人员往往不习惯用英语提问或搜索问题,因为他们不知道如何将中文技术词汇正确翻译成英文技术词汇。此外,手动制定跨语言查询和确定查询词的重要性的过程是一个繁琐且耗时的过程。为了帮助中文开发人员利用Stack Overflow英文版丰富的知识库,简化检索过程,我们提出了一种自动跨语言相关问题检索工具(XSearch),针对给定的中文问题在Stack Overflow上检索相关的英文问题。该工具可以满足开发人员通过检索跨语言相关的问答资源来解决技术问题的日益增长的需求。演示工具网站:http://172.93.36.10:8080/XSearch演示视频:https://goo.gl/h57sed
{"title":"XSearch: a domain-specific cross-language relevant question retrieval tool","authors":"Bowen Xu, Zhenchang Xing, Xin Xia, D. Lo, X. Le","doi":"10.1145/3106237.3122820","DOIUrl":"https://doi.org/10.1145/3106237.3122820","url":null,"abstract":"During software development process, Chinese developers often seek solutions to the technical problems they encounter by searching relevant questions on Q&A sites. When developers fail to find solutions on Q&A sites in Chinese, they could translate their query and search on the English Q&A sites. However, Chinese developers who are non-native English speakers often are not comfortable to ask or search questions in English, as they do not know the proper translation of the Chinese technical words into the English technical words. Furthermore, the process of manually formulating cross-language queries and determining the importance of query words is a tedious and time-consuming process. For the purpose of helping Chinese developers take advantages of the rich knowledge base of the English version of Stack Overflow and simplify the retrieval process, we propose an automated cross-language relevant question retrieval tool (XSearch) to retrieve relevant English questions on Stack Overflow for a given Chinese question. This tool can address the increasing need for developer to solve technical problems by retrieving cross-language relevant Q&A resources. Demo Tool Website: http://172.93.36.10:8080/XSearch Demo Video: https://goo.gl/h57sed","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129159077","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
Application of search-based software engineering methodologies for test suite optimization and evolution in mission critical mobile application development 基于搜索的软件工程方法在关键任务移动应用开发中测试套件优化和演进的应用
Andreas Schuler
The demand for high quality mobile applications is constantly rising, especially in mission critical settings. Thus, new software engineering methodologies are needed in order to ensure the desired quality of an application. The research presented proposes a quality assurance methodology for mobile applications through test automation by optimizing test suites. The desired goal is to find a minimal test suite while maintaining efficiency and reducing execution cost. Furthermore to avoid invalidating an optimized test suite as the system under test evolves, the approach further proposes to extract patterns from the applied changes to an application. The evaluation plan comprises a combination of an empirical and an industrial case study based on open source projects and an industrial project in the healthcare domain. It is expected that the presented approach supports the testing process on mobile application platforms.
对高质量移动应用程序的需求不断上升,特别是在关键任务设置中。因此,需要新的软件工程方法来确保应用程序的期望质量。本研究提出了一种通过优化测试套件实现测试自动化的移动应用质量保证方法。期望的目标是在保持效率和降低执行成本的同时找到最小的测试套件。此外,为了避免随着被测系统的发展而使优化的测试套件失效,该方法进一步建议从应用到应用程序的更改中提取模式。评估计划包括基于开源项目和医疗保健领域的工业项目的经验案例研究和工业案例研究的组合。期望所提出的方法支持移动应用程序平台上的测试过程。
{"title":"Application of search-based software engineering methodologies for test suite optimization and evolution in mission critical mobile application development","authors":"Andreas Schuler","doi":"10.1145/3106237.3119876","DOIUrl":"https://doi.org/10.1145/3106237.3119876","url":null,"abstract":"The demand for high quality mobile applications is constantly rising, especially in mission critical settings. Thus, new software engineering methodologies are needed in order to ensure the desired quality of an application. The research presented proposes a quality assurance methodology for mobile applications through test automation by optimizing test suites. The desired goal is to find a minimal test suite while maintaining efficiency and reducing execution cost. Furthermore to avoid invalidating an optimized test suite as the system under test evolves, the approach further proposes to extract patterns from the applied changes to an application. The evaluation plan comprises a combination of an empirical and an industrial case study based on open source projects and an industrial project in the healthcare domain. It is expected that the presented approach supports the testing process on mobile application platforms.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116220924","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
Measuring the cost of regression testing in practice: a study of Java projects using continuous integration
Adriaan Labuschagne, Laura Inozemtseva, Reid Holmes
Software defects cost time and money to diagnose and fix. Consequently, developers use a variety of techniques to avoid introducing defects into their systems. However, these techniques have costs of their own; the benefit of using a technique must outweigh the cost of applying it. In this paper we investigate the costs and benefits of automated regression testing in practice. Specifically, we studied 61 projects that use Travis CI, a cloud-based continuous integration tool, in order to examine real test failures that were encountered by the developers of those projects. We determined how the developers resolved the failures they encountered and used this information to classify the failures as being caused by a flaky test, by a bug in the system under test, or by a broken or obsolete test. We consider that test failures caused by bugs represent a benefit of the test suite, while failures caused by broken or obsolete tests represent a test suite maintenance cost. We found that 18% of test suite executions fail and that 13% of these failures are flaky. Of the non-flaky failures, only 74% were caused by a bug in the system under test; the remaining 26% were due to incorrect or obsolete tests. In addition, we found that, in the failed builds, only 0.38% of the test case executions failed and 64% of failed builds contained more than one failed test. Our findings contribute to a wider understanding of the unforeseen costs that can impact the overall cost effectiveness of regression testing in practice. They can also inform research into test case selection techniques, as we have provided an approximate empirical bound on the practical value that could be extracted from such techniques. This value appears to be large, as the 61 systems under study contained nearly 3 million lines of test code and yet over 99% of test case executions could have been eliminated with a perfect oracle.
软件缺陷的诊断和修复需要花费时间和金钱。因此,开发人员使用各种技术来避免将缺陷引入他们的系统。然而,这些技术本身也有成本;使用一种技术的好处必须大于应用它的成本。在本文中,我们研究了自动化回归测试在实践中的成本和收益。具体来说,我们研究了61个使用Travis CI(一种基于云的持续集成工具)的项目,以便检查这些项目的开发人员遇到的真实测试失败。我们确定开发人员如何解决他们遇到的失败,并使用该信息将失败分类为由不可靠的测试、由测试系统中的错误、或由破碎或过时的测试引起的失败。我们认为,由bug引起的测试失败代表了测试套件的好处,而由破碎或过时的测试引起的失败则代表了测试套件维护成本。我们发现18%的测试套件执行失败了,其中13%的失败是不可靠的。在非片状故障中,只有74%是由被测系统中的错误引起的;剩下的26%是由于不正确或过时的测试。另外,我们发现,在失败的构建中,只有0.38%的测试用例执行失败,64%的失败构建包含不止一个失败的测试。我们的发现有助于更广泛地理解不可预见的成本,这些成本可以影响实践中回归测试的总体成本效益。它们还可以为测试用例选择技术的研究提供信息,因为我们已经提供了可以从这些技术中提取的实用价值的近似经验边界。这个值看起来很大,因为所研究的61个系统包含近300万行测试代码,但是99%以上的测试用例执行可以用一个完美的oracle消除。
{"title":"Measuring the cost of regression testing in practice: a study of Java projects using continuous integration","authors":"Adriaan Labuschagne, Laura Inozemtseva, Reid Holmes","doi":"10.1145/3106237.3106288","DOIUrl":"https://doi.org/10.1145/3106237.3106288","url":null,"abstract":"Software defects cost time and money to diagnose and fix. Consequently, developers use a variety of techniques to avoid introducing defects into their systems. However, these techniques have costs of their own; the benefit of using a technique must outweigh the cost of applying it. In this paper we investigate the costs and benefits of automated regression testing in practice. Specifically, we studied 61 projects that use Travis CI, a cloud-based continuous integration tool, in order to examine real test failures that were encountered by the developers of those projects. We determined how the developers resolved the failures they encountered and used this information to classify the failures as being caused by a flaky test, by a bug in the system under test, or by a broken or obsolete test. We consider that test failures caused by bugs represent a benefit of the test suite, while failures caused by broken or obsolete tests represent a test suite maintenance cost. We found that 18% of test suite executions fail and that 13% of these failures are flaky. Of the non-flaky failures, only 74% were caused by a bug in the system under test; the remaining 26% were due to incorrect or obsolete tests. In addition, we found that, in the failed builds, only 0.38% of the test case executions failed and 64% of failed builds contained more than one failed test. Our findings contribute to a wider understanding of the unforeseen costs that can impact the overall cost effectiveness of regression testing in practice. They can also inform research into test case selection techniques, as we have provided an approximate empirical bound on the practical value that could be extracted from such techniques. This value appears to be large, as the 61 systems under study contained nearly 3 million lines of test code and yet over 99% of test case executions could have been eliminated with a perfect oracle.","PeriodicalId":313494,"journal":{"name":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121658312","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}
引用次数: 78
期刊
Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
全部 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