首页 > 最新文献

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

英文 中文
DRIVER -- A Platform for Collaborative Framework Understanding DRIVER——协作框架理解的平台
Nuno H. Flores, Ademar Aguiar
Application frameworks are a powerful technique for large-scale reuse but often very hard to learn from scratch. Although good documentation helps on reducing the learning curve, it is often found lacking, and costly, as it needs to attend different audiences with disparate learning needs. When code and documentation prove insufficient, developers turn to their network of experts. The lack of awareness about the experts, interrupting the wrong people, and experts unavailability are well known hindrances to effective collaboration. This paper presents the DRIVER platform, a collaborative learning environment for framework users to share their knowledge. It provides the documentation on a wiki, where the learning paths of the community of learners can be captured, shared, rated, and recommended, thus tapping into the collective knowledge of the community of framework users. The tool can be obtained at http://bit.ly/driverTool.
应用程序框架是一种强大的大规模重用技术,但通常很难从头开始学习。尽管良好的文档有助于减少学习曲线,但它经常被发现是缺乏的,而且成本很高,因为它需要满足具有不同学习需求的不同受众。当证明代码和文档不足时,开发人员转向他们的专家网络。众所周知,缺乏对专家的认识,打断错误的人,以及专家不可用是有效协作的障碍。本文提出了DRIVER平台,这是一个框架用户共享知识的协作学习环境。它在wiki上提供文档,在wiki上可以捕获、共享、评级和推荐学习者社区的学习路径,从而利用框架用户社区的集体知识。该工具可从http://bit.ly/driverTool获取。
{"title":"DRIVER -- A Platform for Collaborative Framework Understanding","authors":"Nuno H. Flores, Ademar Aguiar","doi":"10.1109/ASE.2015.105","DOIUrl":"https://doi.org/10.1109/ASE.2015.105","url":null,"abstract":"Application frameworks are a powerful technique for large-scale reuse but often very hard to learn from scratch. Although good documentation helps on reducing the learning curve, it is often found lacking, and costly, as it needs to attend different audiences with disparate learning needs. When code and documentation prove insufficient, developers turn to their network of experts. The lack of awareness about the experts, interrupting the wrong people, and experts unavailability are well known hindrances to effective collaboration. This paper presents the DRIVER platform, a collaborative learning environment for framework users to share their knowledge. It provides the documentation on a wiki, where the learning paths of the community of learners can be captured, shared, rated, and recommended, thus tapping into the collective knowledge of the community of framework users. The tool can be obtained at http://bit.ly/driverTool.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"24 1","pages":"783-788"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74039343","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
JaConTeBe: A Benchmark Suite of Real-World Java Concurrency Bugs (T) JaConTeBe: Java并发性bug的基准测试套件(T)
Ziyi Lin, D. Marinov, Hao Zhong, Yuting Chen, Jianjun Zhao
Researchers have proposed various approaches to detect concurrency bugs and improve multi-threaded programs, but performing evaluations of the effectiveness of these approaches still remains a substantial challenge. We survey the existing evaluations and find out that they often use code or bugs not representative of real world. To improve representativeness, we have prepared JaConTeBe, a benchmark suite of 47 confirmed concurrency bugs from 8 popular open-source projects, supplemented with test cases for reproducing buggy behaviors. Running three approaches on JaConTeBe shows that our benchmark suite confirms some limitations of the three approaches. We submitted JaConTeBe to the SIR repository (a software-artifact repository for rigorous controlled experiments), and it was included as a part of SIR.
研究人员已经提出了各种方法来检测并发错误和改进多线程程序,但是对这些方法的有效性进行评估仍然是一个重大挑战。我们调查了现有的评估,发现它们经常使用不代表现实世界的代码或bug。为了提高代表性,我们准备了JaConTeBe,这是一个基准测试套件,包含来自8个流行开源项目的47个已确认的并发错误,并补充了用于重现错误行为的测试用例。在JaConTeBe上运行三种方法表明,我们的基准测试套件证实了这三种方法的一些局限性。我们将JaConTeBe提交到SIR存储库(用于严格控制实验的软件构件存储库),并且它作为SIR的一部分被包括在内。
{"title":"JaConTeBe: A Benchmark Suite of Real-World Java Concurrency Bugs (T)","authors":"Ziyi Lin, D. Marinov, Hao Zhong, Yuting Chen, Jianjun Zhao","doi":"10.1109/ASE.2015.87","DOIUrl":"https://doi.org/10.1109/ASE.2015.87","url":null,"abstract":"Researchers have proposed various approaches to detect concurrency bugs and improve multi-threaded programs, but performing evaluations of the effectiveness of these approaches still remains a substantial challenge. We survey the existing evaluations and find out that they often use code or bugs not representative of real world. To improve representativeness, we have prepared JaConTeBe, a benchmark suite of 47 confirmed concurrency bugs from 8 popular open-source projects, supplemented with test cases for reproducing buggy behaviors. Running three approaches on JaConTeBe shows that our benchmark suite confirms some limitations of the three approaches. We submitted JaConTeBe to the SIR repository (a software-artifact repository for rigorous controlled experiments), and it was included as a part of SIR.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"15 1","pages":"178-189"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75285261","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
Cost-Efficient Sampling for Performance Prediction of Configurable Systems (T) 可配置系统性能预测的成本效益抽样(T)
Atrisha Sarkar, Jianmei Guo, Norbert Siegmund, S. Apel, K. Czarnecki
A key challenge of the development and maintenanceof configurable systems is to predict the performance ofindividual system variants based on the features selected. It isusually infeasible to measure the performance of all possible variants, due to feature combinatorics. Previous approaches predictperformance based on small samples of measured variants, butit is still open how to dynamically determine an ideal samplethat balances prediction accuracy and measurement effort. Inthis paper, we adapt two widely-used sampling strategies forperformance prediction to the domain of configurable systemsand evaluate them in terms of sampling cost, which considersprediction accuracy and measurement effort simultaneously. Togenerate an initial sample, we introduce a new heuristic based onfeature frequencies and compare it to a traditional method basedon t-way feature coverage. We conduct experiments on six realworldsystems and provide guidelines for stakeholders to predictperformance by sampling.
可配置系统的开发和维护的一个关键挑战是基于所选择的特征来预测单个系统变体的性能。由于特征组合,衡量所有可能变体的性能通常是不可行的。以前的方法是基于测量变量的小样本来预测性能,但是如何动态地确定一个平衡预测精度和测量工作的理想样本仍然是开放的。本文将两种常用的性能预测采样策略应用于可配置系统领域,同时考虑预测精度和测量工作量,并从采样成本的角度对其进行评价。为了生成初始样本,我们引入了一种新的基于特征频率的启发式方法,并将其与基于t-way特征覆盖的传统方法进行了比较。我们在六个现实世界的系统上进行了实验,并为利益相关者提供了通过抽样预测性能的指导方针。
{"title":"Cost-Efficient Sampling for Performance Prediction of Configurable Systems (T)","authors":"Atrisha Sarkar, Jianmei Guo, Norbert Siegmund, S. Apel, K. Czarnecki","doi":"10.1109/ASE.2015.45","DOIUrl":"https://doi.org/10.1109/ASE.2015.45","url":null,"abstract":"A key challenge of the development and maintenanceof configurable systems is to predict the performance ofindividual system variants based on the features selected. It isusually infeasible to measure the performance of all possible variants, due to feature combinatorics. Previous approaches predictperformance based on small samples of measured variants, butit is still open how to dynamically determine an ideal samplethat balances prediction accuracy and measurement effort. Inthis paper, we adapt two widely-used sampling strategies forperformance prediction to the domain of configurable systemsand evaluate them in terms of sampling cost, which considersprediction accuracy and measurement effort simultaneously. Togenerate an initial sample, we introduce a new heuristic based onfeature frequencies and compare it to a traditional method basedon t-way feature coverage. We conduct experiments on six realworldsystems and provide guidelines for stakeholders to predictperformance by sampling.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"15 1","pages":"342-352"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72712270","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}
引用次数: 145
Synergizing Specification Miners through Model Fissions and Fusions (T) 通过模型裂变和融合协同规范矿工(T)
Tien-Duy B. Le, X. Le, D. Lo, Ivan Beschastnikh
Software systems are often developed and released without formal specifications. For those systems that are formally specified, developers have to continuously maintain and update the specifications or have them fall out of date. To deal with the absence of formal specifications, researchers have proposed techniques to infer the missing specifications of an implementation in a variety of forms, such as finite state automaton (FSA). Despite the progress in this area, the efficacy of the proposed specification miners needs to improve if these miners are to be adopted. We propose SpecForge, a new specification mining approach that synergizes many existing specification miners. SpecForge decomposes FSAs that are inferred by existing miners into simple constraints, through a process we refer to as model fission. It then filters the outlier constraints and fuses the constraints back together into a single FSA (i.e., model fusion). We have evaluated SpecForge on execution traces of 10 programs, which includes 5 programs from DaCapo benchmark, to infer behavioral models of 13 library classes. Our results show that SpecForge achieves an average precision, recall and F-measure of 90.57%, 54.58%, and 64.21% respectively. SpecForge outperforms the best performing baseline by 13.75% in terms of F-measure.
软件系统的开发和发布通常没有正式的规格说明。对于那些正式指定的系统,开发人员必须不断地维护和更新规范,否则它们就会过时。为了解决缺乏正式规范的问题,研究人员提出了以各种形式推断实现的缺失规范的技术,例如有限状态自动机(FSA)。尽管在这一领域取得了进展,但如果要采用这些矿工,建议的规范矿工的有效性需要提高。我们提出SpecForge,这是一种新的规范挖掘方法,可以协同许多现有的规范挖掘器。SpecForge将现有矿工推断的fsa分解为简单的约束,我们将其称为模型裂变过程。然后,它过滤异常约束并将约束融合回单个FSA(即,模型融合)。我们在10个程序的执行轨迹上对SpecForge进行了评估,其中包括来自DaCapo基准测试的5个程序,以推断13个库类的行为模型。结果表明,SpecForge的平均精密度、召回率和F-measure分别为90.57%、54.58%和64.21%。就F-measure而言,SpecForge的性能比最佳基准高出13.75%。
{"title":"Synergizing Specification Miners through Model Fissions and Fusions (T)","authors":"Tien-Duy B. Le, X. Le, D. Lo, Ivan Beschastnikh","doi":"10.1109/ASE.2015.83","DOIUrl":"https://doi.org/10.1109/ASE.2015.83","url":null,"abstract":"Software systems are often developed and released without formal specifications. For those systems that are formally specified, developers have to continuously maintain and update the specifications or have them fall out of date. To deal with the absence of formal specifications, researchers have proposed techniques to infer the missing specifications of an implementation in a variety of forms, such as finite state automaton (FSA). Despite the progress in this area, the efficacy of the proposed specification miners needs to improve if these miners are to be adopted. We propose SpecForge, a new specification mining approach that synergizes many existing specification miners. SpecForge decomposes FSAs that are inferred by existing miners into simple constraints, through a process we refer to as model fission. It then filters the outlier constraints and fuses the constraints back together into a single FSA (i.e., model fusion). We have evaluated SpecForge on execution traces of 10 programs, which includes 5 programs from DaCapo benchmark, to infer behavioral models of 13 library classes. Our results show that SpecForge achieves an average precision, recall and F-measure of 90.57%, 54.58%, and 64.21% respectively. SpecForge outperforms the best performing baseline by 13.75% in terms of F-measure.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"92 1","pages":"115-125"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76983017","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}
引用次数: 47
Refactorings for Android Asynchronous Programming Android异步编程的重构
Yu Lin, Danny Dig
Running compute-intensive or blocking I/O operationsin the UI event thread of smartphone apps can severelydegrade responsiveness. Despite the fact that Android provides several async constructs that developers can use, developers can still miss opportunities to encapsulate long-running operations in async constructs. On the other hand, they can use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by retrofitting asynchrony to sequential code and transforming async code to use the appropriate constructs. This demo presents two refactoring tools for Android apps: (i) ASYNCHRONIZER, a refactoring tool that enables developers to extract long-running operations into Android AsyncTask. (ii) ASYNCDROID, a refactoring tool which enables developers to transform existing improperly-used AsyncTask into Android IntentService.
在智能手机应用程序的UI事件线程中运行计算密集型或阻塞I/O操作会严重降低响应性。尽管Android提供了几个开发人员可以使用的异步构造,但开发人员仍然可能错过在异步构造中封装长时间运行的操作的机会。另一方面,它们可能使用不适当的异步结构,从而导致内存泄漏、结果丢失和能量浪费。幸运的是,重构工具可以通过将异步修改为顺序代码并将异步代码转换为使用适当的结构来消除这些问题。这个演示展示了两个用于Android应用程序的重构工具:(i) ASYNCHRONIZER,一个重构工具,它使开发人员能够将长时间运行的操作提取到Android AsyncTask中。(ii) ASYNCDROID,一个重构工具,使开发人员能够将现有的不正确使用的AsyncTask转换为Android IntentService。
{"title":"Refactorings for Android Asynchronous Programming","authors":"Yu Lin, Danny Dig","doi":"10.1109/ASE.2015.100","DOIUrl":"https://doi.org/10.1109/ASE.2015.100","url":null,"abstract":"Running compute-intensive or blocking I/O operationsin the UI event thread of smartphone apps can severelydegrade responsiveness. Despite the fact that Android provides several async constructs that developers can use, developers can still miss opportunities to encapsulate long-running operations in async constructs. On the other hand, they can use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by retrofitting asynchrony to sequential code and transforming async code to use the appropriate constructs. This demo presents two refactoring tools for Android apps: (i) ASYNCHRONIZER, a refactoring tool that enables developers to extract long-running operations into Android AsyncTask. (ii) ASYNCDROID, a refactoring tool which enables developers to transform existing improperly-used AsyncTask into Android IntentService.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"234 1","pages":"836-841"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72846332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Dynamically Testing GUIs Using Ant Colony Optimization (T) 使用蚁群优化(T)动态测试gui
Santo Carino, J. Andrews
In this paper we introduce a dynamic GUI test generator that incorporates ant colony optimization. We created two ant systems for generating tests. Our first ant system implements the normal ant colony optimization algorithm in order to traverse the GUI and find good event sequences. Our second ant system, called AntQ, implements the antq algorithm that incorporates Q-Learning, which is a behavioral reinforcement learning technique. Both systems use the same fitness function in order to determine good paths through the GUI. Our fitness function looks at the amount of change in the GUI state that each event causes. Events that have a larger impact on the GUI state will be favored in future tests. We compared our two ant systems to random selection. We ran experiments on six subject applications and report on the code coverage and fault finding abilities of all three algorithms.
本文介绍了一种基于蚁群优化的动态GUI测试生成器。我们创建了两个用于生成测试的ant系统。我们的第一个蚂蚁系统实现了普通的蚁群优化算法,以遍历GUI并找到良好的事件序列。我们的第二个蚂蚁系统称为AntQ,它实现了包含q学习的AntQ算法,这是一种行为强化学习技术。两个系统都使用相同的适应度函数来确定通过GUI的最佳路径。我们的适应度函数查看每个事件引起的GUI状态的变化量。对GUI状态有较大影响的事件将在以后的测试中得到青睐。我们将这两种蚂蚁系统比作随机选择。我们对六个主题应用程序进行了实验,并报告了所有三种算法的代码覆盖率和故障查找能力。
{"title":"Dynamically Testing GUIs Using Ant Colony Optimization (T)","authors":"Santo Carino, J. Andrews","doi":"10.1109/ASE.2015.70","DOIUrl":"https://doi.org/10.1109/ASE.2015.70","url":null,"abstract":"In this paper we introduce a dynamic GUI test generator that incorporates ant colony optimization. We created two ant systems for generating tests. Our first ant system implements the normal ant colony optimization algorithm in order to traverse the GUI and find good event sequences. Our second ant system, called AntQ, implements the antq algorithm that incorporates Q-Learning, which is a behavioral reinforcement learning technique. Both systems use the same fitness function in order to determine good paths through the GUI. Our fitness function looks at the amount of change in the GUI state that each event causes. Events that have a larger impact on the GUI state will be favored in future tests. We compared our two ant systems to random selection. We ran experiments on six subject applications and report on the code coverage and fault finding abilities of all three algorithms.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"333 1","pages":"138-148"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76592998","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}
引用次数: 23
Model-Based Testing of Stateful APIs with Modbat Modbat中有状态api基于模型的测试
Cyrille Artho, M. Seidl, Quentin Gros, Eun-Hye Choi, Takashi Kitamura, A. Mori, R. Ramler, Yoriyuki Yamagata
Modbat makes testing easier by providing a user-friendly modeling language to describe the behavior of systems, from such a model, test cases are generated and executed. Modbat's domain-specific language is based on Scala, its features include probabilistic and non-deterministic transitions, component models with inheritance, and exceptions. We demonstrate the versatility of Modbat by finding a confirmed defect in the currently latest version of Java, and by testing SAT solvers.
Modbat通过提供一种用户友好的建模语言来描述系统的行为,从而使测试变得更容易,从这样的模型中,生成和执行测试用例。Modbat的领域特定语言是基于Scala的,它的特性包括概率和非确定性转换、带有继承的组件模型和异常。我们通过在当前最新版本的Java中找到一个已确认的缺陷,并通过测试SAT求解器来展示Modbat的多功能性。
{"title":"Model-Based Testing of Stateful APIs with Modbat","authors":"Cyrille Artho, M. Seidl, Quentin Gros, Eun-Hye Choi, Takashi Kitamura, A. Mori, R. Ramler, Yoriyuki Yamagata","doi":"10.1109/ASE.2015.95","DOIUrl":"https://doi.org/10.1109/ASE.2015.95","url":null,"abstract":"Modbat makes testing easier by providing a user-friendly modeling language to describe the behavior of systems, from such a model, test cases are generated and executed. Modbat's domain-specific language is based on Scala, its features include probabilistic and non-deterministic transitions, component models with inheritance, and exceptions. We demonstrate the versatility of Modbat by finding a confirmed defect in the currently latest version of Java, and by testing SAT solvers.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"858-863"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81768358","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
CodeExchange: Supporting Reformulation of Internet-Scale Code Queries in Context (T) CodeExchange:支持上下文中internet规模代码查询的重构(T)
Lee Martie, Thomas D. Latoza, A. Hoek
Programming today regularly involves searching for source code online, whether through a general search engine such as Google or a specialized code search engine such as SearchCode, Ohloh, or GitHub. Searching typically is an iterative process, with develop-ers adjusting the keywords they use based on the results of the previous query. However, searching in this manner is not ideal, because just using keywords places limits on what developers can express as well as the overall interaction that is required. Based on the observation that the results from one query create a con-text in which a next is formulated, we present CodeExchange, a new code search engine that we developed to explicitly leverage this context to support fluid, expressive reformulation of queries. We motivate the need for CodeExchange, highlight its key design decisions and overall architecture, and evaluate its use in both a field deployment and a laboratory study.
今天的编程通常涉及在线搜索源代码,无论是通过通用搜索引擎(如Google),还是通过专门的代码搜索引擎(如SearchCode、Ohloh或GitHub)。搜索通常是一个迭代过程,开发人员根据前一个查询的结果调整他们使用的关键字。然而,以这种方式进行搜索并不理想,因为仅使用关键字会限制开发人员可以表达的内容以及所需的整体交互。我们观察到一个查询的结果会创建一个上下文,而下一个查询将在其中表述,因此我们提出了CodeExchange,这是我们开发的一个新的代码搜索引擎,它可以显式地利用这个上下文来支持流畅、富有表现力的查询重新表述。我们激发了对CodeExchange的需求,强调了它的关键设计决策和整体架构,并评估了它在现场部署和实验室研究中的使用。
{"title":"CodeExchange: Supporting Reformulation of Internet-Scale Code Queries in Context (T)","authors":"Lee Martie, Thomas D. Latoza, A. Hoek","doi":"10.1109/ASE.2015.51","DOIUrl":"https://doi.org/10.1109/ASE.2015.51","url":null,"abstract":"Programming today regularly involves searching for source code online, whether through a general search engine such as Google or a specialized code search engine such as SearchCode, Ohloh, or GitHub. Searching typically is an iterative process, with develop-ers adjusting the keywords they use based on the results of the previous query. However, searching in this manner is not ideal, because just using keywords places limits on what developers can express as well as the overall interaction that is required. Based on the observation that the results from one query create a con-text in which a next is formulated, we present CodeExchange, a new code search engine that we developed to explicitly leverage this context to support fluid, expressive reformulation of queries. We motivate the need for CodeExchange, highlight its key design decisions and overall architecture, and evaluate its use in both a field deployment and a laboratory study.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"15 1","pages":"24-35"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78793063","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 30
Array Shadow State Compression for Precise Dynamic Race Detection (T) 精确动态种族检测的阵列阴影状态压缩(T)
James R. Wilcox, P. Finch, C. Flanagan, Stephen N. Freund
Precise dynamic race detectors incur significant time and space overheads, particularly for array-intensive programs, due to the need to store and manipulate analysis (or shadow) state for every element of every array. This paper presents SlimState, a precise dynamic race detector that uses an adaptive, online algorithm to optimize array shadow state representations. SlimState is based on the insight that common array access patterns lead to analogous patterns in array shadow state, enabling optimized, space efficient representations of array shadow state with no loss in precision. We have implemented SlimState for Java. Experiments on a variety of benchmarks show that array shadow compression reduces the space and time overhead of race detection by 27% and 9%, respectively. It is particularly effective for array-intensive programs, reducing space and time overheads by 35% and 17%, respectively, on these programs.
精确的动态竞争检测器会导致大量的时间和空间开销,特别是对于数组密集型程序,因为需要存储和操作每个数组的每个元素的分析(或阴影)状态。本文介绍了一种精确的动态竞赛检测器SlimState,它使用自适应在线算法来优化阵列阴影状态表示。SlimState基于这样一种认识,即常见的数组访问模式会导致数组阴影状态中的类似模式,从而实现优化的、空间高效的数组阴影状态表示,而不会损失精度。我们已经为Java实现了SlimState。在各种基准测试上的实验表明,阵列阴影压缩使竞赛检测的空间和时间开销分别减少了27%和9%。它对数组密集型程序特别有效,在这些程序上分别减少了35%和17%的空间和时间开销。
{"title":"Array Shadow State Compression for Precise Dynamic Race Detection (T)","authors":"James R. Wilcox, P. Finch, C. Flanagan, Stephen N. Freund","doi":"10.1109/ASE.2015.19","DOIUrl":"https://doi.org/10.1109/ASE.2015.19","url":null,"abstract":"Precise dynamic race detectors incur significant time and space overheads, particularly for array-intensive programs, due to the need to store and manipulate analysis (or shadow) state for every element of every array. This paper presents SlimState, a precise dynamic race detector that uses an adaptive, online algorithm to optimize array shadow state representations. SlimState is based on the insight that common array access patterns lead to analogous patterns in array shadow state, enabling optimized, space efficient representations of array shadow state with no loss in precision. We have implemented SlimState for Java. Experiments on a variety of benchmarks show that array shadow compression reduces the space and time overhead of race detection by 27% and 9%, respectively. It is particularly effective for array-intensive programs, reducing space and time overheads by 35% and 17%, respectively, on these programs.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"51 1","pages":"155-165"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89205434","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
Executing Model-Based Tests on Platform-Specific Implementations (T) 在平台特定实现(T)上执行基于模型的测试
Dongjiang You, Sanjai Rayadurgam, M. Heimdahl, John Komp, Baekgyu Kim, O. Sokolsky
Model-based testing of embedded real-time systems is challenging because platform-specific details are often abstracted away to make the models amenable to various analyses. Testing an implementation to expose non-conformance to such a model requires reconciling differences arising from these abstractions. Due to stateful behavior, naive comparisons of model and system behaviors often fail causing numerous false positives. Previously proposed approaches address this by being reactively permissive: passing criteria are relaxed to reduce false positives, but may increase false negatives, which is particularly bothersome for safety-critical systems. To address this concern, we propose an automated approach that is proactively adaptive: test stimuli and system responses are suitably modified taking into account platform-specific aspects so that the modified test when executed on the platform-specific implementation exercises the intended scenario captured in the original model-based test. We show that the new framework eliminates false negatives while keeping the number of false positives low for a variety of platform-specific configurations.
嵌入式实时系统的基于模型的测试具有挑战性,因为平台特定的细节通常被抽象出来,以使模型适合各种分析。测试实现以暴露不符合这样的模型需要协调这些抽象产生的差异。由于有状态行为,模型和系统行为的天真比较经常失败,导致大量误报。先前提出的方法通过反应性宽松来解决这个问题:通过标准放宽以减少误报,但可能增加误报,这对于安全关键系统来说尤其麻烦。为了解决这个问题,我们提出了一种主动自适应的自动化方法:考虑到特定于平台的方面,适当地修改测试刺激和系统响应,以便在特定于平台的实现上执行修改后的测试时,可以练习在原始基于模型的测试中捕获的预期场景。我们展示了新框架消除了误报,同时保持了各种平台特定配置的低误报数量。
{"title":"Executing Model-Based Tests on Platform-Specific Implementations (T)","authors":"Dongjiang You, Sanjai Rayadurgam, M. Heimdahl, John Komp, Baekgyu Kim, O. Sokolsky","doi":"10.1109/ASE.2015.64","DOIUrl":"https://doi.org/10.1109/ASE.2015.64","url":null,"abstract":"Model-based testing of embedded real-time systems is challenging because platform-specific details are often abstracted away to make the models amenable to various analyses. Testing an implementation to expose non-conformance to such a model requires reconciling differences arising from these abstractions. Due to stateful behavior, naive comparisons of model and system behaviors often fail causing numerous false positives. Previously proposed approaches address this by being reactively permissive: passing criteria are relaxed to reduce false positives, but may increase false negatives, which is particularly bothersome for safety-critical systems. To address this concern, we propose an automated approach that is proactively adaptive: test stimuli and system responses are suitably modified taking into account platform-specific aspects so that the modified test when executed on the platform-specific implementation exercises the intended scenario captured in the original model-based test. We show that the new framework eliminates false negatives while keeping the number of false positives low for a variety of platform-specific configurations.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"34 2 1","pages":"418-428"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83441576","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
2015 30th 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