{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:16:00Z","timestamp":1763468160342,"version":"3.41.0"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,10,1]],"date-time":"2013-10-01T00:00:00Z","timestamp":1380585600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100004672","name":"Accenture","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100004672","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2013,10]]},"abstract":"<jats:p>\n            Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or ordinary code fragments. Therefore, developers require support in finding relevant functions and determining how these 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\n            <jats:italic>Portfolio<\/jats:italic>\n            that retrieves and visualizes relevant functions and their usages. We have built Portfolio using a combination of models that address surfing behavior of programmers and sharing related concepts among functions. We conducted two experiments: first, an experiment with 49 C\/C++ programmers to compare Portfolio to Google Code Search and Koders using a standard methodology for evaluating information-retrieval-based engines; and second, an experiment with 19 Java programmers to compare Portfolio to Koders. 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. We also show that by using PageRank, Portfolio is able to rank returned relevant functions more efficiently.\n          <\/jats:p>","DOI":"10.1145\/2522920.2522930","type":"journal-article","created":{"date-parts":[[2013,10,17]],"date-time":"2013-10-17T12:23:34Z","timestamp":1382012614000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":68,"title":["Portfolio"],"prefix":"10.1145","volume":"22","author":[{"given":"Collin","family":"Mcmillan","sequence":"first","affiliation":[{"name":"University of Notre Dame, South Bend, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Denys","family":"Poshyvanyk","sequence":"additional","affiliation":[{"name":"The College of William and Mary, Williamsburg, VA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mark","family":"Grechanik","sequence":"additional","affiliation":[{"name":"University of Illinois at Chicago, Chicago IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Qing","family":"Xie","sequence":"additional","affiliation":[{"name":"Accenture Technology Labs"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chen","family":"Fu","sequence":"additional","affiliation":[{"name":"Accenture Technology Labs"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,10,22]]},"reference":[{"volume-title":"Proceedings of the Annual IBM Centers for Advanced Studies Conference (CASCON'98)","author":"Anquetil N.","key":"e_1_2_1_1_1","unstructured":"Anquetil , N. and Lethbridge , T . 1998. Assessing the relevance of identifier names in a legacy software system . In Proceedings of the Annual IBM Centers for Advanced Studies Conference (CASCON'98) . 213--222. Anquetil, N. and Lethbridge, T. 1998. Assessing the relevance of identifier names in a legacy software system. In Proceedings of the Annual IBM Centers for Advanced Studies Conference (CASCON'98). 213--222."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069489"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882291.1882316"},{"volume-title":"Proceedings of the 7th International Conference on World Wide Web. 107--117","author":"Brin S.","key":"e_1_2_1_4_1","unstructured":"Brin , S. and Page , L . 1998. The anatomy of a large-scale hypertextual web search engine . In Proceedings of the 7th International Conference on World Wide Web. 107--117 . Brin, S. and Page, L. 1998. The anatomy of a large-scale hypertextual web search engine. In Proceedings of the 7th International Conference on World Wide Web. 107--117."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00593-0_26"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1037\/0033-295X.82.6.407"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.282.0294"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1006569829653"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.71"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1002\/bltj.2221"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368092"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.567"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069482"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806828"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1008992.1009079"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806799.1806868"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/227726.227776"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321637"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070524"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985429.1985439"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062491"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.117"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2008.110"},{"volume-title":"Proceedings of the 25th IEEE International Conference on Software Engineering (ICSE'03)","author":"Inoue K.","key":"e_1_2_1_24_1","unstructured":"Inoue , K. , Yokomori , R. , Fujiwara , H. , Yamamoto , T. , Matsushita , M. , and Kusumoto , S . 2003. Component rank: Relative significance rank for software component search . In Proceedings of the 25th IEEE International Conference on Software Engineering (ICSE'03) . 14--24. Inoue, K., Yokomori, R., Fujiwara, H., Yamamoto, T., Matsushita, M., and Kusumoto, S. 2003. Component rank: Relative significance rank for software component search. In Proceedings of the 25th IEEE International Conference on Software Engineering (ICSE'03). 14--24."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.38"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/130844.130856"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/161494.161501"},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Langville A. and Meyer C. 2006. Google's PageRank and Beyond: The Science of Search Engine Rankings. Princeton University Press.   Langville A. and Meyer C. 2006. Google's PageRank and Beyond: The Science of Search Engine Rankings. Princeton University Press.","DOI":"10.1515\/9781400830329"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2007.48"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.111"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1753326.1753332"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321646"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-008-0041-9"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065018"},{"key":"e_1_2_1_35_1","doi-asserted-by":"crossref","unstructured":"Manning C. D. Raghavan P. and Sch\u00fctze H. 2008. Introduction to Information Retrieval. Cambridge University Press.   Manning C. D. Raghavan P. and Sch\u00fctze H. 2008. Introduction to Information Retrieval. Cambridge University Press.","DOI":"10.1017\/CBO9780511809071"},{"volume-title":"Proceedings of the 11th IEEE Working Conference on Reverse Engineering (WCRE'04)","author":"Marcus A.","key":"e_1_2_1_36_1","unstructured":"Marcus , A. , Sergeyev , A. , Rajlich , V. , and Maletic , J . 2004. An information retrieval approach to concept location in source code . In Proceedings of the 11th IEEE Working Conference on Reverse Engineering (WCRE'04) . 214--223. Marcus, A., Sergeyev, A., Rajlich, V., and Maletic, J. 2004. An information retrieval approach to concept location in source code. In Proceedings of the 11th IEEE Working Conference on Reverse Engineering (WCRE'04). 214--223."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.84"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985809"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:AUSE.0000008666.56394.a1"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/279310.279314"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2377656.2377660"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.1016"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1141277.1141605"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070525"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2010.10"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081711"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/13487689.13487691"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.101"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1189748.1189751"},{"key":"e_1_2_1_50_1","unstructured":"Robillard M. P. Shepherd D. Hill E. Vijay-Shanker K. and Pollock L. 2007. An Empirical Study of the Concept Assignment Problem. McGill University Montreal Quebec.  Robillard M. P. Shepherd D. Hill E. Vijay-Shanker K. and Pollock L. 2007. An Empirical Study of the Concept Assignment Problem. McGill University Montreal Quebec."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167508"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287629"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2008.26"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063239.2063243"},{"volume-title":"Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98)","author":"Sim S. E.","key":"e_1_2_1_55_1","unstructured":"Sim , S. E. , Clarke , C. L. A. , and Holt , R. C . 1998. Archetypal source code searches: A survey of software developers and maintainers . In Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98) . 180--187. Sim, S. E., Clarke, C. L. A., and Holt, R. C. 1998. Archetypal source code searches: A survey of software developers and maintainers. In Proceedings of the 6th International Workshop on Program Comprehension (IWPC'98). 180--187."},{"volume-title":"Statistics for the Social Sciences","author":"Sirkin R.","key":"e_1_2_1_56_1","unstructured":"Sirkin , R. 2006. Statistics for the Social Sciences . Sage . Sirkin, R. 2006. Statistics for the Social Sciences. Sage."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321440.1321528"},{"volume-title":"Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM'09)","author":"Starke J.","key":"e_1_2_1_58_1","unstructured":"Starke , J. , Luce , C. , and Sillito , J . 2009. Searching and skimming: An exploratory study . In Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM'09) . Starke, J., Luce, C., and Sillito, J. 2009. Searching and skimming: An exploratory study. In Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM'09)."},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2006.32"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/11424529_12"},{"key":"e_1_2_1_61_1","volume-title":"Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann, San Fransisco.","author":"Witten I.","year":"1999","unstructured":"Witten , I. , Moffat , A. , and Bell , T . 1999 . Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann, San Fransisco. Witten, I., Moffat, A., and Bell, T. 1999. Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann, San Fransisco."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/581339.581402"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-005-6206-x"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.v20:6"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522920.2522930","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2522920.2522930","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:34:53Z","timestamp":1750232093000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2522920.2522930"}},"subtitle":["Searching for relevant functions and their usages in millions of lines of code"],"short-title":[],"issued":{"date-parts":[[2013,10]]},"references-count":64,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,10]]}},"alternative-id":["10.1145\/2522920.2522930"],"URL":"https:\/\/doi.org\/10.1145\/2522920.2522930","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2013,10]]},"assertion":[{"value":"2011-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-10-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}