Comparing Approaches to Mining Source Code for Call-Usage Patterns

TitleComparing Approaches to Mining Source Code for Call-Usage Patterns
Publication TypeConference Paper
Year of Publication2007
AuthorsKagdi, H, Collard, ML, Maletic, JI
Secondary TitleFourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007)
Pagination20 - 20
Place PublishedMinneapolis, MN, USA
ISBN Number0-7695-2950-X
Keywordsfunction calls, functions, kernel, linux, sequence, sequencing, sequential-pattern mining

Two approaches for mining function-call usage patterns from source code are compared. The first approach, itemset mining, has recently been applied to this problem. The other approach, sequential-pattern mining, has not been previously applied to this problem. Here, a call-usage pattern is a composition of function calls that occur in a function definition. Both approaches look for frequently occurring patterns that represent standard usage of functions and identify possible errors. Itemset mining produces unordered patterns, i.e., sets of function calls, whereas, sequential-pattern mining produces partially ordered patterns, i.e., sequences of function calls. The trade-off between the additional ordering context given by sequential-pattern mining and the efficiency of itemset mining is investigated. The two approaches are applied to the Linux kernel v2.6.14 and results show that mining ordered patterns is worth the additional cost.

Full Text
PDF icon 28300020.pdf312.23 KB