首页 > 最新文献

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

英文 中文
A static analysis tool with optimizations for reachability determination 具有可达性确定优化的静态分析工具
Yuexing Wang, Min Zhou, Yu Jiang, Xiaoyu Song, M. Gu, Jiaguang Sun
To reduce the false positives of static analysis, many tools collect path constraints and integrate SMT solvers to filter unreachable execution paths. However, the accumulated calling and computing of SMT solvers are time and resource consuming. This paper presents TsmartLW, an alternate static analysis tool in which we implement a path constraint solving engine to speed up reachability determination. Within the engine, typical types of constraint-patterns are firstly defined based on an empirical study of a large number of code repositories. For each pattern, a constraint solving algorithm is designed and implemented. For each program, the engine predicts the most suitable strategy and then applies the strategy to solve path constraints. The experimental results on some well-known benchmarks and real-world applications show that TsmartLW is faster than some state-of-the-art static analysis tools. For example, it is 1.32× faster than CPAchecker and our engine is 369× faster than SMT solvers in solving path constraints. The demo video is available at https://www.youtube.com/watch?v=5c3ARhFclHA&t=2s.
为了减少静态分析的误报,许多工具收集路径约束并集成SMT求解器来过滤不可达的执行路径。然而,SMT求解器的累计调用和计算耗费大量时间和资源。本文介绍了TsmartLW,这是一个备选的静态分析工具,我们在其中实现了一个路径约束求解引擎,以加快可达性的确定。在引擎中,典型的约束模式类型首先是基于对大量代码库的经验研究来定义的。针对每种模式,设计并实现了约束求解算法。对于每个程序,引擎预测最合适的策略,然后应用该策略来解决路径约束。在一些知名的基准测试和实际应用程序上的实验结果表明,TsmartLW比一些最先进的静态分析工具要快。例如,它比CPAchecker快1.32倍,我们的引擎在求解路径约束方面比SMT求解器快369倍。演示视频可在https://www.youtube.com/watch?v=5c3ARhFclHA&t=2s上获得。
{"title":"A static analysis tool with optimizations for reachability determination","authors":"Yuexing Wang, Min Zhou, Yu Jiang, Xiaoyu Song, M. Gu, Jiaguang Sun","doi":"10.1109/ASE.2017.8115706","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115706","url":null,"abstract":"To reduce the false positives of static analysis, many tools collect path constraints and integrate SMT solvers to filter unreachable execution paths. However, the accumulated calling and computing of SMT solvers are time and resource consuming. This paper presents TsmartLW, an alternate static analysis tool in which we implement a path constraint solving engine to speed up reachability determination. Within the engine, typical types of constraint-patterns are firstly defined based on an empirical study of a large number of code repositories. For each pattern, a constraint solving algorithm is designed and implemented. For each program, the engine predicts the most suitable strategy and then applies the strategy to solve path constraints. The experimental results on some well-known benchmarks and real-world applications show that TsmartLW is faster than some state-of-the-art static analysis tools. For example, it is 1.32× faster than CPAchecker and our engine is 369× faster than SMT solvers in solving path constraints. The demo video is available at https://www.youtube.com/watch?v=5c3ARhFclHA&t=2s.","PeriodicalId":382876,"journal":{"name":"2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"8 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":"126885627","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
Mining implicit design templates for actionable code reuse 挖掘隐式设计模板以实现可操作的代码重用
Yun Lin, Guozhu Meng, Yinxing Xue, Zhenchang Xing, Jun Sun, Xin Peng, Yang Liu, Wenyun Zhao, J. Dong
In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java projects show that, to create a new similar feature with a design template, (1) on average 69% of the elements in the template can be reused and (2) on average 60% code of the new feature can be adopted from the template. Our user study further shows that, compared to the participants adopting the copy-paste-modify strategy, the ones using MICoDe are more effective to understand a big design picture and more efficient to accomplish the code reuse task.
在本文中,我们提出了一种方法来检测代码库中特定于项目的重复设计,并将其抽象为设计模板作为重用机会。挖掘的模板允许程序员进一步定制以生成新代码。生成的代码包括重复设计的代码框架,以及半实现的代码体,这些代码体带有注释,以提醒程序员进行必要的修改。我们将这种方法实现为一个名为MICoDe的Eclipse插件。我们通过重用模拟实验和涉及16名参与者的用户研究来评估我们的方法。我们在10个开源Java项目上的模拟实验结果表明,用设计模板创建一个新的类似特性,(1)模板中平均69%的元素可以被重用,(2)平均60%的新特性代码可以从模板中被采用。我们的用户研究进一步表明,与采用复制-粘贴-修改策略的参与者相比,使用MICoDe的参与者更有效地理解大的设计图片,更有效地完成代码重用任务。
{"title":"Mining implicit design templates for actionable code reuse","authors":"Yun Lin, Guozhu Meng, Yinxing Xue, Zhenchang Xing, Jun Sun, Xin Peng, Yang Liu, Wenyun Zhao, J. Dong","doi":"10.1109/ASE.2017.8115652","DOIUrl":"https://doi.org/10.1109/ASE.2017.8115652","url":null,"abstract":"In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java projects show that, to create a new similar feature with a design template, (1) on average 69% of the elements in the template can be reused and (2) on average 60% code of the new feature can be adopted from the template. Our user study further shows that, compared to the participants adopting the copy-paste-modify strategy, the ones using MICoDe are more effective to understand a big design picture and more efficient to accomplish the code reuse task.","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":"124294232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 19
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
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
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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1