首页 > 最新文献

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
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
How do Developers Document Database Usages in Source Code? (N) 开发人员如何在源代码中记录数据库的使用?(N)
M. Vásquez, Boyang Li, Christopher Vendome, D. Poshyvanyk
Database-centric applications (DCAs) usually contain a large number of tables, attributes, and constraints describing the underlying data model. Understanding how database tables and attributes are used in the source code along with the constraints related to these usages is an important component of DCA maintenance. However, documenting database-related operations and their constraints in the source code is neither easy nor common in practice. In this paper, we present a two-fold empirical study aimed at identifying how developers document database usages at source code method level. In particular, (i) we surveyed open source developers to understand their practices on documenting database usages in source code, and (ii) we mined a large set of open source projects to measure to what extent database-related methods are commented and if these comments are updated during evolution. Although 58% of the developers claimed to find value in method comments describing database usages, our findings suggest that 77% of 33K+ methods in 3.1K+ open-source Java projects with database accesses were completely undocumented.
以数据库为中心的应用程序(dca)通常包含大量描述底层数据模型的表、属性和约束。了解如何在源代码中使用数据库表和属性以及与这些用法相关的约束是DCA维护的一个重要组成部分。然而,在源代码中记录与数据库相关的操作及其约束在实践中既不容易也不常见。在本文中,我们提出了一个双重的实证研究,旨在确定开发人员如何在源代码方法级别记录数据库的使用。特别是,(i)我们调查了开源开发人员,了解他们在源代码中记录数据库用法的做法,(ii)我们挖掘了大量的开源项目,以衡量与数据库相关的方法被注释到什么程度,以及这些注释在发展过程中是否被更新。尽管58%的开发人员声称在描述数据库用法的方法注释中发现了价值,但我们的研究结果表明,在3.1K以上具有数据库访问的开源Java项目中,有77%的33K以上方法完全没有文档记录。
{"title":"How do Developers Document Database Usages in Source Code? (N)","authors":"M. Vásquez, Boyang Li, Christopher Vendome, D. Poshyvanyk","doi":"10.1109/ASE.2015.67","DOIUrl":"https://doi.org/10.1109/ASE.2015.67","url":null,"abstract":"Database-centric applications (DCAs) usually contain a large number of tables, attributes, and constraints describing the underlying data model. Understanding how database tables and attributes are used in the source code along with the constraints related to these usages is an important component of DCA maintenance. However, documenting database-related operations and their constraints in the source code is neither easy nor common in practice. In this paper, we present a two-fold empirical study aimed at identifying how developers document database usages at source code method level. In particular, (i) we surveyed open source developers to understand their practices on documenting database usages in source code, and (ii) we mined a large set of open source projects to measure to what extent database-related methods are commented and if these comments are updated during evolution. Although 58% of the developers claimed to find value in method comments describing database usages, our findings suggest that 77% of 33K+ methods in 3.1K+ open-source Java projects with database accesses were completely undocumented.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"39 1","pages":"36-41"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86642223","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}
引用次数: 18
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
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
Measuring Object-Oriented Design Principles 测量面向对象设计原则
Johannes Bräuer
The idea of automatizing the assessment of object-oriented design is not new. Different approaches define and apply their own quality models, which are composed of single metrics or combinations thereof, to operationalize software design. However, single metrics are too fine-grained to identify core design flaws and they cannot provide hints for making design improvements. In order to deal with these weaknesses of metric-based models, rules-based approaches have proven successful in the realm of source-code quality. Moreover, for developing a well-designed software system, design principles play a key role, as they define fundamental guidelines and help to avoid pitfalls. Therefore, this thesis will enhance and complete a rule-based quality reference model for operationalizing design principles and will provide a measuring tool that implements these rules. The validation of the design quality model and the measurement tool will be based on various industrial projects. Additionally, quantitative and qualitative surveys will be conducted in order to get validated results on the value of object-oriented design principles for software development.
自动化面向对象设计评估的想法并不新鲜。不同的方法定义并应用它们自己的质量模型,这些模型由单个度量标准或其组合组成,以实现软件设计的可操作性。然而,单个指标过于细粒度,无法识别核心设计缺陷,也无法提供改进设计的提示。为了处理这些基于度量的模型的弱点,基于规则的方法在源代码质量领域已经被证明是成功的。此外,为了开发一个设计良好的软件系统,设计原则扮演着关键的角色,因为它们定义了基本的指导方针,并帮助避免陷阱。因此,本文将加强和完善一个基于规则的质量参考模型,以实现设计原则的可操作性,并将提供一个实现这些规则的测量工具。设计质量模型和测量工具的验证将基于不同的工业项目。此外,将进行定量和定性的调查,以获得关于软件开发中面向对象设计原则价值的验证结果。
{"title":"Measuring Object-Oriented Design Principles","authors":"Johannes Bräuer","doi":"10.1109/ASE.2015.17","DOIUrl":"https://doi.org/10.1109/ASE.2015.17","url":null,"abstract":"The idea of automatizing the assessment of object-oriented design is not new. Different approaches define and apply their own quality models, which are composed of single metrics or combinations thereof, to operationalize software design. However, single metrics are too fine-grained to identify core design flaws and they cannot provide hints for making design improvements. In order to deal with these weaknesses of metric-based models, rules-based approaches have proven successful in the realm of source-code quality. Moreover, for developing a well-designed software system, design principles play a key role, as they define fundamental guidelines and help to avoid pitfalls. Therefore, this thesis will enhance and complete a rule-based quality reference model for operationalizing design principles and will provide a measuring tool that implements these rules. The validation of the design quality model and the measurement tool will be based on various industrial projects. Additionally, quantitative and qualitative surveys will be conducted in order to get validated results on the value of object-oriented design principles for software development.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"51 1","pages":"882-885"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91075141","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
期刊
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