Comparing Approaches to Mining Source Code for Call-Usage Patterns

  • Authors:
  • Huzefa Kagdi;Michael L. Collard;Jonathan I. Maletic

  • Affiliations:
  • Kent State University;Ashland University;Kent State University

  • Venue:
  • ICSEW '07 Proceedings of the 29th International Conference on Software Engineering Workshops
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

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, sequentialpattern 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.