Concept location using program dependencies and information retrieval (DepIR)

  • Authors:
  • Maksym Petrenko;VáClav Rajlich

  • Affiliations:
  • Earth System Science Interdisciplinary Center, University of Maryland, College Park, USA;Department of Computer Science, Wayne State University, Detroit, USA

  • Venue:
  • Information and Software Technology
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context: The functionality of a software system is most often expressed in terms of concepts from its problem or solution domains. The process of finding where these concepts are implemented in the source code is known as concept location and it is a prerequisite of software change. Objective: We investigate a static approach to concept location named DepIR that combines program dependency search (DepS) with information retrieval-based search (IR). In this approach, programmers explore the static program dependencies of the source code components retrieved by the IR search engine. Method: The paper presents an empirical study that compares DepIR with its constituent techniques. The evaluation is based on an empirical method of reenactment that emulates the steps of concept location for 50 past changes mined from software repositories of five software systems. Results: The results of the study indicate that DepIR significantly outperforms both DepS and IR. Conclusion: DepIR allows developers to perform concept location efficiently. It allows finding concepts even with queries that do not rank the relevant software components highly. Since formulating a good query is not always easy, this tolerance of lower-quality queries significantly broadens the usability of DepIR compared to the traditional IR.