api usage
Recently Published Documents


TOTAL DOCUMENTS

113
(FIVE YEARS 41)

H-INDEX

16
(FIVE YEARS 2)

2021 ◽  
Vol 5 (OOPSLA) ◽  
pp. 1-27
Author(s):  
Xiang Gao ◽  
Arjun Radhakrishna ◽  
Gustavo Soares ◽  
Ridwan Shariffdeen ◽  
Sumit Gulwani ◽  
...  

Use of third-party libraries is extremely common in application software. The libraries evolve to accommodate new features or mitigate security vulnerabilities, thereby breaking the Application Programming Interface(API) used by the software. Such breaking changes in the libraries may discourage client code from using the new library versions thereby keeping the application vulnerable and not up-to-date. We propose a novel output-oriented program synthesis algorithm to automate API usage adaptations via program transformation. Our aim is not only to rely on the few example human adaptations of the clients from the old library version to the new library version, since this can lead to over-fitting transformation rules. Instead, we also rely on example usages of the new updated library in clients, which provide valuable context for synthesizing and applying the transformation rules. Our tool APIFix provides an automated mechanism to transform application code using the old library versions to code using the new library versions - thereby achieving automated API usage adaptation to fix the effect of breaking changes. Our evaluation shows that the transformation rules inferred by APIFix achieve 98.7% precision and 91.5% recall. By comparing our approach to state-of-the-art program synthesis approaches, we show that our approach significantly reduces over-fitting while synthesizing transformation rules for API usage adaptations.


Author(s):  
Kamal Maha ◽  
Abaid Ayman ◽  
Shamsa Abid ◽  
Shamail Shafay
Keyword(s):  

Author(s):  
Xing Zhenchang ◽  
JIAMOU SUN ◽  
Peng Xin ◽  
Xu Xiwei ◽  
Zhu Liming

2021 ◽  
Author(s):  
Maha Kamal ◽  
Ayman Abaid ◽  
Shamsa Abid ◽  
Shafay Shamail
Keyword(s):  

2021 ◽  
Author(s):  
Jiamou Sun ◽  
Zhenchang Xing ◽  
Xin Peng ◽  
Xiwei Xu ◽  
Liming Zhu

2021 ◽  
Author(s):  
Michael Emmi ◽  
Liana Hadarean ◽  
Ranjit Jhala ◽  
Lee Pike ◽  
Nicolás Rosner ◽  
...  
Keyword(s):  

2021 ◽  
Vol 26 (6) ◽  
Author(s):  
Shamsa Abid ◽  
Shafay Shamail ◽  
Hamid Abdul Basit ◽  
Sarah Nadi
Keyword(s):  

2021 ◽  
Vol 28 (2) ◽  
Author(s):  
Sebastian Nielebock ◽  
Robert Heumüller ◽  
Kevin Michael Schott ◽  
Frank Ortmeier

AbstractLack of experience, inadequate documentation, and sub-optimal API design frequently cause developers to make mistakes when re-using third-party implementations. Such API misuses can result in unintended behavior, performance losses, or software crashes. Therefore, current research aims to automatically detect such misuses by comparing the way a developer used an API to previously inferred patterns of the correct API usage. While research has made significant progress, these techniques have not yet been adopted in practice. In part, this is due to the lack of a process capable of seamlessly integrating with software development processes. Particularly, existing approaches do not consider how to collect relevant source code samples from which to infer patterns. In fact, an inadequate collection can cause API usage pattern miners to infer irrelevant patterns which leads to false alarms instead of finding true API misuses. In this paper, we target this problem (a) by providing a method that increases the likelihood of finding relevant and true-positive patterns concerning a given set of code changes and agnostic to a concrete static, intra-procedural mining technique and (b) by introducing a concept for just-in-time API misuse detection which analyzes changes at the time of commit. Particularly, we introduce different, lightweight code search and filtering strategies and evaluate them on two real-world API misuse datasets to determine their usefulness in finding relevant intra-procedural API usage patterns. Our main results are (1) commit-based search with subsequent filtering effectively decreases the amount of code to be analyzed, (2) in particular method-level filtering is superior to file-level filtering, (3) project-internal and project-external code search find solutions for different types of misuses and thus are complementary, (4) incorporating prior knowledge of the misused API into the search has a negligible effect.


Author(s):  
Yue Zhang ◽  
Bayan Turkistani ◽  
Allen Yuqing Yang ◽  
Chaoshun Zuo ◽  
Zhiqiang Lin

A new mobile computing paradigm, dubbed mini-app, has been growing rapidly over the past few years since being introduced by WeChat in 2017. In this paradigm, a host app allows its end-users to install and run mini-apps inside itself, enabling the host app to build an ecosystem around (much like Google Play and Apple AppStore), enrich the host's functionalities, and offer mobile users elevated convenience without leaving the host app. It has been reported that there are over millions of mini-apps in WeChat. However, little information is known about these mini-apps at an aggregated level. In this paper, we present MiniCrawler, the first scalable and open source WeChat mini-app crawler that has indexed over 1,333,308 mini-apps. It leverages a number of reverse engineering techniques to uncover the interfaces and APIs in WeChat for crawling the mini-apps. With the crawled mini-apps, we then measure their resource consumption, API usage, library usage, obfuscation rate, app categorization, and app ratings at an aggregated level. The details of how we develop MiniCrawler and our measurement results are reported in this paper.


Sign in / Sign up

Export Citation Format

Share Document