  When programmers retrieve a code method and want to reuse it, they need to
understand the usage patterns of the retrieved method. However, it is difficult
to obtain usage information of the retrieved method since this method may only
have a brief comment and few available usage examples. In this paper, we
propose an approach, called LUPIN (cLone-based Usage Pattern mIniNg), to mine
the usage patterns of these methods, which do not widely appeared in the code
repository. The key idea of LUPIN is that the cloned code of the target method
may have a similar usage pattern, and we can collect more usage information of
the target method from cloned code usage examples. From the amplified usage
examples, we mine the usage pattern of the target method by frequent
subsequence mining after program slicing and code normalization. Our evaluation
shows that LUPIN can mine four categories of usage patterns with an average
precision of 0.65.
