• DocumentCode
    555276
  • Title

    Portfolio: finding relevant functions and their usage

  • Author

    McMillan, Collin ; Grechanik, Mark ; Poshyvanyk, Denys ; Xie, Qing ; Fu, Chen

  • Author_Institution
    Coll. of William & Mary, Williamsburg, VA, USA
  • fYear
    2011
  • fDate
    21-28 May 2011
  • Firstpage
    111
  • Lastpage
    120
  • Abstract
    Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or arbitrary code fragments [30, 29, 31]. Therefore, programmers require support in finding relevant functions and determining how those functions are used. Unfortunately, existing code search engines do not provide enough of this support to developers, thus reducing the effectiveness of code reuse. We provide this support to programmers in a code search system called Portfolio that retrieves and visualizes relevant functions and their usages. We have built Portfolio using a combination of models that address surfing behavior of programmer and sharing Related concepts among functions. We conducted an experiment with 49 professional programmers to compare Portfolio to Google Code Search and Koders using a standard methodology. The results show with strong statistical significance that users find more relevant functions with higher precision with Portfolio than with Google Code Search and Koders.
  • Keywords
    data visualisation; information retrieval; search engines; statistical analysis; Google code search; Koders; Portfolio code search system; Portfolio function; Portfolio usage; code reuse; code search engine; function retrieval; function visualization; statistical significance; Google; Navigation; Portfolios; Search engines; Storage area networks; Visualization; code search; function call graph; pagerank; portfolio; ranking;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2011 33rd International Conference on
  • Conference_Location
    Honolulu, HI
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4503-0445-0
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1985793.1985809
  • Filename
    6032450