Skip to main navigation Skip to search Skip to main content

Mining framework usage graphs from app corpora

  • Sergio Mover
  • , Sriram Sankaranarayanan
  • , Rhys Braginton Pettee Olsen
  • , Bor Yuh Evan Chang
  • University of Colorado Boulder

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We investigate the problem of mining graph-based usage patterns for large, object-oriented frameworks like Android - revisiting previous approaches based on graph-based object usage models (groums). Groums are a promising approach to represent usage patterns for object-oriented libraries because they simultaneously describe control flow and data dependencies between methods of multiple interacting object types. However, this expressivity comes at a cost: Mining groums requires solving a subgraph isomorphism problem that is well known to be expensive. This cost limits the applicability of groum mining to large API frameworks. In this paper, we employ groum mining to learn usage patterns for object-oriented frameworks from program corpora. The central challenge is to scale groum mining so that it is sensitive to usages horizontally across programs from arbitrarily many developers (as opposed to simply usages vertically within the program of a single developer). To address this challenge, we develop a novel groum mining algorithm that scales on a large corpus of programs. We first use frequent itemset mining to restrict the search for groums to smaller subsets of methods in the given corpus. Then, we pose the subgraph isomorphism as a SAT problem and apply efficient pre-processing algorithms to rule out fruitless comparisons ahead of time. Finally, we identify containment relationships between clusters of groums to characterize popular usage patterns in the corpus (as well as classify less popular patterns as possible anomalies). We find that our approach scales on a corpus of over five hundred open source Android applications, effectively mining obligatory and best-practice usage patterns.

Original languageEnglish
Title of host publication25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages277-287
Number of pages11
ISBN (Electronic)9781538649695
DOIs
Publication statusPublished - 2 Apr 2018
Externally publishedYes
Event25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Campobasso, Italy
Duration: 20 Mar 201823 Mar 2018

Publication series

Name25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings
Volume2018-March

Conference

Conference25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018
Country/TerritoryItaly
CityCampobasso
Period20/03/1823/03/18

Fingerprint

Dive into the research topics of 'Mining framework usage graphs from app corpora'. Together they form a unique fingerprint.

Cite this