[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2145204.2145407acmconferencesArticle/Chapter ViewAbstractPublication PagescscwConference Proceedingsconference-collections
research-article

Software reuse through methodical component reuse and amethodical snippet remixing

Published: 11 February 2012 Publication History

Abstract

Every method for developing software is a prescriptive model. Applying a deconstructionist analysis to methods reveals that there are two texts, or sets of assumptions and ideals: a set that is privileged by the method and a second set that is left out, or marginalized by the method. We apply this analytical lens to software reuse, a technique in software development that seeks to expedite one's own project by using programming artifacts created by others. By analyzing the methods prescribed by Component-Based Software Engineering (CBSE), we arrive at two texts: Methodical CBSE and Amethodical Remixing. Empirical data from four studies on code search on the web draws attention to four key points of tension: status of component boundaries; provenance of source code; planning and process; and evaluation criteria for candidate code. We conclude the paper with a discussion of the implications of this work for the limits of methods, structure of organizations that reuse software, and the design of search engines for source code.

References

[1]
Brandt, J., Guo, P. J., Lewenstein, J., Dontcheva, M., and Klemmer, S. R., "Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning and Writing Code," in Proceedings of the 27th international conference on Human factors in computing systems Boston, MA, pp. 1589--1598, 2009.
[2]
Brooks, F. P., "No Silver Bullet - Essence and Accidents of Software Enginering," IEEE Computer, vol. 20, pp. 10--19, 1987.
[3]
Chen, W., Li, J., Ma, J., Conradi, R., Ji, J., and Liu, C., "An Empirical Study of Software Development with Open Source Components in the Chinese Software Industry," Software Process: Improvement and Practice, vol. 13, pp. 89--100, January 2008.
[4]
Conway, M. E., "How Do Committees Invent?," Datamation, vol. 14, pp. 28--31, 1968.
[5]
de Souza, C. R. and Redmiles, D. F., "On the Roles of Apis in the Coordination of Collaborative Software Development," Computer Supported Cooperative Work, vol. 18, pp. 445--475, 2009.
[6]
Frakes, W. and Terry, C., "Software Reuse: Metrics and Models," ACM Computing Surveys, vol. 28, pp. 415--435, 1996.
[7]
Fugetta, A., "A Classification of Case Technology," IEEE Computer, vol. 26, pp. 25--38, 1993.
[8]
Gallardo-Valencia, R.E. and Sim, S.E., "Enacting Software Processes through Prescription and Improvisation," in ACM Crossroads. vol. 14, p. 3 (8 pages), 2007.
[9]
Global Radio. Summertime Ball 2010 - the Party of the Summer! - Capital Fm. Available from: http://www.capitalfm.com/music-showbiz/summertimeball/, Last accessed November 18.
[10]
Grinter, R. E., "Recomposition: Coordinating a Web of Software Dependencies," Computer Supported Cooperative Work, vol. 12, pp. 297--327, 2003.
[11]
Henning, M., "The Rise and Fall of Corba," ACM Queue, vol. 4, 2006.
[12]
Holmes, R. and Murphy, G. C., "Using Structural Context to Recommend Source Code Examples," in Proceedings of the 27th International Conference on Software Engineering., New York, NY: ACM Press, pp. 117--125, 2005.
[13]
Jick, T. D., "Mixing Qualitative and Quantitative Methods: Triangulation in Action," Administrative Science Quarterly, vol. 24, pp. 602--611, 1979.
[14]
Larman, C. and Basili, V. R., "Iterative and Incremental Development: A Brief History," IEEE Computer, vol. 36, pp. 47--56, 2003.
[15]
Latour, B., Science in Action. Cambridge: Harvard University Press, 1988.
[16]
McIlroy, M. D., "Mass Produced Software Components," in Software Engineering: Report of a Conference Sponsored by the Nato Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Peter Naur and Brian Randell, Eds.: Scientific Affairs Division, NATO1969.
[17]
Mili, H., Mili, F., and Mili, A., "Reusing Software: Issues and Research Directions," IEEE Transactions on Software Engineering, vol. 21, pp. 528--562, 1995.
[18]
Norris, J. S., "Mission-Critical Development with Open Source Software: Lessons Learned," IEEE Software, vol. 21, pp. 42--49, 2004.
[19]
Nuseibeh, B., "Weaving Together Requirements and Architectures," IEEE Software, vol. 34, pp. 115--119, 2001.
[20]
Paulk, M. C., Weber, C. V., Curtis, B., and Chrissis, M. B., "The Capability Maturity Model: Guidelines for Improving the Software Process," Addison-Wesley Publishing Company, 1994.
[21]
Prieto-Díaz, R., "Implementing Faceted Classification for Software Reuse," Commun. ACM, vol. 34, pp. 88--97, 1991.
[22]
Roseman, J., Audio Mashup Construction Kit: Extremetech. Wiley, 2006.
[23]
Sametinger, J., Software Engineering with Reusable Components: Springer, 1997.
[24]
Sim, S. E., Umarji, M., Ratanotayanon, S., and Lopes, C. V., "How Well Do Search Engines Support Code Retrieval on the Web?," ACM Transactions on Software Engineering and Methodology, vol. 21, 2012.
[25]
Suchman, L. A., Plans and Situated Actions: The Problem of Human-Machine Interaction: Cambridge University Press, 1987.
[26]
Teixeira, C. A. N. and Cukierman, H. L., "Why Do Software Process Improvement Projects Fail?," Interdisciplinary Studies in Computer Science, vol. 18, pp. 24--32, 2007.
[27]
Truex, D., Baskerville, R., and Travis, J., "Amethodical Systems Development: The Deferred Meaning of Systems Development Methods," Accounting, Management, and Information Technology, vol. 10, pp. 53--79, 2000.
[28]
Umarji, M., Sim, S. E., and Lopes, C. V., "Archetypal Internet-Scale Source Code Searching," in 4th International Conference on Open Source Systems, Milan, Italy, p. 7, 2008.
[29]
van Vliet, H., Software Engineering: Principles and Practice, Third Edition: John Wiley & Sons, 2008.

Cited By

View all
  • (2023)Immersive Sampling: Exploring Sampling for Future Creative Practices in Media-Rich, Immersive SpacesProceedings of the 2023 ACM Designing Interactive Systems Conference10.1145/3563657.3596131(212-229)Online publication date: 10-Jul-2023
  • (2021)Googling for Software Development: What Developers Search For and What They Find2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)10.1109/MSR52588.2021.00044(317-328)Online publication date: May-2021
  • (2021)Improved retrieval of programming solutions with code examples using a multi-featured scoreJournal of Systems and Software10.1016/j.jss.2021.111063181:COnline publication date: 1-Nov-2021
  • Show More Cited By

Index Terms

  1. Software reuse through methodical component reuse and amethodical snippet remixing

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CSCW '12: Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work
    February 2012
    1460 pages
    ISBN:9781450310864
    DOI:10.1145/2145204
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 February 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. feminist
    2. inclusive design
    3. science and technology studies
    4. software development
    5. tools and methods

    Qualifiers

    • Research-article

    Conference

    CSCW '12
    Sponsor:
    CSCW '12: Computer Supported Cooperative Work
    February 11 - 15, 2012
    Washington, Seattle, USA

    Acceptance Rates

    CSCW '12 Paper Acceptance Rate 164 of 415 submissions, 40%;
    Overall Acceptance Rate 2,235 of 8,521 submissions, 26%

    Upcoming Conference

    CSCW '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Immersive Sampling: Exploring Sampling for Future Creative Practices in Media-Rich, Immersive SpacesProceedings of the 2023 ACM Designing Interactive Systems Conference10.1145/3563657.3596131(212-229)Online publication date: 10-Jul-2023
    • (2021)Googling for Software Development: What Developers Search For and What They Find2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)10.1109/MSR52588.2021.00044(317-328)Online publication date: May-2021
    • (2021)Improved retrieval of programming solutions with code examples using a multi-featured scoreJournal of Systems and Software10.1016/j.jss.2021.111063181:COnline publication date: 1-Nov-2021
    • (2019)Large-scale path modeling of remixing to computational thinkingInteractive Learning Environments10.1080/10494820.2019.157319929:3(414-427)Online publication date: 30-Jan-2019
    • (2017)What do developers search for on the web?Empirical Software Engineering10.1007/s10664-017-9514-422:6(3149-3185)Online publication date: 1-Dec-2017
    • (2014)Improving effectiveness of testing using reusability factor2014 International Conference on Computer and Information Sciences (ICCOINS)10.1109/ICCOINS.2014.6868451(1-5)Online publication date: Jun-2014

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media