首页 > 最新文献

2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)最新文献

英文 中文
TrEKer: Tracing error propagation in operating system kernels 在操作系统内核中跟踪错误传播
Nicolas Coppik, Oliver Schwahn, Stefan Winter, N. Suri
Modern operating systems (OSs) consist of numerous interacting components, many of which are developed and maintained independently of one another. In monolithic systems, the boundaries of and interfaces between such components are not strictly enforced at runtime. Therefore, faults in individual components may directly affect other parts of the system in various ways. Software fault injection (SFI) is a testing technique to assess the resilience of a software system in the presence of faulty components. Unfortunately, SFI tests of OSs are inconclusive if they do not lead to observable failures, as corruptions of the internal software state may not be visible at its interfaces and, yet, affect the subsequent execution of the OS beyond the duration of the test. In this paper we present TREKER, a fully automated approach for identifying how faulty OS components affect other parts of the system. TREKER combines static and dynamic analyses to achieve efficient tracing on the granularity of memory accesses. We demonstrate TrEKer's ability to support SFI oracles by accurately tracing the effects of faults injected into three widely used Linux kernel modules.
现代操作系统(os)由许多相互作用的组件组成,其中许多组件是彼此独立开发和维护的。在单片系统中,这些组件之间的边界和接口在运行时没有严格执行。因此,单个部件的故障可能会以各种方式直接影响到系统的其他部件。软件故障注入(SFI)是一种在存在故障组件的情况下评估软件系统弹性的测试技术。不幸的是,如果操作系统的SFI测试没有导致可观察到的故障,则它们是不确定的,因为内部软件状态的损坏可能在其接口上不可见,并且在测试持续时间之外影响操作系统的后续执行。在本文中,我们介绍TREKER,这是一种全自动方法,用于识别故障操作系统组件如何影响系统的其他部分。TREKER结合了静态和动态分析,以实现对内存访问粒度的有效跟踪。我们通过精确跟踪注入到三个广泛使用的Linux内核模块中的错误的影响来展示TrEKer支持SFI oracle的能力。
{"title":"TrEKer: Tracing error propagation in operating system kernels","authors":"Nicolas Coppik, Oliver Schwahn, Stefan Winter, N. Suri","doi":"10.1109/ASE.2017.8115650","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115650","url":null,"abstract":"Modern operating systems (OSs) consist of numerous interacting components, many of which are developed and maintained independently of one another. In monolithic systems, the boundaries of and interfaces between such components are not strictly enforced at runtime. Therefore, faults in individual components may directly affect other parts of the system in various ways. Software fault injection (SFI) is a testing technique to assess the resilience of a software system in the presence of faulty components. Unfortunately, SFI tests of OSs are inconclusive if they do not lead to observable failures, as corruptions of the internal software state may not be visible at its interfaces and, yet, affect the subsequent execution of the OS beyond the duration of the test. In this paper we present TREKER, a fully automated approach for identifying how faulty OS components affect other parts of the system. TREKER combines static and dynamic analyses to achieve efficient tracing on the granularity of memory accesses. We demonstrate TrEKer's ability to support SFI oracles by accurately tracing the effects of faults injected into three widely used Linux kernel modules.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128196341","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}
引用次数: 11
EventFlowSlicer: A tool for generating realistic goal-driven GUI tests EventFlowSlicer:一个生成现实目标驱动GUI测试的工具
Jonathan A. Saddler, Myra B. Cohen
Most automated testing techniques for graphical user interfaces (GUIs) produce test cases that are only concerned with covering the elements (widgets, menus, etc.) on the interface, or the underlying program code, with little consideration of test case semantics. This is effective for functional testing where the aim is to find as many faults as possible. However, when one wants to mimic a real user for evaluating usability, or when it is necessary to extensively test important end-user tasks of a system, or to generate examples of how to use an interface, this generation approach fails. Capture and replay techniques can be used, however there are often multiple ways to achieve a particular goal, and capturing all of these is usually too time consuming and unrealistic. Prior work on human performance regression testing introduced a constraint based method to filter test cases created by a functional test case generator, however that work did not capture the specifications, or directly generate only the required tests and considered only a single type of test goal. In this paper we present EventFlowSlicer, a tool that allows the GUI tester to specify and generate all realistic test cases relevant to achieve a stated goal. The user first captures relevant events on the interface, then adds constraints to provide restrictions on the task. An event flow graph is extracted containing only the widgets of interest for that goal. Next all test cases are generated for edges in the graph which respect the constraints. The test cases can then be replayed using a modified version of GUITAR. A video demonstration of EventFlowSlicer can be found at https://youtu.be/hw7WYz8WYVU.
大多数用于图形用户界面(gui)的自动化测试技术产生的测试用例只涉及覆盖界面上的元素(小部件、菜单等)或底层程序代码,很少考虑测试用例语义。这对于功能测试是有效的,因为功能测试的目的是找到尽可能多的错误。然而,当一个人想要模拟一个真实的用户来评估可用性,或者当有必要广泛测试系统的重要最终用户任务,或者生成如何使用界面的示例时,这种生成方法就失败了。可以使用捕获和重放技术,但是通常有多种方法来实现特定目标,并且捕获所有这些通常太耗时且不现实。先前关于人类性能回归测试的工作引入了一种基于约束的方法来过滤由功能测试用例生成器创建的测试用例,然而,该工作没有捕获规范,或者直接生成所需的测试,并且只考虑单一类型的测试目标。在本文中,我们介绍了EventFlowSlicer,一个允许GUI测试人员指定并生成所有与实现既定目标相关的实际测试用例的工具。用户首先捕获界面上的相关事件,然后添加约束以提供对任务的限制。提取的事件流图只包含与该目标相关的小部件。接下来,所有的测试用例都是为图中尊重约束的边生成的。然后可以使用修改后的GUITAR版本重放测试用例。EventFlowSlicer的视频演示可以在https://youtu.be/hw7WYz8WYVU上找到。
{"title":"EventFlowSlicer: A tool for generating realistic goal-driven GUI tests","authors":"Jonathan A. Saddler, Myra B. Cohen","doi":"10.1109/ASE.2017.8115711","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115711","url":null,"abstract":"Most automated testing techniques for graphical user interfaces (GUIs) produce test cases that are only concerned with covering the elements (widgets, menus, etc.) on the interface, or the underlying program code, with little consideration of test case semantics. This is effective for functional testing where the aim is to find as many faults as possible. However, when one wants to mimic a real user for evaluating usability, or when it is necessary to extensively test important end-user tasks of a system, or to generate examples of how to use an interface, this generation approach fails. Capture and replay techniques can be used, however there are often multiple ways to achieve a particular goal, and capturing all of these is usually too time consuming and unrealistic. Prior work on human performance regression testing introduced a constraint based method to filter test cases created by a functional test case generator, however that work did not capture the specifications, or directly generate only the required tests and considered only a single type of test goal. In this paper we present EventFlowSlicer, a tool that allows the GUI tester to specify and generate all realistic test cases relevant to achieve a stated goal. The user first captures relevant events on the interface, then adds constraints to provide restrictions on the task. An event flow graph is extracted containing only the widgets of interest for that goal. Next all test cases are generated for edges in the graph which respect the constraints. The test cases can then be replayed using a modified version of GUITAR. A video demonstration of EventFlowSlicer can be found at https://youtu.be/hw7WYz8WYVU.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130232337","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
DSSynth: An automated digital controller synthesis tool for physical plants DSSynth:用于物理工厂的自动数字控制器合成工具
A. Abate, I. Bessa, Dario Cattaruzza, Lennon C. Chaves, L. Cordeiro, C. David, Pascal Kesseli, D. Kroening, E. Polgreen
We present an automated MATLAB Toolbox, named DSSynth (Digital-System Synthesizer), to synthesize sound digital controllers for physical plants that are represented as linear timeinvariant systems with single input and output. In particular, DSSynth synthesizes digital controllers that are sound w.r.t. stability and safety specifications. DSSynth considers the complete range of approximations, including time discretization, quantization effects and finite-precision arithmetic (and its rounding errors). We demonstrate the practical value of this toolbox by automatically synthesizing stable and safe controllers for intricate physical plant models from the digital control literature. The resulting toolbox enables the application of program synthesis to real-world control engineering problems. A demonstration can be found at https://youtu.be_hLQslRcee8.
我们提出了一个名为DSSynth(数字系统合成器)的自动化MATLAB工具箱,用于为具有单输入和输出的线性时不变系统表示的物理工厂合成声音数字控制器。特别是,DSSynth合成的数字控制器具有良好的w.r.t.稳定性和安全性规格。DSSynth考虑了整个近似范围,包括时间离散化、量化效应和有限精度算法(及其舍入误差)。我们通过从数字控制文献中自动合成复杂的物理工厂模型的稳定和安全控制器来展示这个工具箱的实用价值。由此产生的工具箱使程序综合应用于现实世界的控制工程问题。可以在https://youtu.be_hLQslRcee8上找到演示。
{"title":"DSSynth: An automated digital controller synthesis tool for physical plants","authors":"A. Abate, I. Bessa, Dario Cattaruzza, Lennon C. Chaves, L. Cordeiro, C. David, Pascal Kesseli, D. Kroening, E. Polgreen","doi":"10.1109/ASE.2017.8115705","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115705","url":null,"abstract":"We present an automated MATLAB Toolbox, named DSSynth (Digital-System Synthesizer), to synthesize sound digital controllers for physical plants that are represented as linear timeinvariant systems with single input and output. In particular, DSSynth synthesizes digital controllers that are sound w.r.t. stability and safety specifications. DSSynth considers the complete range of approximations, including time discretization, quantization effects and finite-precision arithmetic (and its rounding errors). We demonstrate the practical value of this toolbox by automatically synthesizing stable and safe controllers for intricate physical plant models from the digital control literature. The resulting toolbox enables the application of program synthesis to real-world control engineering problems. A demonstration can be found at https://youtu.be_hLQslRcee8.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133108371","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
RuntimeSearch: Ctrl+F for a running program RuntimeSearch: Ctrl+F表示正在运行的程序
Matúš Sulír, J. Porubän
Developers often try to find occurrences of a certain term in a software system. Traditionally, a text search is limited to static source code files. In this paper, we introduce a simple approach, RuntimeSearch, where the given term is searched in the values of all string expressions in a running program. When a match is found, the program is paused and its runtime properties can be explored with a traditional debugger. The feasibility and usefulness of RuntimeSearch is demonstrated on a medium-sized Java project.
开发人员经常试图在软件系统中找到某个术语的出现情况。传统上,文本搜索仅限于静态源代码文件。在本文中,我们介绍了一种简单的方法,RuntimeSearch,在运行的程序中,在所有字符串表达式的值中搜索给定的项。当找到匹配项时,程序将暂停,并且可以使用传统的调试器探索其运行时属性。在一个中等规模的Java项目中演示了RuntimeSearch的可行性和实用性。
{"title":"RuntimeSearch: Ctrl+F for a running program","authors":"Matúš Sulír, J. Porubän","doi":"10.1109/ASE.2017.8115651","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115651","url":null,"abstract":"Developers often try to find occurrences of a certain term in a software system. Traditionally, a text search is limited to static source code files. In this paper, we introduce a simple approach, RuntimeSearch, where the given term is searched in the values of all string expressions in a running program. When a match is found, the program is paused and its runtime properties can be explored with a traditional debugger. The feasibility and usefulness of RuntimeSearch is demonstrated on a medium-sized Java project.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133337679","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
The impact of continuous integration on other software development practices: A large-scale empirical study 持续集成对其他软件开发实践的影响:一项大规模的实证研究
Yangyang Zhao, Alexander Serebrenik, Yuming Zhou, V. Filkov, Bogdan Vasilescu
Continuous Integration (CI) has become a disruptive innovation in software development: with proper tool support and adoption, positive effects have been demonstrated for pull request throughput and scaling up of project sizes. As any other innovation, adopting CI implies adapting existing practices in order to take full advantage of its potential, and "best practices" to that end have been proposed. Here we study the adaptation and evolution of code writing and submission, issue and pull request closing, and testing practices as Travis CI is adopted by hundreds of established projects on GitHub. To help essentialize the quantitative results, we also survey a sample of GITHUB developers about their experiences with adopting Travis CI. Our findings suggest a more nuanced picture of how GitHub teams are adapting to, and benefiting from, continuous integration technology than suggested by prior work.
持续集成(CI)已经成为软件开发中的一项颠覆性创新:通过适当的工具支持和采用,已经证明了对拉取请求吞吐量和项目规模扩展的积极影响。与任何其他创新一样,采用CI意味着适应现有的实践,以便充分利用其潜力,为此提出了“最佳实践”。在这里,我们研究了代码编写和提交、发布和拉取请求关闭以及测试实践的适应和演变,因为Travis CI被GitHub上数百个已建立的项目所采用。为了帮助量化结果的本质化,我们还调查了GITHUB开发人员的样本,了解他们采用Travis CI的经验。我们的研究结果表明,与之前的研究结果相比,GitHub团队如何适应和受益于持续集成技术的情况更为微妙。
{"title":"The impact of continuous integration on other software development practices: A large-scale empirical study","authors":"Yangyang Zhao, Alexander Serebrenik, Yuming Zhou, V. Filkov, Bogdan Vasilescu","doi":"10.1109/ASE.2017.8115619","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115619","url":null,"abstract":"Continuous Integration (CI) has become a disruptive innovation in software development: with proper tool support and adoption, positive effects have been demonstrated for pull request throughput and scaling up of project sizes. As any other innovation, adopting CI implies adapting existing practices in order to take full advantage of its potential, and \"best practices\" to that end have been proposed. Here we study the adaptation and evolution of code writing and submission, issue and pull request closing, and testing practices as Travis CI is adopted by hundreds of established projects on GitHub. To help essentialize the quantitative results, we also survey a sample of GITHUB developers about their experiences with adopting Travis CI. Our findings suggest a more nuanced picture of how GitHub teams are adapting to, and benefiting from, continuous integration technology than suggested by prior work.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114661773","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}
引用次数: 135
IntPTI: Automatic integer error repair with proper-type inference IntPTI:具有适当类型推断的自动整数错误修复
Xi Cheng, Min Zhou, Xiaoyu Song, M. Gu, Jiaguang Sun
Integer errors in C/C++ are caused by arithmetic operations yielding results which are unrepresentable in certain type. They can lead to serious safety and security issues. Due to the complicated semantics of C/C++ integers, integer errors are widely harbored in real-world programs and it is error-prone to repair them even for experts. An automatic tool is desired to 1) automatically generate fixes which assist developers to correct the buggy code, and 2) provide sufficient hints to help developers review the generated fixes and better understand integer types in C/C++. In this paper, we present a tool IntPTI that implements the desired functionalities for C programs. IntPTI infers appropriate types for variables and expressions to eliminate representation issues, and then utilizes the derived types with fix patterns codified from the successful human-written patches. IntPTI provides a user-friendly web interface which allows users to review and manage the fixes. We evaluate IntPTI on 7 real-world projects and the results show its competitive repair accuracy and its scalability on large code bases. The demo video for IntPTI is available at: https://youtu.be/9Tgd4A_FgZM.
C/ c++中的整数错误是由算术运算产生的结果在某些类型中不可表示引起的。它们会导致严重的安全和安保问题。由于C/ c++整数的复杂语义,整数错误在实际程序中广泛存在,即使对于专家来说,修复它们也很容易出错。需要一个自动工具来1)自动生成修复程序,帮助开发人员纠正错误代码,2)提供足够的提示,帮助开发人员检查生成的修复程序,并更好地理解C/ c++中的整数类型。在本文中,我们提出了一个工具IntPTI,它实现了C程序所需的功能。IntPTI推断变量和表达式的适当类型,以消除表示问题,然后利用派生类型和从成功的人类编写的补丁中编码的固定模式。IntPTI提供了一个用户友好的web界面,允许用户审查和管理修复。我们在7个实际项目中对IntPTI进行了评估,结果显示其具有竞争力的修复精度和在大型代码库上的可扩展性。IntPTI的演示视频可在:https://youtu.be/9Tgd4A_FgZM。
{"title":"IntPTI: Automatic integer error repair with proper-type inference","authors":"Xi Cheng, Min Zhou, Xiaoyu Song, M. Gu, Jiaguang Sun","doi":"10.1109/ASE.2017.8115718","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115718","url":null,"abstract":"Integer errors in C/C++ are caused by arithmetic operations yielding results which are unrepresentable in certain type. They can lead to serious safety and security issues. Due to the complicated semantics of C/C++ integers, integer errors are widely harbored in real-world programs and it is error-prone to repair them even for experts. An automatic tool is desired to 1) automatically generate fixes which assist developers to correct the buggy code, and 2) provide sufficient hints to help developers review the generated fixes and better understand integer types in C/C++. In this paper, we present a tool IntPTI that implements the desired functionalities for C programs. IntPTI infers appropriate types for variables and expressions to eliminate representation issues, and then utilizes the derived types with fix patterns codified from the successful human-written patches. IntPTI provides a user-friendly web interface which allows users to review and manage the fixes. We evaluate IntPTI on 7 real-world projects and the results show its competitive repair accuracy and its scalability on large code bases. The demo video for IntPTI is available at: https://youtu.be/9Tgd4A_FgZM.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121448162","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}
引用次数: 16
SentiCR: A customized sentiment analysis tool for code review interactions SentiCR:用于代码审查交互的定制情感分析工具
Toufique Ahmed, Amiangshu Bosu, Anindya Iqbal, S. Rahimi
Sentiment Analysis tools, developed for analyzing social media text or product reviews, work poorly on a Software Engineering (SE) dataset. Since prior studies have found developers expressing sentiments during various SE activities, there is a need for a customized sentiment analysis tool for the SE domain. On this goal, we manually labeled 2000 review comments to build a training dataset and used our dataset to evaluate seven popular sentiment analysis tools. The poor performances of the existing sentiment analysis tools motivated us to build SentiCR, a sentiment analysis tool especially designed for code review comments. We evaluated SentiCR using one hundred 10-fold cross-validations of eight supervised learning algorithms. We found a model, trained using the Gradient Boosting Tree (GBT) algorithm, providing the highest mean accuracy (83%), the highest mean precision (67.8%), and the highest mean recall (58.4%) in identifying negative review comments.
为分析社交媒体文本或产品评论而开发的情感分析工具在软件工程(SE)数据集上表现不佳。由于先前的研究发现开发人员在各种SE活动中表达情感,因此需要为SE领域定制情感分析工具。为了实现这一目标,我们手动标记了2000条评论来构建一个训练数据集,并使用我们的数据集来评估七种流行的情感分析工具。现有情感分析工具的糟糕表现促使我们构建SentiCR,这是一个专门为代码审查评论设计的情感分析工具。我们使用8种监督学习算法的100次10倍交叉验证来评估SentiCR。我们发现了一个使用梯度增强树(GBT)算法训练的模型,在识别负面评论方面提供了最高的平均准确率(83%)、最高的平均精度(67.8%)和最高的平均召回率(58.4%)。
{"title":"SentiCR: A customized sentiment analysis tool for code review interactions","authors":"Toufique Ahmed, Amiangshu Bosu, Anindya Iqbal, S. Rahimi","doi":"10.1109/ASE.2017.8115623","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115623","url":null,"abstract":"Sentiment Analysis tools, developed for analyzing social media text or product reviews, work poorly on a Software Engineering (SE) dataset. Since prior studies have found developers expressing sentiments during various SE activities, there is a need for a customized sentiment analysis tool for the SE domain. On this goal, we manually labeled 2000 review comments to build a training dataset and used our dataset to evaluate seven popular sentiment analysis tools. The poor performances of the existing sentiment analysis tools motivated us to build SentiCR, a sentiment analysis tool especially designed for code review comments. We evaluated SentiCR using one hundred 10-fold cross-validations of eight supervised learning algorithms. We found a model, trained using the Gradient Boosting Tree (GBT) algorithm, providing the highest mean accuracy (83%), the highest mean precision (67.8%), and the highest mean recall (58.4%) in identifying negative review comments.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124050374","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}
引用次数: 110
BProVe: A formal verification framework for business process models BProVe:业务流程模型的正式验证框架
F. Corradini, Fabrizio Fornari, A. Polini, B. Re, F. Tiezzi, Andrea Vandin
Business Process Modelling has acquired increasing relevance in software development. Available notations, such as BPMN, permit to describe activities of complex organisations. On the one hand, this shortens the communication gap between domain experts and IT specialists. On the other hand, this permits to clarify the characteristics of software systems introduced to provide automatic support for such activities. Nevertheless, the lack of formal semantics hinders the automatic verification of relevant properties. This paper presents a novel verification framework for BPMN 2.0, called BProVe. It is based on an operational semantics, implemented using MAUDE, devised to make the verification general and effective. A complete tool chain, based on the Eclipse modelling environment, allows for rigorous modelling and analysis of Business Processes. The approach has been validated using more than one thousand models available on a publicly accessible repository. Besides showing the performance of BProVe, this validation demonstrates its practical benefits in identifying correctness issues in real models.
业务过程建模在软件开发中获得了越来越多的相关性。可用的符号,如BPMN,允许描述复杂组织的活动。一方面,这缩短了领域专家和IT专家之间的沟通差距。另一方面,这允许澄清为这些活动提供自动支持而引入的软件系统的特征。然而,缺乏形式化语义阻碍了相关属性的自动验证。本文提出了一个新的BPMN 2.0验证框架,称为BProVe。它基于操作语义,使用MAUDE实现,旨在使验证通用且有效。基于Eclipse建模环境的完整工具链允许对业务流程进行严格的建模和分析。该方法已经在一个可公开访问的存储库上使用了一千多个模型进行了验证。除了展示BProVe的性能之外,这个验证还展示了它在识别真实模型中的正确性问题方面的实际好处。
{"title":"BProVe: A formal verification framework for business process models","authors":"F. Corradini, Fabrizio Fornari, A. Polini, B. Re, F. Tiezzi, Andrea Vandin","doi":"10.1109/ASE.2017.8115635","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115635","url":null,"abstract":"Business Process Modelling has acquired increasing relevance in software development. Available notations, such as BPMN, permit to describe activities of complex organisations. On the one hand, this shortens the communication gap between domain experts and IT specialists. On the other hand, this permits to clarify the characteristics of software systems introduced to provide automatic support for such activities. Nevertheless, the lack of formal semantics hinders the automatic verification of relevant properties. This paper presents a novel verification framework for BPMN 2.0, called BProVe. It is based on an operational semantics, implemented using MAUDE, devised to make the verification general and effective. A complete tool chain, based on the Eclipse modelling environment, allows for rigorous modelling and analysis of Business Processes. The approach has been validated using more than one thousand models available on a publicly accessible repository. Besides showing the performance of BProVe, this validation demonstrates its practical benefits in identifying correctness issues in real models.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131636212","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}
引用次数: 24
Towards the automatic classification of traceability links 实现可追溯性环节的自动分类
Chris Mills
A wide range of text-based artifacts contribute to software projects (e.g., source code, test cases, use cases, project requirements, interaction diagrams, etc.). Traceability Link Recovery (TLR) is the software task in which relevant documents in these various sets are linked to one another, uncovering information about the project that is not available when considering only the documents themselves. This information is helpful for enabling other tasks such as improving test coverage, impact analysis, and ensuring that system or regulatory requirements are met. However, while traceability links are useful, performing TLR manually is time consuming and fraught with error. Previous work has applied Information Retrieval (IR) and other techniques to reduce the human effort involved; however, that effort remains significant. In this research we seek to take the next step in reducing it by using machine learning (ML) classification models to predict whether a candidate link is valid or invalid without human oversight. Preliminary results show that this approach has promise for accurately recommending valid links; however, there are several challenges that still must be addressed in order to achieve a technique with high enough performance to consider it a viable, completely automated solution.
广泛的基于文本的工件有助于软件项目(例如,源代码、测试用例、用例、项目需求、交互图等)。可追溯性链接恢复(Traceability Link Recovery, TLR)是一项软件任务,在该任务中,这些不同集合中的相关文档相互链接,揭示了仅考虑文档本身时无法获得的有关项目的信息。这些信息有助于实现其他任务,例如改进测试覆盖率、影响分析,以及确保系统或法规需求得到满足。然而,尽管可追溯性链接很有用,但手动执行TLR既耗时又充满错误。以前的工作已经应用了信息检索(IR)和其他技术来减少所涉及的人力;然而,这一努力仍然意义重大。在这项研究中,我们试图采取下一步措施,通过使用机器学习(ML)分类模型来预测候选链接在没有人为监督的情况下是有效还是无效。初步结果表明,该方法有望准确推荐有效链接;然而,为了实现具有足够高性能的技术,将其视为可行的、完全自动化的解决方案,仍然必须解决几个挑战。
{"title":"Towards the automatic classification of traceability links","authors":"Chris Mills","doi":"10.1109/ASE.2017.8115723","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115723","url":null,"abstract":"A wide range of text-based artifacts contribute to software projects (e.g., source code, test cases, use cases, project requirements, interaction diagrams, etc.). Traceability Link Recovery (TLR) is the software task in which relevant documents in these various sets are linked to one another, uncovering information about the project that is not available when considering only the documents themselves. This information is helpful for enabling other tasks such as improving test coverage, impact analysis, and ensuring that system or regulatory requirements are met. However, while traceability links are useful, performing TLR manually is time consuming and fraught with error. Previous work has applied Information Retrieval (IR) and other techniques to reduce the human effort involved; however, that effort remains significant. In this research we seek to take the next step in reducing it by using machine learning (ML) classification models to predict whether a candidate link is valid or invalid without human oversight. Preliminary results show that this approach has promise for accurately recommending valid links; however, there are several challenges that still must be addressed in order to achieve a technique with high enough performance to consider it a viable, completely automated solution.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128053424","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
Renaming and shifted code in structured merging: Looking ahead for precision and performance 结构化合并中的重命名和移位代码:展望精度和性能
Olaf Leßenich, S. Apel, Christian Kästner, Georg Seibt, J. Siegmund
Diffing and merging of source-code artifacts is an essential task when integrating changes in software versions. While state-of-the-art line-based merge tools (e.g., git merge) are fast and independent of the programming language used, they have only a low precision. Recently, it has been shown that the precision of merging can be substantially improved by using a language-aware, structured approach that works on abstract syntax trees. But, precise structured merging is NP hard, especially, when considering the notoriously difficult scenarios of renamings and shifted code. To address these scenarios without compromising scalability, we propose a syntax-aware, heuristic optimization for structured merging that employs a lookahead mechanism during tree matching. The key idea is that renamings and shifted code are not arbitrarily distributed, but their occurrence follows patterns, which we address with a syntax-specific lookahead. Our experiments with 48 real-world open-source projects (4,878 merge scenarios with over 400 million lines of code) demonstrate that we can significantly improve matching precision in 28 percent of cases while maintaining performance.
在集成软件版本中的更改时,区分和合并源代码工件是一项基本任务。虽然最先进的基于行的合并工具(例如,git merge)快速且独立于所使用的编程语言,但它们的精度很低。最近,有研究表明,通过使用一种对抽象语法树起作用的语言感知的结构化方法,可以大大提高合并的精度。但是,精确的结构化合并是NP困难的,特别是在考虑到众所周知的重命名和转移代码的困难场景时。为了在不影响可扩展性的情况下解决这些情况,我们提出了一种语法感知的启发式结构化合并优化,该优化在树匹配期间采用了前瞻性机制。关键思想是,重命名和移位的代码不是任意分布的,但它们的出现遵循模式,我们使用特定于语法的前瞻性来解决这个问题。我们对48个真实的开源项目(4878个合并场景,超过4亿行代码)进行的实验表明,在保持性能的同时,我们可以在28%的情况下显著提高匹配精度。
{"title":"Renaming and shifted code in structured merging: Looking ahead for precision and performance","authors":"Olaf Leßenich, S. Apel, Christian Kästner, Georg Seibt, J. Siegmund","doi":"10.1109/ASE.2017.8115665","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115665","url":null,"abstract":"Diffing and merging of source-code artifacts is an essential task when integrating changes in software versions. While state-of-the-art line-based merge tools (e.g., git merge) are fast and independent of the programming language used, they have only a low precision. Recently, it has been shown that the precision of merging can be substantially improved by using a language-aware, structured approach that works on abstract syntax trees. But, precise structured merging is NP hard, especially, when considering the notoriously difficult scenarios of renamings and shifted code. To address these scenarios without compromising scalability, we propose a syntax-aware, heuristic optimization for structured merging that employs a lookahead mechanism during tree matching. The key idea is that renamings and shifted code are not arbitrarily distributed, but their occurrence follows patterns, which we address with a syntax-specific lookahead. Our experiments with 48 real-world open-source projects (4,878 merge scenarios with over 400 million lines of code) demonstrate that we can significantly improve matching precision in 28 percent of cases while maintaining performance.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132257936","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}
引用次数: 20
期刊
2017 32nd 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