Abstract
To gain a better understanding of what, how, and why programmers search for code on the Internet, we conducted a web-based survey to understand the source code searching behavior of programmers, specifically, their search motivations, search targets, tools used, and code selection criteria. Data was collected from 69 respondents, including 58 specific examples of searches. We applied open coding to these anecdotes and found two major archetypes and one minor archetype, as well as, a range of sizes for search targets. The first archetype was searching for source code that could be excised and dropped into a project. The second archetype was searching for examples of source code to provide information, for example, using the World Wide Web as an enormous desk reference. The targets of these searches could vary in size from a few lines of code to an entire system. The minor archetype was searching for reports and repairs of defects. Factors affecting the final selection of a candidate piece of code included: peer recommendations; availability of help from other programmers; and the level of activity on a project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
D.A. deVaus. Surveys in Social Research. UCL Press, London, fourth edition. edition, 1996.
T. Eisenbarth, R. Koschke, and D. Simon. Aiding program comprehension by static and dynamic feature analysis. In Proceedings of the IEEE International Conference on Software Maintenance., pages 602–611, 2001. TY - CONF.
Mark Eisenstadt. My hairiest bug war stories. Communications of the ACM, 40(4):30–37, 1997.
Gerhard Fischer, Scott Henninger, and David Redmiles. Cognitive tools for locating and comprehending software objects for reuse. In Proceedings of the 13th international conference on Software engineering, pages 318–328, Austin, Texas, United States, 1991. IEEE Computer Society Press.
R. Goldman and R.P. Gabriel. Innovation Happens Elsewhere: Open Source as Business Strategy. Morgan Kaufmann Publishers, San Francisco, CA, 2005.
Jean Lave and Etienne Wenger. Situated Learning: legitimate peripheral participation. Cambridge University Press, England, 1991.
M. B. Miles and A. M. Huberman. Qualitative data analysis. Sage Publications, Thousand Oaks, CA, 1994.
H. A. Muller and K. Klashinsky. Rigi-a system for programming-in-the-large. In Proceedings of the 10th international conference on Software engineering, pages 80–86, Singapore, 1988. IEEE Computer Society Press.
E. B. Parker and W. J. Paisley. Information retrieval as a receiver-controlled communication system. Education for Information Science, pages 23–31, 1965.
Ruben Prieto-Diaz. Implementing faceted classification for software reuse. Communications of the ACM, 34(5):88–97, 1991.
Soo Young Rieh. Judgment of information quality and cognitive authority in the web. Journal of the American Society for Information Science & Technology, 53(2):145–161, 2002.
S. E. Sim, C. L. A. Clarke, and R. C. Holt. Archetypal source code searches: A survey of software developers and maintainers. In Proceedings of the 6th International Workshop on Program Comprehension, page 180, Los Alamitos, CA, 1998. IEEE Computer Society.
Janice Singer and Timothy Lethbridge. What’s so great about ‘grep’? implications for program comprehension tools. Technical report, National Research Council, Canada, 1997.
Janice Singer, Timothy Lethbridge, Norman Vinson, and Nicolas Anquetil. An examination of software engineering work practices. In Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, page 21, Toronto, Ontario, Canada, 1997. IBM Press.
Diomidis Spinellis and Clemens Szyperski. Guest editors’ introduction: How is open source affecting software development? IEEE Software, 21(1):28–33, 2004.
Margaret-Anne D. Storey. Theories, tools and research methods in program comprehension: past, present and future. Software Quality Journal, 14(3): 187–208, 2006.
Anselm Strauss and Juliet Corbin. Basics of Qualitative Research: Grounded Theory Procedures and Technique. Sage Publications, Thousand Oaks, 1990.
Louise T. Su. A comprehensive and systematic model of user evaluation of web search engines: I. theory and background. Journal of the American Society for Information Science & Technology, 54(13):1175–1192, 2003.
V. M. Sue and L. A. Ritter. Conducting Online Surveys. Sage Publications, Thousand Oaks, CA, 2007.
Scott R. Tilley, Dennis B. Smith, and Santanu Paul. Towards a framework for program understanding. In Proceedings of the 4th International Workshop on Program Comprehension (WPC ’96), page 19. IEEE Computer Society, 1996.
Medha Umarji, Susan Elliott Sim, and Cristina V. Lopes. Archetypal internet-scale source code searching. In Barbara Russo, editor, OSS, page 7, New York, NY, 2008. Springer.
H. Wang, M. Xie, and T. N. Goh. Service quality of internet search engines. Journal of Information Science, 25(6):499–507, 1999.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media New York
About this chapter
Cite this chapter
Umarji, M., Sim, S.E. (2013). Archetypal Internet-Scale Source Code Searching. In: Sim, S.E., Gallardo-Valencia, R.E. (eds) Finding Source Code on the Web for Remix and Reuse. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6596-6_3
Download citation
DOI: https://doi.org/10.1007/978-1-4614-6596-6_3
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-6595-9
Online ISBN: 978-1-4614-6596-6
eBook Packages: Computer ScienceComputer Science (R0)