  Lack 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 [...]
