Software libraries can be used in different ways, but not all of their apis are well documented in the documentation and programming guides. To recommend an api usage from a query, recently, going beyond searching for...
详细信息
ISBN:
(纸本)9781450356633
Software libraries can be used in different ways, but not all of their apis are well documented in the documentation and programming guides. To recommend an api usage from a query, recently, going beyond searching for existing code, researchers have aimed to generate new api code, by exploring statistical approaches including phrase-based statistical machine translation (SMT) [5], probabilistic CFG [4], AST-based translation [2], and deep neural network [3]. A key limitation of existing approaches is the strict order of translation from left to right, leading to low accuracy in the resulting apis.
Source code examples are key resources for software developers to learn application programming interfaces (apis) and to understand corresponding usage patterns. Developers usually have to utilise, evaluate and unders...
详细信息
Source code examples are key resources for software developers to learn application programming interfaces (apis) and to understand corresponding usage patterns. Developers usually have to utilise, evaluate and understand code examples from multiple sources, which involve heavy manually processing efforts. To reduce such efforts, there has been growing interest in developing source code mining and recommendation systems. This study proposes api usage as a service (apiUaaS), a reference architecture for facilitating api usage, which allows infrastructures to be built for recommending proper api code examples based on semi-automatic data analytics. This reference architecture contains five logical layers and six global-level architectural concerns. api queries are accepted from programmers, and corresponding code example candidates are extracted from the data sources layer. The detailed structural links between api elements and source codes are captured and stored in the data model & code assets layer. During the recommendation phase, api usages mining, clustering and ranking algorithms are enabled in the knowledge discover & intelligent model layer. Services such as code assist and bug detection are assembled in the api usage services layer. Finally, the authors evaluate apiUaaS from three perspectives: rationality, feasibility, and usability.
Gauging the success of software systems has been difficult in the past as there was no uniform measure. With mobile Application (App) Stores, users rate each App according to a common rating scheme. In this paper, we ...
详细信息
ISBN:
(纸本)9781479984695
Gauging the success of software systems has been difficult in the past as there was no uniform measure. With mobile Application (App) Stores, users rate each App according to a common rating scheme. In this paper, we study the impact of App churn on the App success through the analysis of 154 free Android Apps that have a total of 1.2k releases. We provide a novel technique to extract Android api elements used by Apps that developers change between releases. We find that high App churn leads to lower user ratings. For example, we find that on average, per release, poorly rated Apps change 140 methods compared to the 82 methods changed by positively rated Apps. Our findings suggest that developers should not release new features at the expense of churn and user ratings. We also investigate the link between how frequently api classes and methods are changed by App developers relative to the amount of discussion of these code elements on StackOverflow. Our findings indicate that classes and methods that are changed frequently by App developers are in more posts on StackOverflow. We add to the growing consensus that StackOverflow keeps up with the documentation needs of practitioners.
暂无评论