首页 > 最新文献

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

英文 中文
Ensemble Methods for App Review Classification: An Approach for Software Evolution (N) 应用程序评论分类的集成方法:一种软件进化方法(N)
Emitzá Guzmán, Muhammad El-Haliby, B. Bruegge
App marketplaces are distribution platforms for mobile applications that serve as a communication channel between users and developers. These platforms allow users to write reviews about downloaded apps. Recent studies found that such reviews include information that is useful for software evolution. However, the manual analysis of a large amount of user reviews is a tedious and time consuming task. In this work we propose a taxonomy for classifying app reviews into categories relevant for software evolution. Additionally, we describe an experiment that investigates the performance of individual machine learning algorithms and its ensembles for automatically classifying the app reviews. We evaluated the performance of the machine learning techniques on 4550 reviews that were systematically labeled using content analysis methods. Overall, the ensembles had a better performance than the individual classifiers, with an average precision of 0.74 and 0.59 recall.
应用程序市场是移动应用程序的分销平台,是用户和开发者之间的沟通渠道。这些平台允许用户对下载的应用撰写评论。最近的研究发现这样的评论包含了对软件发展有用的信息。然而,手工分析大量的用户评论是一项繁琐且耗时的任务。在这项工作中,我们提出了一种分类法,用于将应用程序评论分类为与软件进化相关的类别。此外,我们描述了一个实验,该实验调查了单个机器学习算法及其集成的性能,用于自动分类应用程序评论。我们评估了机器学习技术在4550条评论上的性能,这些评论使用内容分析方法进行了系统标记。总体而言,集合比单个分类器有更好的表现,平均精度为0.74,召回率为0.59。
{"title":"Ensemble Methods for App Review Classification: An Approach for Software Evolution (N)","authors":"Emitzá Guzmán, Muhammad El-Haliby, B. Bruegge","doi":"10.1109/ASE.2015.88","DOIUrl":"https://doi.org/10.1109/ASE.2015.88","url":null,"abstract":"App marketplaces are distribution platforms for mobile applications that serve as a communication channel between users and developers. These platforms allow users to write reviews about downloaded apps. Recent studies found that such reviews include information that is useful for software evolution. However, the manual analysis of a large amount of user reviews is a tedious and time consuming task. In this work we propose a taxonomy for classifying app reviews into categories relevant for software evolution. Additionally, we describe an experiment that investigates the performance of individual machine learning algorithms and its ensembles for automatically classifying the app reviews. We evaluated the performance of the machine learning techniques on 4550 reviews that were systematically labeled using content analysis methods. Overall, the ensembles had a better performance than the individual classifiers, with an average precision of 0.74 and 0.59 recall.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"16 1","pages":"771-776"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81033102","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}
引用次数: 125
Learning to Rank for Question-Oriented Software Text Retrieval (T) 面向问题的软件文本检索排序学习(T)
Yanzhen Zou, Ting-Wei Ye, Yangyang Lu, J. Mylopoulos, Lu Zhang
Question-oriented text retrieval, aka natural language-based text retrieval, has been widely used in software engineering. Earlier work has concluded that questions with the same keywords but different interrogatives (such as how, what) should result in different answers. But what is the difference? How to identify the right answers to a question? In this paper, we propose to investigate the "answer style" of software questions with different interrogatives. Towards this end, we build classifiers in a software text repository and propose a re-ranking approach to refine search results. The classifiers are trained by over 16,000 answers from the StackOverflow forum. Each answer is labeled accurately by its question's explicit or implicit interrogatives. We have evaluated the performance of our classifiers and the refinement of our re-ranking approach in software text retrieval. Our approach results in 13.1% and 12.6% respectively improvement with respect to text retrieval criteria nDCG@1 and nDCG@10 compared to the baseline. We also apply our approach to FAQs of 7 open source projects and show 13.2% improvement with respect to nDCG@1. The results of our experiments suggest that our approach could find answers to FAQs more precisely.
面向问题的文本检索,又称基于自然语言的文本检索,在软件工程中得到了广泛的应用。早期的研究已经得出结论,具有相同关键词但不同疑问句(如how, what)的问题会导致不同的答案。但是有什么区别呢?如何识别问题的正确答案?在本文中,我们建议研究不同疑问句的软件问题的“回答风格”。为此,我们在软件文本存储库中构建分类器,并提出了一种重新排序的方法来优化搜索结果。分类器是通过来自StackOverflow论坛的16,000多个答案进行训练的。每个答案都被其问题的显性或隐性疑问句准确地标记出来。我们已经评估了我们的分类器的性能和我们在软件文本检索中重新排序方法的改进。与基线相比,我们的方法在文本检索标准nDCG@1和nDCG@10方面分别提高了13.1%和12.6%。我们还将我们的方法应用到7个开源项目的faq中,并显示出相对于nDCG@1的13.2%的改进。我们的实验结果表明,我们的方法可以更精确地找到常见问题的答案。
{"title":"Learning to Rank for Question-Oriented Software Text Retrieval (T)","authors":"Yanzhen Zou, Ting-Wei Ye, Yangyang Lu, J. Mylopoulos, Lu Zhang","doi":"10.1109/ASE.2015.24","DOIUrl":"https://doi.org/10.1109/ASE.2015.24","url":null,"abstract":"Question-oriented text retrieval, aka natural language-based text retrieval, has been widely used in software engineering. Earlier work has concluded that questions with the same keywords but different interrogatives (such as how, what) should result in different answers. But what is the difference? How to identify the right answers to a question? In this paper, we propose to investigate the \"answer style\" of software questions with different interrogatives. Towards this end, we build classifiers in a software text repository and propose a re-ranking approach to refine search results. The classifiers are trained by over 16,000 answers from the StackOverflow forum. Each answer is labeled accurately by its question's explicit or implicit interrogatives. We have evaluated the performance of our classifiers and the refinement of our re-ranking approach in software text retrieval. Our approach results in 13.1% and 12.6% respectively improvement with respect to text retrieval criteria nDCG@1 and nDCG@10 compared to the baseline. We also apply our approach to FAQs of 7 open source projects and show 13.2% improvement with respect to nDCG@1. The results of our experiments suggest that our approach could find answers to FAQs more precisely.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"1-11"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91131012","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
SpyREST: Automated RESTful API Documentation Using an HTTP Proxy Server (N) SpyREST:使用HTTP代理服务器的自动化RESTful API文档(N)
S. Sohan, C. Anslow, F. Maurer
RESTful API documentation is expensive to produce and maintain due to the lack of reusable tools and automated solutions. Most RESTful APIs are documented manually and the API developers are responsible for keeping the documentation up to date as the API evolves making the process both costly and error-prone. In this paper we introduce a novel technique using an HTTP proxy server that can be used to automatically generate RESTful API documentation and demonstrate SpyREST, an example implementation of the proposed technique. SpyREST uses a proxy to intercept example API calls and intelligently produces API documentation for RESTful Web APIs by processing the request and response data. Using the proposed HTTP proxy server based technique, RESTful API developers can significantly reduce the cost of producing and maintaining API documentation by replacing a large manual process with an automated process.
由于缺乏可重用工具和自动化解决方案,RESTful API文档的生成和维护成本很高。大多数RESTful API都是手动编制文档的,API开发人员负责在API发展时保持文档的更新,这使得该过程既昂贵又容易出错。在本文中,我们介绍了一种使用HTTP代理服务器的新技术,该服务器可用于自动生成RESTful API文档并演示SpyREST,这是所提出技术的一个示例实现。SpyREST使用代理来拦截示例API调用,并通过处理请求和响应数据智能地为RESTful Web API生成API文档。使用建议的基于HTTP代理服务器的技术,RESTful API开发人员可以通过用自动化流程取代大型手动流程来显著降低生成和维护API文档的成本。
{"title":"SpyREST: Automated RESTful API Documentation Using an HTTP Proxy Server (N)","authors":"S. Sohan, C. Anslow, F. Maurer","doi":"10.1109/ASE.2015.52","DOIUrl":"https://doi.org/10.1109/ASE.2015.52","url":null,"abstract":"RESTful API documentation is expensive to produce and maintain due to the lack of reusable tools and automated solutions. Most RESTful APIs are documented manually and the API developers are responsible for keeping the documentation up to date as the API evolves making the process both costly and error-prone. In this paper we introduce a novel technique using an HTTP proxy server that can be used to automatically generate RESTful API documentation and demonstrate SpyREST, an example implementation of the proposed technique. SpyREST uses a proxy to intercept example API calls and intelligently produces API documentation for RESTful Web APIs by processing the request and response data. Using the proposed HTTP proxy server based technique, RESTful API developers can significantly reduce the cost of producing and maintaining API documentation by replacing a large manual process with an automated process.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"193 1","pages":"271-276"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78324464","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}
引用次数: 31
CodeHow: Effective Code Search Based on API Understanding and Extended Boolean Model (E) CodeHow:基于API理解和扩展布尔模型的有效代码搜索(E)
Fei Lv, Hongyu Zhang, Jian-Guang Lou, Shaowei Wang, D. Zhang, Jianjun Zhao
Over the years of software development, a vast amount of source code has been accumulated. Many code search tools were proposed to help programmers reuse previously-written code by performing free-text queries over a large-scale codebase. Our experience shows that the accuracy of these code search tools are often unsatisfactory. One major reason is that existing tools lack of query understanding ability. In this paper, we propose CodeHow, a code search technique that can recognize potential APIs a user query refers to. Having understood the potentially relevant APIs, CodeHow expands the query with the APIs and performs code retrieval by applying the Extended Boolean model, which considers the impact of both text similarity and potential APIs on code search. We deploy the backend of CodeHow as a Microsoft Azure service and implement the front-end as a Visual Studio extension. We evaluate CodeHow on a large-scale codebase consisting of 26K C# projects downloaded from GitHub. The experimental results show that when the top 1 results are inspected, CodeHow achieves a precision score of 0.794 (i.e., 79.4% of the first returned results are relevant code snippets). The results also show that CodeHow outperforms conventional code search tools. Furthermore, we perform a controlled experiment and a survey of Microsoft developers. The results confirm the usefulness and effectiveness of CodeHow in programming practices.
经过多年的软件开发,已经积累了大量的源代码。许多代码搜索工具被提出,通过在大规模代码库上执行自由文本查询来帮助程序员重用以前编写的代码。我们的经验表明,这些代码搜索工具的准确性往往不令人满意。一个主要原因是现有工具缺乏查询理解能力。在本文中,我们提出了CodeHow,这是一种代码搜索技术,可以识别用户查询所引用的潜在api。在理解了潜在的相关api之后,CodeHow使用api扩展查询,并通过应用Extended Boolean模型执行代码检索,该模型考虑了文本相似性和潜在api对代码搜索的影响。我们将CodeHow的后端部署为Microsoft Azure服务,并将前端实现为Visual Studio扩展。我们在一个由从GitHub下载的26K c#项目组成的大规模代码库上评估CodeHow。实验结果表明,当检查前1个结果时,CodeHow达到了0.794的精度分数(即79.4%的第一个返回结果是相关的代码片段)。结果还表明,CodeHow优于传统的代码搜索工具。此外,我们进行了一个控制实验和微软开发人员的调查。结果证实了CodeHow在编程实践中的有用性和有效性。
{"title":"CodeHow: Effective Code Search Based on API Understanding and Extended Boolean Model (E)","authors":"Fei Lv, Hongyu Zhang, Jian-Guang Lou, Shaowei Wang, D. Zhang, Jianjun Zhao","doi":"10.1109/ASE.2015.42","DOIUrl":"https://doi.org/10.1109/ASE.2015.42","url":null,"abstract":"Over the years of software development, a vast amount of source code has been accumulated. Many code search tools were proposed to help programmers reuse previously-written code by performing free-text queries over a large-scale codebase. Our experience shows that the accuracy of these code search tools are often unsatisfactory. One major reason is that existing tools lack of query understanding ability. In this paper, we propose CodeHow, a code search technique that can recognize potential APIs a user query refers to. Having understood the potentially relevant APIs, CodeHow expands the query with the APIs and performs code retrieval by applying the Extended Boolean model, which considers the impact of both text similarity and potential APIs on code search. We deploy the backend of CodeHow as a Microsoft Azure service and implement the front-end as a Visual Studio extension. We evaluate CodeHow on a large-scale codebase consisting of 26K C# projects downloaded from GitHub. The experimental results show that when the top 1 results are inspected, CodeHow achieves a precision score of 0.794 (i.e., 79.4% of the first returned results are relevant code snippets). The results also show that CodeHow outperforms conventional code search tools. Furthermore, we perform a controlled experiment and a survey of Microsoft developers. The results confirm the usefulness and effectiveness of CodeHow in programming practices.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"19 1","pages":"260-270"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78480236","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}
引用次数: 218
Learning to Generate Pseudo-Code from Source Code Using Statistical Machine Translation (T) 学习用统计机器翻译从源代码生成伪代码(T)
Yusuke Oda, Hiroyuki Fudaba, Graham Neubig, Hideaki Hata, S. Sakti, T. Toda, Satoshi Nakamura
Pseudo-code written in natural language can aid the comprehension of source code in unfamiliar programming languages. However, the great majority of source code has no corresponding pseudo-code, because pseudo-code is redundant and laborious to create. If pseudo-code could be generated automatically and instantly from given source code, we could allow for on-demand production of pseudo-code without human effort. In this paper, we propose a method to automatically generate pseudo-code from source code, specifically adopting the statistical machine translation (SMT) framework. SMT, which was originally designed to translate between two natural languages, allows us to automatically learn the relationship between source code/pseudo-code pairs, making it possible to create a pseudo-code generator with less human effort. In experiments, we generated English or Japanese pseudo-code from Python statements using SMT, and find that the generated pseudo-code is largely accurate, and aids code understanding.
用自然语言编写的伪代码可以帮助理解用不熟悉的编程语言编写的源代码。然而,绝大多数源代码都没有相应的伪代码,因为伪代码是冗余的,而且创建起来很费力。如果伪代码可以从给定的源代码自动地、即时地生成,我们就可以允许按需生产伪代码,而不需要人工的努力。本文提出了一种从源代码自动生成伪代码的方法,具体采用统计机器翻译(SMT)框架。SMT最初设计用于在两种自然语言之间进行翻译,它允许我们自动学习源代码/伪代码对之间的关系,从而可以用更少的人力创建伪代码生成器。在实验中,我们使用SMT从Python语句生成英语或日语伪代码,并发现生成的伪代码在很大程度上是准确的,并且有助于代码理解。
{"title":"Learning to Generate Pseudo-Code from Source Code Using Statistical Machine Translation (T)","authors":"Yusuke Oda, Hiroyuki Fudaba, Graham Neubig, Hideaki Hata, S. Sakti, T. Toda, Satoshi Nakamura","doi":"10.1109/ASE.2015.36","DOIUrl":"https://doi.org/10.1109/ASE.2015.36","url":null,"abstract":"Pseudo-code written in natural language can aid the comprehension of source code in unfamiliar programming languages. However, the great majority of source code has no corresponding pseudo-code, because pseudo-code is redundant and laborious to create. If pseudo-code could be generated automatically and instantly from given source code, we could allow for on-demand production of pseudo-code without human effort. In this paper, we propose a method to automatically generate pseudo-code from source code, specifically adopting the statistical machine translation (SMT) framework. SMT, which was originally designed to translate between two natural languages, allows us to automatically learn the relationship between source code/pseudo-code pairs, making it possible to create a pseudo-code generator with less human effort. In experiments, we generated English or Japanese pseudo-code from Python statements using SMT, and find that the generated pseudo-code is largely accurate, and aids code understanding.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"15 1","pages":"574-584"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84785127","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}
引用次数: 245
Practically Tunable Static Analysis Framework for Large-Scale JavaScript Applications (T) 面向大规模JavaScript应用的可调静态分析框架(T)
Yoonseok Ko, Hongki Lee, Julian T Dolby, Sukyoung Ryu
We present a novel approach to analyze large-scale JavaScript applications statically by tuning the analysis scalability possibly giving up its soundness. For a given sound static baseline analysis of JavaScript programs, our framework allows users to define a sound approximation of selected executions that they are interested in analyzing, and it derives a tuned static analysis that can analyze the selected executions practically. The selected executions serve as parameters of the framework by taking trade-off between the scalability and the soundness of derived analyses. We formally describe our framework in abstract interpretation, and implement two instances of the framework. We evaluate them by analyzing large-scale real-world JavaScript applications, and the evaluation results show that the framework indeed empowers users to experiment with different levels of scalability and soundness. Our implementation provides an extra level of scalability by deriving sparse versions of derived analyses, and the implementation is publicly available.
我们提出了一种通过调整分析可伸缩性来静态分析大规模JavaScript应用程序的新方法,可能会放弃其可靠性。对于给定的JavaScript程序的可靠静态基线分析,我们的框架允许用户定义他们感兴趣的所选执行的可靠近似,并且它派生出可以实际分析所选执行的经过调优的静态分析。通过在可伸缩性和派生分析的可靠性之间进行权衡,选择的执行作为框架的参数。我们以抽象解释的形式正式描述了我们的框架,并实现了框架的两个实例。我们通过分析大规模的实际JavaScript应用程序来评估它们,评估结果表明,该框架确实允许用户尝试不同级别的可伸缩性和可靠性。我们的实现通过派生派生分析的稀疏版本提供了额外级别的可伸缩性,并且实现是公开可用的。
{"title":"Practically Tunable Static Analysis Framework for Large-Scale JavaScript Applications (T)","authors":"Yoonseok Ko, Hongki Lee, Julian T Dolby, Sukyoung Ryu","doi":"10.1109/ASE.2015.28","DOIUrl":"https://doi.org/10.1109/ASE.2015.28","url":null,"abstract":"We present a novel approach to analyze large-scale JavaScript applications statically by tuning the analysis scalability possibly giving up its soundness. For a given sound static baseline analysis of JavaScript programs, our framework allows users to define a sound approximation of selected executions that they are interested in analyzing, and it derives a tuned static analysis that can analyze the selected executions practically. The selected executions serve as parameters of the framework by taking trade-off between the scalability and the soundness of derived analyses. We formally describe our framework in abstract interpretation, and implement two instances of the framework. We evaluate them by analyzing large-scale real-world JavaScript applications, and the evaluation results show that the framework indeed empowers users to experiment with different levels of scalability and soundness. Our implementation provides an extra level of scalability by deriving sparse versions of derived analyses, and the implementation is publicly available.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"54 1","pages":"541-551"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84787243","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}
引用次数: 25
ActivitySpace: A Remembrance Framework to Support Interapplication Information Needs ActivitySpace:一个支持应用间信息需求的记忆框架
Lingfeng Bao, Deheng Ye, Zhenchang Xing, Xin Xia, Xinyu Wang
Developers' daily work produces, transforms, and communicates cross-cutting information across applications, including IDEs, emails, Q&A sites, Twitter, and many others. However, these applications function independently of one another. Even though each application has their own effective information management mechanisms, cross-cutting information across separate applications creates a problem of information fragmentation, forcing developers to manually track, correlate, and re-find cross-cutting information across applications. In this paper, we present ActivitySpace, a remembrance framework that unobtrusively tracks and analyze a developer's daily work in separate applications, and provides various semantic and episodic UIs that help developers correlate and re-find cross-cutting information across applications based on information content, time and place of his/her activities. Through a user study of 8 participants, we demonstrate how ActivitySpace helps to tackle information fragmentation problem in developers' daily work.
开发人员的日常工作在应用程序之间产生、转换和通信横切信息,包括ide、电子邮件、问答网站、Twitter等。然而,这些应用程序彼此独立运行。即使每个应用程序都有自己有效的信息管理机制,跨独立应用程序的横切信息也会造成信息碎片化的问题,迫使开发人员手动跟踪、关联和重新查找跨应用程序的横切信息。在本文中,我们介绍了ActivitySpace,这是一个记忆框架,可以不显眼地跟踪和分析开发人员在单独应用程序中的日常工作,并提供各种语义和情景ui,帮助开发人员根据其活动的信息内容、时间和地点,在应用程序中关联和重新查找横切信息。通过对8名参与者的用户研究,我们展示了ActivitySpace如何帮助解决开发人员日常工作中的信息碎片化问题。
{"title":"ActivitySpace: A Remembrance Framework to Support Interapplication Information Needs","authors":"Lingfeng Bao, Deheng Ye, Zhenchang Xing, Xin Xia, Xinyu Wang","doi":"10.1109/ASE.2015.90","DOIUrl":"https://doi.org/10.1109/ASE.2015.90","url":null,"abstract":"Developers' daily work produces, transforms, and communicates cross-cutting information across applications, including IDEs, emails, Q&A sites, Twitter, and many others. However, these applications function independently of one another. Even though each application has their own effective information management mechanisms, cross-cutting information across separate applications creates a problem of information fragmentation, forcing developers to manually track, correlate, and re-find cross-cutting information across applications. In this paper, we present ActivitySpace, a remembrance framework that unobtrusively tracks and analyze a developer's daily work in separate applications, and provides various semantic and episodic UIs that help developers correlate and re-find cross-cutting information across applications based on information content, time and place of his/her activities. Through a user study of 8 participants, we demonstrate how ActivitySpace helps to tackle information fragmentation problem in developers' daily work.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"12 1","pages":"864-869"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84937146","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
Test Analysis: Searching for Faults in Tests (N) 测试分析:查找测试中的故障(N)
M. Waterloo, S. Person, Sebastian G. Elbaum
Tests are increasingly specified as programs. Expressing tests as code is advantageous in that developers are comfortable writing and running code, and tests can be automated and reused as the software evolves. Tests expressed as code, however, can also contain faults. Some test faults are similar to those found in application code, while others are more subtle, caused by incorrect implementation of testing concepts and processes. These faults may cause a test to fail when it should not, or allow program faults to go undetected. In this work we explore whether lightweight static analyses can be cost-effective in pinpointing patterns associated with faults tests. Our exploration includes a categorization and explanation of test patterns, and their application to 12 open source projects that include over 40K tests. We found that several patterns, detectable through simple and efficient static analyses of just the test code, can detect faults with a low false positive rate, while other patterns would require a more sophisticated and extensive code analysis to be useful.
测试越来越多地被指定为程序。将测试表示为代码是有利的,因为开发人员可以轻松地编写和运行代码,并且测试可以随着软件的发展而自动化和重用。然而,表示为代码的测试也可能包含错误。有些测试错误与应用程序代码中发现的错误相似,而另一些则更微妙,是由测试概念和过程的错误实现引起的。这些错误可能导致测试在不应该失败的时候失败,或者允许程序错误不被检测到。在这项工作中,我们探索轻量级静态分析在精确定位与故障测试相关的模式方面是否具有成本效益。我们的研究包括对测试模式的分类和解释,以及它们在12个开源项目中的应用,这些项目包括超过40K个测试。我们发现,通过简单而有效的测试代码静态分析可以检测到的一些模式可以以低误报率检测到错误,而其他模式则需要更复杂和更广泛的代码分析才能发挥作用。
{"title":"Test Analysis: Searching for Faults in Tests (N)","authors":"M. Waterloo, S. Person, Sebastian G. Elbaum","doi":"10.1109/ASE.2015.37","DOIUrl":"https://doi.org/10.1109/ASE.2015.37","url":null,"abstract":"Tests are increasingly specified as programs. Expressing tests as code is advantageous in that developers are comfortable writing and running code, and tests can be automated and reused as the software evolves. Tests expressed as code, however, can also contain faults. Some test faults are similar to those found in application code, while others are more subtle, caused by incorrect implementation of testing concepts and processes. These faults may cause a test to fail when it should not, or allow program faults to go undetected. In this work we explore whether lightweight static analyses can be cost-effective in pinpointing patterns associated with faults tests. Our exploration includes a categorization and explanation of test patterns, and their application to 12 open source projects that include over 40K tests. We found that several patterns, detectable through simple and efficient static analyses of just the test code, can detect faults with a low false positive rate, while other patterns would require a more sophisticated and extensive code analysis to be useful.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"67 1","pages":"149-154"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82190909","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}
引用次数: 14
Static Analysis of JavaScript Web Applications in the Wild via Practical DOM Modeling (T) 基于实用DOM建模的JavaScript Web应用静态分析(T)
Changhee Park, S. Won, Joonho Jin, Sukyoung Ryu
We present SAFEWapp, an open-source static analysis framework for JavaScript web applications. It provides a faithful (partial) model of web application execution environments of various browsers, based on empirical data from the main web pages of the 9,465 most popular websites. A main feature of SAFEWapp is the configurability of DOM tree abstraction levels to allow users to adjust a trade-off between analysis performance and precision depending on their applications. We evaluate SAFEWapp on the 5 most popular JavaScript libraries and the main web pages of the 10 most popular websites in terms of analysis performance, precision, and modeling coverage. Additionally, as an application of SAFEWapp, we build a bug detector for JavaScript web applications that uses static analysis results from SAFEWapp. Our bug detector found previously undiscovered bugs including ones from wikipedia.org and amazon.com.
我们提出SAFEWapp,一个JavaScript web应用程序的开源静态分析框架。它基于9465个最流行网站的主网页的经验数据,提供了各种浏览器的web应用程序执行环境的忠实(部分)模型。SAFEWapp的一个主要特性是DOM树抽象级别的可配置性,允许用户根据应用程序调整分析性能和精度之间的权衡。我们对SAFEWapp在5个最流行的JavaScript库和10个最流行网站的主网页上的分析性能、精度和建模覆盖率进行了评估。此外,作为SAFEWapp的一个应用程序,我们为JavaScript web应用程序构建了一个bug检测器,该检测器使用SAFEWapp的静态分析结果。我们的漏洞检测器发现了以前未发现的漏洞,包括维基百科和亚马逊网站的漏洞。
{"title":"Static Analysis of JavaScript Web Applications in the Wild via Practical DOM Modeling (T)","authors":"Changhee Park, S. Won, Joonho Jin, Sukyoung Ryu","doi":"10.1109/ASE.2015.27","DOIUrl":"https://doi.org/10.1109/ASE.2015.27","url":null,"abstract":"We present SAFEWapp, an open-source static analysis framework for JavaScript web applications. It provides a faithful (partial) model of web application execution environments of various browsers, based on empirical data from the main web pages of the 9,465 most popular websites. A main feature of SAFEWapp is the configurability of DOM tree abstraction levels to allow users to adjust a trade-off between analysis performance and precision depending on their applications. We evaluate SAFEWapp on the 5 most popular JavaScript libraries and the main web pages of the 10 most popular websites in terms of analysis performance, precision, and modeling coverage. Additionally, as an application of SAFEWapp, we build a bug detector for JavaScript web applications that uses static analysis results from SAFEWapp. Our bug detector found previously undiscovered bugs including ones from wikipedia.org and amazon.com.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"9 1","pages":"552-562"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79747856","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}
引用次数: 25
Investigating Program Behavior Using the Texada LTL Specifications Miner 使用Texada LTL规范Miner调查程序行为
Caroline Lemieux, Ivan Beschastnikh
Temporal specifications, relating program events through time, are useful for tasks ranging from bug detection to program comprehension. Unfortunately, such specifications are often lacking from system descriptions, leading researchers to investigate methods for inferring these specifications from code, execution traces, code comments, and other artifacts. This paper describes Texada, a tool to dynamically mine temporal specifications in LTL from traces of program activity. We review Texada's key features and demonstrate how it can be used to investigate program behavior through two scenarios: validating an implementation that solves the dining philosophers problem and supporting comprehension of a stack implementation. We also detail Texada's other, more advanced, usage options. Texada is an open source tool: https://bitbucket.org/bestchai/texada.
时间规范,将程序事件随时间关联起来,对于从错误检测到程序理解等任务都很有用。不幸的是,系统描述中经常缺少这样的规范,这导致研究人员研究从代码、执行跟踪、代码注释和其他工件中推断这些规范的方法。本文描述了Texada,一个从程序活动轨迹中动态挖掘LTL时间规范的工具。我们回顾了Texada的关键特性,并通过两种场景演示了如何使用它来调查程序行为:验证解决用餐哲学家问题的实现和支持对堆栈实现的理解。我们还详细介绍了德克萨斯州的其他更高级的使用选项。Texada是一个开源工具:https://bitbucket.org/bestchai/texada。
{"title":"Investigating Program Behavior Using the Texada LTL Specifications Miner","authors":"Caroline Lemieux, Ivan Beschastnikh","doi":"10.1109/ASE.2015.94","DOIUrl":"https://doi.org/10.1109/ASE.2015.94","url":null,"abstract":"Temporal specifications, relating program events through time, are useful for tasks ranging from bug detection to program comprehension. Unfortunately, such specifications are often lacking from system descriptions, leading researchers to investigate methods for inferring these specifications from code, execution traces, code comments, and other artifacts. This paper describes Texada, a tool to dynamically mine temporal specifications in LTL from traces of program activity. We review Texada's key features and demonstrate how it can be used to investigate program behavior through two scenarios: validating an implementation that solves the dining philosophers problem and supporting comprehension of a stack implementation. We also detail Texada's other, more advanced, usage options. Texada is an open source tool: https://bitbucket.org/bestchai/texada.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"50 1","pages":"870-875"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80780552","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
期刊
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