Automated API property inference techniques

MP Robillard, E Bodden, D Kawrykow… - IEEE Transactions …, 2012 - ieeexplore.ieee.org
Frameworks and libraries offer reusable and customizable functionality through Application
Programming Interfaces (APIs). Correctly using large and sophisticated APIs can represent a …

MAPO: Mining and recommending API usage patterns

H Zhong, T **e, L Zhang, J Pei, H Mei - … , Genoa, Italy, July 6-10, 2009 …, 2009 - Springer
To improve software productivity, when constructing new software systems, programmers
often reuse existing libraries or frameworks by invoking methods provided in their APIs …

Graph-based mining of multiple object usage patterns

TT Nguyen, HA Nguyen, NH Pham… - Proceedings of the 7th …, 2009 - dl.acm.org
The interplay of multiple objects in object-oriented programming often follows specific
protocols, for example certain orders of method calls and/or control structure constraints …

Bugram: bug detection with n-gram language models

S Wang, D Chollak, D Movshovitz-Attias… - Proceedings of the 31st …, 2016 - dl.acm.org
To improve software reliability, many rule-based techniques have been proposed to infer
programming rules and detect violations of these rules as bugs. These rule-based …

A systematic evaluation of static api-misuse detectors

S Amann, HA Nguyen, S Nadi… - IEEE Transactions …, 2018 - ieeexplore.ieee.org
Application Programming Interfaces (APIs) often have usage constraints, such as restrictions
on call order or call conditions. API misuses, ie, violations of these constraints, may lead to …

Detecting object usage anomalies

A Wasylkowski, A Zeller, C Lindig - Proceedings of the the 6th joint …, 2007 - dl.acm.org
Interacting with objects often requires following a protocol---for instance, a specific sequence
of method calls. These protocols are not always documented, and violations can lead to …

A graph-based approach to API usage adaptation

HA Nguyen, TT Nguyen, G Wilson Jr, AT Nguyen… - ACM Sigplan …, 2010 - dl.acm.org
Reusing existing library components is essential for reducing the cost of software
development and maintenance. When library components evolve to accommodate new …

Performance debugging in the large via mining millions of stack traces

S Han, Y Dang, S Ge, D Zhang… - 2012 34th International …, 2012 - ieeexplore.ieee.org
Given limited resource and time before software release, development-site testing and
debugging become more and more insufficient to ensure satisfactory software performance …

Inferring resource specifications from natural language API documentation

H Zhong, L Zhang, T **e, H Mei - 2009 IEEE/ACM International …, 2009 - ieeexplore.ieee.org
Typically, software libraries provide API documentation, through which developers can learn
how to use libraries correctly. However, developers may still write code inconsistent with API …

Bug characteristics in blockchain systems: a large-scale empirical study

Z Wan, D Lo, X **a, L Cai - 2017 IEEE/ACM 14th International …, 2017 - ieeexplore.ieee.org
Bugs severely hurt blockchain system dependability. A thorough understanding of
blockchain bug characteristics is required to design effective tools for preventing, detecting …