[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3196398.3196467acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Detecting and characterizing developer behavior following opportunistic reuse of code snippets from the web

Published: 28 May 2018 Publication History

Abstract

Modern software development is social and relies on many online resources and tools. In this paper, we study opportunistic code reuse from the Web, e.g., when developers copy code snippets from popular Q&A sites and paste them into their projects. Our focus is the behavior of developers following opportunistic code reuse, which reveals the success or failure of the action. We study developer behavior via a large, representative dataset of micro-interactions in the IDE. Our analysis of developer behavior exhibited in this dataset confirms laboratory study observations that code reuse from the Web is followed by heavy editing, in some cases by a rapid undo, and rarely by the execution of tests.

References

[1]
A. Armaly and C. McMillan. 2016. Pragmatic source code reuse via execution record and replay. Journal of Software: Evolution and Process 28, 8 (2016), 642--664.
[2]
J. Brandt, P.J. Guo, J. Lewenstein, M. Dontcheva, and S.R. Klemmer. 2009. Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code. In Proc. ACM CHI Conference on Human Factors in Computing Systems (CHI'09). 1589--1598.
[3]
J. Brandt, P.J. Guo, J. Lewenstein, M. Dontcheva, and S.R. Klemmer. 2009. Writing Code to Prototype, Ideate, and Discover. IEEE Software 26, 5 (Sept.-Oct. 2009).
[4]
P. Chatterjee, M.A. Nishi, K. Damevski, V. Augustine, L. Pollock. and N.A. Kraft. 2017. What Information about Code Snippets Is Available in Different Software-Related Documents? An Exploratory Study. In Proc, 24th IEEE Int'l Conf. on Software Analysis, Evolution, and Reengineering (SANER'17).
[5]
D. Chatterji, J.C. Carver, N.A. Kraft, and J. Harder. 2013. Effects of cloned code on software maintainability: A replicated developer study. In Proc. 20th Working Conf. on Reverse Engineering (WCRE'13). 112--121.
[6]
C.S. Corley, F. Lois, and S.F. Quezada. {n. d.}. Web Usage Patterns of Developers. In Proc. 31st Int'l Conf. on Software Maintenance and Evolution (ICSME'15).
[7]
K. Damevski, H. Chen, D. Shepherd, and L. Pollock. 2016. Interactive Exploration of Developer Interaction Traces using a Hidden Markov Model. In Proc. 13th Int'l Conf. on Mining Software Repositories (MSR'16).
[8]
K. Damevski, D. Shepherd, and L. Pollock. 2015. A Field Study of How Developers Locate Features in Source Code. Empirical Software Engineering 21, 2 (2015), 724--747.
[9]
K. Damevski, D. Shepherd, J. Schneider, and L. Pollock. 2016. Mining Sequences of Developer Interactions in Visual Studio for Usage Smells. IEEE Trans. Softw. Eng. (2016).
[10]
R. Delamare and N.A. Kraft. 2012. A genetic algorithm for computing class integration test orders for aspect-oriented systems. In Proc. 5th Int'l Conf. on Software Testing, Verification, and Validation. 804--813.
[11]
E. Duala-Ekoko and M. Robillard. 2012. Asking and answering questions about unfamiliar APIs: An exploratory study. In Proc. 34th Int'l Conf. on Software Engineering (ICSE'12).
[12]
R. Holmes and R. Walker. 2012. Systematizing pragmatic software reuse. ACM Transactions on Software Engineering and Methodology 21, 4 (Nov. 2012).
[13]
H. Li, Z. Xing, X. Peng, and W. Zhao. 2013. What help do developers seek, when and how?. In Proc. 20th Working Conf. on Reverse Engineering (WCRE'13).
[14]
S. Proksch, S. Amann, and S. Nadi. 2018. Enriched Event Streams: A General Dataset for Empirical Studies on In-IDE Activities of Software Developers. In Proc. 15th Working Conference on Mining Software Repositories (MSR'18).
[15]
V. Singh, L. Pollock, W. Snipes, and N.A. Kraft. 2016. A Case Study of Program Comprehension Effort and Technical Debt Estimations. In Proc. 24th IEEE Int'l Conf. on Program Comprehension (ICPC'16).
[16]
V. Singh, W. Snipes, and N.A. Kraft. 2014. A Framework for Estimating Interest on Technical Debt by Monitoring Developer Activity Related to Code Comprehension. In Proc. 6th IEEE Int'l Wksp. on Managing Technical Debt (MTD'14).
[17]
D. Yang, P. Martins, V. Saini, and C. Lopes. 2017. Stack Overflow in GitHub: Any Snippets There?. In Proc. 14th Int'l Conf. on Mining Software Repositories (MSR'17). 280--290.

Cited By

View all
  • (2023)Novice Programmers Strategies for Online Resource Use and Their Impact on Source Code2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)10.1109/CHASE58964.2023.00018(92-104)Online publication date: May-2023
  • (2022)Cost–benefit considerations have limited effect on the decision to exert cognitive effort in real-world computer-programming tasksRoyal Society Open Science10.1098/rsos.2118859:6Online publication date: 22-Jun-2022
  • (2022)ModelVars2SPL: From UML Class Diagram Variants to Software Product Line Core AssetsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_9(221-250)Online publication date: 5-Jul-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '18: Proceedings of the 15th International Conference on Mining Software Repositories
May 2018
627 pages
ISBN:9781450357166
DOI:10.1145/3196398
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: 28 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code snippet
  2. developer behavior
  3. field study
  4. interaction data
  5. opportunistic reuse

Qualifiers

  • Short-paper

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)Novice Programmers Strategies for Online Resource Use and Their Impact on Source Code2023 IEEE/ACM 16th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE)10.1109/CHASE58964.2023.00018(92-104)Online publication date: May-2023
  • (2022)Cost–benefit considerations have limited effect on the decision to exert cognitive effort in real-world computer-programming tasksRoyal Society Open Science10.1098/rsos.2118859:6Online publication date: 22-Jun-2022
  • (2022)ModelVars2SPL: From UML Class Diagram Variants to Software Product Line Core AssetsHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_9(221-250)Online publication date: 5-Jul-2022
  • (2020)Exploring Programmers' API Learning Processes: Collecting Web Resources as External Memory2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127274(1-10)Online publication date: Aug-2020
  • (2020)Recognizing Developer Activity Based on Joint Modeling of Code and Command InteractionsIEEE Access10.1109/ACCESS.2020.30401568(211653-211664)Online publication date: 2020
  • (2020)CROKAGE: effective solution recommendation for programming tasks by leveraging crowd knowledgeEmpirical Software Engineering10.1007/s10664-020-09863-225:6(4707-4758)Online publication date: 1-Nov-2020
  • (2020)On opportunistic software reuseComputing10.1007/s00607-020-00833-6102:11(2385-2408)Online publication date: 1-Nov-2020
  • (2019)Impact of Team Size, Project Scale and Level of Education on Software Build Event Status in Enriched Event Streams2019 27th Iranian Conference on Electrical Engineering (ICEE)10.1109/IranianCEE.2019.8786442(2045-2049)Online publication date: Apr-2019

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