首页 > 最新文献

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

英文 中文
Development History Granularity Transformations (N) 粒度转换(N)
Kivanç Muslu, Luke Swart, Yuriy Brun, Michael D. Ernst
Development histories can simplify some software engineering tasks, butdifferent tasks require different history granularities. For example, a history that includes every edit that resulted in compiling code is needed when searching for the cause of a regression, whereas a history that contains only changes relevant to a feature is needed for understanding the evolution of the feature. Unfortunately, today, both manual and automated history generation result in a single-granularity history. This paper introduces the concept of multi-grained development history views and the architecture of Codebase Manipulation, a tool that automatically records a fine-grained history and manages its granularity by applying granularity transformations.
开发历史可以简化一些软件工程任务,但是不同的任务需要不同的历史粒度。例如,当搜索回归的原因时,需要包含导致编译代码的每个编辑的历史,而仅包含与功能相关的更改的历史则需要用于理解功能的演变。不幸的是,今天,手工和自动化的历史生成都会产生单粒度的历史。本文介绍了多粒度开发历史视图的概念和Codebase Manipulation的体系结构,Codebase Manipulation是一种自动记录细粒度历史并通过应用粒度转换来管理其粒度的工具。
{"title":"Development History Granularity Transformations (N)","authors":"Kivanç Muslu, Luke Swart, Yuriy Brun, Michael D. Ernst","doi":"10.1109/ASE.2015.53","DOIUrl":"https://doi.org/10.1109/ASE.2015.53","url":null,"abstract":"Development histories can simplify some software engineering tasks, butdifferent tasks require different history granularities. For example, a history that includes every edit that resulted in compiling code is needed when searching for the cause of a regression, whereas a history that contains only changes relevant to a feature is needed for understanding the evolution of the feature. Unfortunately, today, both manual and automated history generation result in a single-granularity history. This paper introduces the concept of multi-grained development history views and the architecture of Codebase Manipulation, a tool that automatically records a fine-grained history and manages its granularity by applying granularity transformations.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"49 1","pages":"697-702"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80701194","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}
引用次数: 10
Exploiting Domain and Program Structure to Synthesize Efficient and Precise Data Flow Analyses (T) 利用领域和程序结构综合高效、精确的数据流分析(T)
Elena Sherman, Matthew B. Dwyer
A key challenge in implementing an efficient and precise data flow analysis is determining how to abstract the domain of values that a program variable can take on and how to update abstracted values to reflect program semantics. Such updates are performed by a transfer function and recent work by Thakur, Elder and Reps defined the bilateral algorithm for computing the most precise transfer function for a given abstract domain. In this paper, we identify and exploit the special case where abstract domains are comprised of disjoint subsets. For such domains, transfer functions computed using a customized algorithm can improve performance and in combination with symbolic modeling of block-level transfer functions improve precision as well. We implemented these algorithms in Soot and used them to perform data flow analysis on more than 100 non-trivial Java methods drawn from open source projects. Our experimental data are promising as they demonstrate that a 25-fold reduction in analysis time can be achieved and precision can be increased relative to existing methods.
实现高效和精确的数据流分析的一个关键挑战是确定如何抽象程序变量可以采用的值域,以及如何更新抽象值以反映程序语义。这种更新由传递函数执行,最近由Thakur, Elder和Reps的工作定义了双边算法,用于计算给定抽象域的最精确传递函数。在本文中,我们识别并利用了抽象域由不相交子集组成的特殊情况。对于这些领域,使用自定义算法计算的传递函数可以提高性能,并且与块级传递函数的符号建模相结合也可以提高精度。我们在Soot中实现了这些算法,并使用它们对来自开源项目的100多个重要Java方法执行数据流分析。我们的实验数据很有希望,因为它们表明,相对于现有方法,可以实现分析时间减少25倍,精度可以提高。
{"title":"Exploiting Domain and Program Structure to Synthesize Efficient and Precise Data Flow Analyses (T)","authors":"Elena Sherman, Matthew B. Dwyer","doi":"10.1109/ASE.2015.41","DOIUrl":"https://doi.org/10.1109/ASE.2015.41","url":null,"abstract":"A key challenge in implementing an efficient and precise data flow analysis is determining how to abstract the domain of values that a program variable can take on and how to update abstracted values to reflect program semantics. Such updates are performed by a transfer function and recent work by Thakur, Elder and Reps defined the bilateral algorithm for computing the most precise transfer function for a given abstract domain. In this paper, we identify and exploit the special case where abstract domains are comprised of disjoint subsets. For such domains, transfer functions computed using a customized algorithm can improve performance and in combination with symbolic modeling of block-level transfer functions improve precision as well. We implemented these algorithms in Soot and used them to perform data flow analysis on more than 100 non-trivial Java methods drawn from open source projects. Our experimental data are promising as they demonstrate that a 25-fold reduction in analysis time can be achieved and precision can be increased relative to existing methods.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"3 1","pages":"608-618"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77837769","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
SiPL -- A Delta-Based Modeling Framework for Software Product Line Engineering SiPL——软件产品线工程中基于增量的建模框架
Christopher Pietsch, Timo Kehrer, U. Kelter, Dennis Reuling, Manuel Ohrndorf
Model-based development has become a widely-used approach to implement software, e.g. for embedded systems. Models replace source code as primary executable artifacts in these cases. Software product line technologies for these domains must be able to generate models as instances of an SPL. This need is addressed among others by an implementation technology for SPLs known as delta modeling. Current approaches to delta modeling require deltas to be written manually using delta languages, and they offer only very limited support for creating and testing a network of deltas. This paper presents a new approach to delta modeling and a supporting tool suite: the abstract notion of a delta is refined to be a consistency-preserving edit script which is generated by comparing two models. The rich structure of edit scripts allows us to detect conflicts and further relations between deltas statically and to implement restructurings in delta sets such as the merging of two deltas. We illustrate the tooling using a case study.
基于模型的开发已经成为一种广泛使用的实现软件的方法,例如用于嵌入式系统。在这些情况下,模型取代源代码作为主要的可执行工件。这些领域的软件产品线技术必须能够生成作为SPL实例的模型。这种需求通过一种称为增量建模的spc实现技术来解决。当前的增量建模方法需要使用增量语言手动编写增量,并且它们只提供非常有限的创建和测试增量网络的支持。本文提出了一种新的增量建模方法和支持工具套件:将增量的抽象概念细化为通过比较两个模型生成的保持一致性的编辑脚本。编辑脚本的丰富结构允许我们静态地检测冲突和增量之间的进一步关系,并在增量集中实现重组,例如合并两个增量。我们使用一个案例研究来说明这个工具。
{"title":"SiPL -- A Delta-Based Modeling Framework for Software Product Line Engineering","authors":"Christopher Pietsch, Timo Kehrer, U. Kelter, Dennis Reuling, Manuel Ohrndorf","doi":"10.1109/ASE.2015.106","DOIUrl":"https://doi.org/10.1109/ASE.2015.106","url":null,"abstract":"Model-based development has become a widely-used approach to implement software, e.g. for embedded systems. Models replace source code as primary executable artifacts in these cases. Software product line technologies for these domains must be able to generate models as instances of an SPL. This need is addressed among others by an implementation technology for SPLs known as delta modeling. Current approaches to delta modeling require deltas to be written manually using delta languages, and they offer only very limited support for creating and testing a network of deltas. This paper presents a new approach to delta modeling and a supporting tool suite: the abstract notion of a delta is refined to be a consistency-preserving edit script which is generated by comparing two models. The rich structure of edit scripts allows us to detect conflicts and further relations between deltas statically and to implement restructurings in delta sets such as the merging of two deltas. We illustrate the tooling using a case study.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"23 1","pages":"852-857"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82530726","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}
引用次数: 38
Tool Support for Analyzing Mobile App Reviews 分析手机应用评论的工具支持
P. Vu, H. Pham, Tam The Nguyen, T. Nguyen
Mobile app reviews often contain useful user opinions for app developers. However, manual analysis of those reviews is challenging due to their large volume and noisynature. This paper introduces MARK, a supporting tool for review analysis of mobile apps. With MARK, an analyst can describe her interests of one or more apps via a set of keywords. MARK then lists the reviews most relevant to those keywords for further analyses. It can also draw the trends over time of the selected keywords, which might help the analyst to detect sudden changes in the related user reviews. To help the analyst describe her interests more effectively, MARK can automatically extract and rank the keywords by their associations with negative reviews, divide a large set of keywords into more cohesive subgroups, or expand a small set into a broader one.
手机应用评论通常包含对应用开发者有用的用户意见。然而,对这些评论进行手工分析是具有挑战性的,因为它们的数量很大,而且很吵。本文介绍了一个支持移动应用程序评价分析的工具MARK。有了MARK,分析师可以通过一组关键词来描述她对一个或多个应用程序的兴趣。MARK会列出与这些关键词最相关的评论,以供进一步分析。它还可以绘制所选关键字随时间的趋势,这可能有助于分析人员检测相关用户评论中的突然变化。为了帮助分析师更有效地描述她的兴趣,MARK可以根据与负面评论的关联自动提取关键字并对其进行排序,将一大组关键字划分为更紧密的子组,或将小组扩展为更广泛的组。
{"title":"Tool Support for Analyzing Mobile App Reviews","authors":"P. Vu, H. Pham, Tam The Nguyen, T. Nguyen","doi":"10.1109/ASE.2015.101","DOIUrl":"https://doi.org/10.1109/ASE.2015.101","url":null,"abstract":"Mobile app reviews often contain useful user opinions for app developers. However, manual analysis of those reviews is challenging due to their large volume and noisynature. This paper introduces MARK, a supporting tool for review analysis of mobile apps. With MARK, an analyst can describe her interests of one or more apps via a set of keywords. MARK then lists the reviews most relevant to those keywords for further analyses. It can also draw the trends over time of the selected keywords, which might help the analyst to detect sudden changes in the related user reviews. To help the analyst describe her interests more effectively, MARK can automatically extract and rank the keywords by their associations with negative reviews, divide a large set of keywords into more cohesive subgroups, or expand a small set into a broader one.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"47 1","pages":"789-794"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86800865","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}
引用次数: 15
Pseudogen: A Tool to Automatically Generate Pseudo-Code from Source Code Pseudogen:一个从源代码自动生成伪代码的工具
Hiroyuki Fudaba, Yusuke Oda, Koichi Akabe, Graham Neubig, Hideaki Hata, S. Sakti, T. Toda, Satoshi Nakamura
Understanding the behavior of source code written in an unfamiliar programming language is difficult. One way to aid understanding of difficult code is to add corresponding pseudo-code, which describes in detail the workings of the code in a natural language such as English. In spite of its usefulness, most source code does not have corresponding pseudo-code because it is tedious to create. This paper demonstrates a tool Pseudogen that makes it possible to automatically generate pseudo-code from source code using statistical machine translation (SMT). Pseudogen currently supports generation of English or Japanese pseudo-code from Python source code, and the SMT framework makes it easy for users to create new generators for their preferred source code/pseudo-code pairs.
理解用不熟悉的编程语言编写的源代码的行为是困难的。帮助理解困难代码的一种方法是添加相应的伪代码,这些伪代码用自然语言(如英语)详细描述了代码的工作原理。尽管它很有用,但大多数源代码没有相应的伪代码,因为创建伪代码很繁琐。本文演示了一个工具Pseudogen,它可以使用统计机器翻译(SMT)从源代码自动生成伪代码。Pseudogen目前支持从Python源代码生成英语或日语伪代码,并且SMT框架使用户可以轻松地为他们首选的源代码/伪代码对创建新的生成器。
{"title":"Pseudogen: A Tool to Automatically Generate Pseudo-Code from Source Code","authors":"Hiroyuki Fudaba, Yusuke Oda, Koichi Akabe, Graham Neubig, Hideaki Hata, S. Sakti, T. Toda, Satoshi Nakamura","doi":"10.1109/ASE.2015.107","DOIUrl":"https://doi.org/10.1109/ASE.2015.107","url":null,"abstract":"Understanding the behavior of source code written in an unfamiliar programming language is difficult. One way to aid understanding of difficult code is to add corresponding pseudo-code, which describes in detail the workings of the code in a natural language such as English. In spite of its usefulness, most source code does not have corresponding pseudo-code because it is tedious to create. This paper demonstrates a tool Pseudogen that makes it possible to automatically generate pseudo-code from source code using statistical machine translation (SMT). Pseudogen currently supports generation of English or Japanese pseudo-code from Python source code, and the SMT framework makes it easy for users to create new generators for their preferred source code/pseudo-code pairs.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"104 1","pages":"824-829"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79962615","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
Have We Seen Enough Traces? (T) 我们发现了足够多的痕迹吗?(T)
Hila Cohen, S. Maoz
Dynamic specification mining extracts candidate specifications from logs of execution traces. Existing algorithms differ in the kinds of traces they take as input and in the kinds of candidate specification they present as output. One challenge common to all approaches relates to the faithfulness of the mining results: how can we be confident that the extracted specifications faithfully characterize the program we investigate? Since producing and analyzing traces is costly, how would we know we have seen enough traces? And, how would we know we have not wasted resources and seen too many of them?In this paper we address these important questions by presenting a novel, black box, probabilistic framework based on a notion of log completeness, and by applying it to three different well-known specification mining algorithms from the literature: k-Tails, Synoptic, and mining of scenario-based triggers and effects. Extensive evaluation over 24 models taken from 9 different sources shows the soundness, generalizability, and usefulness of the framework and its contribution to the state-of-the-art in dynamic specification mining.
动态规范挖掘从执行跟踪日志中提取候选规范。现有算法的不同之处在于它们作为输入的跟踪类型和它们作为输出呈现的候选规范类型。所有方法共同面临的一个挑战与挖掘结果的准确性有关:我们如何确信提取的规范忠实地描述了我们调查的程序?既然产生和分析痕迹是昂贵的,我们怎么知道我们已经看到了足够的痕迹呢?而且,我们怎么知道我们没有浪费资源,没有看到太多资源?在本文中,我们通过提出一个基于日志完整性概念的新颖的黑箱概率框架来解决这些重要问题,并将其应用于文献中三种不同的知名规范挖掘算法:k- tail, Synoptic和基于场景的触发器和效果的挖掘。对来自9个不同来源的24个模型进行了广泛的评估,显示了该框架的稳健性、通用性和实用性,以及它对动态规范挖掘的最新贡献。
{"title":"Have We Seen Enough Traces? (T)","authors":"Hila Cohen, S. Maoz","doi":"10.1109/ASE.2015.62","DOIUrl":"https://doi.org/10.1109/ASE.2015.62","url":null,"abstract":"Dynamic specification mining extracts candidate specifications from logs of execution traces. Existing algorithms differ in the kinds of traces they take as input and in the kinds of candidate specification they present as output. One challenge common to all approaches relates to the faithfulness of the mining results: how can we be confident that the extracted specifications faithfully characterize the program we investigate? Since producing and analyzing traces is costly, how would we know we have seen enough traces? And, how would we know we have not wasted resources and seen too many of them?In this paper we address these important questions by presenting a novel, black box, probabilistic framework based on a notion of log completeness, and by applying it to three different well-known specification mining algorithms from the literature: k-Tails, Synoptic, and mining of scenario-based triggers and effects. Extensive evaluation over 24 models taken from 9 different sources shows the soundness, generalizability, and usefulness of the framework and its contribution to the state-of-the-art in dynamic specification mining.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"2 1","pages":"93-103"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76868846","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}
引用次数: 12
Detecting Broken Pointcuts Using Structural Commonality and Degree of Interest (N) 使用结构共性和兴趣度(N)检测断开的切入点
Pub Date : 2015-11-09 DOI: 10.1016/j.scico.2017.06.011
Raffi Khatchadourian, A. Rashid, H. Masuhara, Takuya Watanabe
{"title":"Detecting Broken Pointcuts Using Structural Commonality and Degree of Interest (N)","authors":"Raffi Khatchadourian, A. Rashid, H. Masuhara, Takuya Watanabe","doi":"10.1016/j.scico.2017.06.011","DOIUrl":"https://doi.org/10.1016/j.scico.2017.06.011","url":null,"abstract":"","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"51 1","pages":"641-646"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86131633","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
Reverse Engineering Mobile Application User Interfaces with REMAUI (T) 用REMAUI (T)逆向工程移动应用程序用户界面
T. Nguyen, Christoph Csallner
When developing the user interface code of a mobile application, in practice a big gap exists between the digital conceptual drawings of graphic artists and working user interface code. Currently, programmers bridge this gap manually, by reimplementing the conceptual drawings in code, which is cumbersome and expensive. To bridge this gap, we introduce the first technique to automatically Reverse Engineer Mobile Application User Interfaces (REMAUI). On a given input bitmap REMAUI identifies user interface elements such as images, texts, containers, and lists, via computer vision and optical character recognition (OCR) techniques. In our experiments on 488 screenshots of over 100 popular third-party Android and iOS applications, REMAUI-generated user interfaces were similar to the originals, both pixel-by-pixel and in terms of their runtime user interface hierarchies. REMAUI's average overall runtime on a standard desktop computer was 9 seconds.
在开发移动应用程序的用户界面代码时,图形艺术家的数字概念图与实际用户界面代码之间存在很大差距。目前,程序员通过在代码中重新实现概念图来手动弥合这一差距,这既麻烦又昂贵。为了弥补这一差距,我们介绍了第一种自动逆向工程移动应用程序用户界面(REMAUI)的技术。在给定的输入位图上,REMAUI通过计算机视觉和光学字符识别(OCR)技术识别用户界面元素,如图像、文本、容器和列表。在我们对超过100个流行的第三方Android和iOS应用程序的488个截图进行的实验中,remaui生成的用户界面在像素和运行时用户界面层次上都与原始界面相似。REMAUI在标准台式计算机上的平均总运行时间为9秒。
{"title":"Reverse Engineering Mobile Application User Interfaces with REMAUI (T)","authors":"T. Nguyen, Christoph Csallner","doi":"10.1109/ASE.2015.32","DOIUrl":"https://doi.org/10.1109/ASE.2015.32","url":null,"abstract":"When developing the user interface code of a mobile application, in practice a big gap exists between the digital conceptual drawings of graphic artists and working user interface code. Currently, programmers bridge this gap manually, by reimplementing the conceptual drawings in code, which is cumbersome and expensive. To bridge this gap, we introduce the first technique to automatically Reverse Engineer Mobile Application User Interfaces (REMAUI). On a given input bitmap REMAUI identifies user interface elements such as images, texts, containers, and lists, via computer vision and optical character recognition (OCR) techniques. In our experiments on 488 screenshots of over 100 popular third-party Android and iOS applications, REMAUI-generated user interfaces were similar to the originals, both pixel-by-pixel and in terms of their runtime user interface hierarchies. REMAUI's average overall runtime on a standard desktop computer was 9 seconds.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"36 1","pages":"248-259"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79349571","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}
引用次数: 154
SpyREST in Action: An Automated RESTful API Documentation Tool SpyREST在行动:一个自动化RESTful API文档工具
S. Sohan, C. Anslow, F. Maurer
RESTful APIs are often manually documented. As a result, the process of maintaining the documentation of RESTful APIs is both expensive and error-prone. In this demonstration paper, we present SpyREST as an automated software as a service tool that can be used to document RESTful APIs. SpyREST leverages an HTTP Proxy server to intercept real API calls to automatically collect and generate RESTful API documentation by processing HTTP traffic involved in API calls. SpyREST provides an automated yet customizable example based documentation solution for RESTful APIs. RESTful API developers can use SpyREST to automatically generate and maintain updated API documentation.
RESTful api通常是手工编制的。因此,维护RESTful api文档的过程既昂贵又容易出错。在这篇演示论文中,我们将SpyREST作为一种自动化的软件服务工具,用于记录RESTful api。SpyREST利用HTTP代理服务器拦截真实的API调用,通过处理API调用中涉及的HTTP流量来自动收集和生成RESTful API文档。SpyREST为RESTful api提供了一个自动化的、可定制的基于示例的文档解决方案。RESTful API开发人员可以使用SpyREST自动生成和维护更新的API文档。
{"title":"SpyREST in Action: An Automated RESTful API Documentation Tool","authors":"S. Sohan, C. Anslow, F. Maurer","doi":"10.1109/ASE.2015.92","DOIUrl":"https://doi.org/10.1109/ASE.2015.92","url":null,"abstract":"RESTful APIs are often manually documented. As a result, the process of maintaining the documentation of RESTful APIs is both expensive and error-prone. In this demonstration paper, we present SpyREST as an automated software as a service tool that can be used to document RESTful APIs. SpyREST leverages an HTTP Proxy server to intercept real API calls to automatically collect and generate RESTful API documentation by processing HTTP traffic involved in API calls. SpyREST provides an automated yet customizable example based documentation solution for RESTful APIs. RESTful API developers can use SpyREST to automatically generate and maintain updated API documentation.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"89 1","pages":"813-818"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84902311","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
Automated Tagging of Software Projects Using Bytecode and Dependencies (N) 使用字节码和依赖项的软件项目自动标记(N)
Santiago Vargas-Baldrich, M. Vásquez, D. Poshyvanyk
Several open and closed source repositories group software systems and libraries to allow members of particular organizations or the open source community to take advantage of them. However, to make this possible, it is necessary to have effective ways of searching and browsing the repositories. Software tagging is the process of assigning terms (i.e., tags or labels) to software assets in order to describe features and internal details, making the task of understanding software easier and potentially browsing and searching through a repository more effective. We present Sally, an automatic software tagging approach that is able to produce meaningful tags for Maven-based software projects by analyzing their bytecode and dependency relations without any special requirements from developers. We compared tags generated by Sally to the ones in two widely used online repositories, and the tags generated by a state-of-the-art categorization approach. The results suggest that Sally is able to generate expressive tags without relying on machine learning-based models.
一些开放和封闭源代码存储库将软件系统和库分组,以允许特定组织或开放源代码社区的成员利用它们。然而,要实现这一点,必须有搜索和浏览存储库的有效方法。软件标签是为软件资产分配术语(即标签或标签)的过程,以便描述特性和内部细节,使理解软件的任务更容易,并可能更有效地浏览和搜索存储库。我们介绍了Sally,一种自动软件标记方法,它能够通过分析基于maven的软件项目的字节码和依赖关系来生成有意义的标记,而不需要开发人员的任何特殊要求。我们将Sally生成的标签与两个广泛使用的在线存储库中的标签以及由最先进的分类方法生成的标签进行了比较。结果表明,Sally能够在不依赖基于机器学习的模型的情况下生成富有表现力的标签。
{"title":"Automated Tagging of Software Projects Using Bytecode and Dependencies (N)","authors":"Santiago Vargas-Baldrich, M. Vásquez, D. Poshyvanyk","doi":"10.1109/ASE.2015.38","DOIUrl":"https://doi.org/10.1109/ASE.2015.38","url":null,"abstract":"Several open and closed source repositories group software systems and libraries to allow members of particular organizations or the open source community to take advantage of them. However, to make this possible, it is necessary to have effective ways of searching and browsing the repositories. Software tagging is the process of assigning terms (i.e., tags or labels) to software assets in order to describe features and internal details, making the task of understanding software easier and potentially browsing and searching through a repository more effective. We present Sally, an automatic software tagging approach that is able to produce meaningful tags for Maven-based software projects by analyzing their bytecode and dependency relations without any special requirements from developers. We compared tags generated by Sally to the ones in two widely used online repositories, and the tags generated by a state-of-the-art categorization approach. The results suggest that Sally is able to generate expressive tags without relying on machine learning-based models.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"49 1","pages":"289-294"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85321901","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}
引用次数: 22
期刊
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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1