language-icon Old Web
English
Sign In

The Secret Life of Hackathon Code

2021 
Background: Hackathons have become popular events for teams to collaborate on projects and develop software prototypes. Most existing research focuses on the activities of the event with limited attention to the evolution of the code brought to or created in a hackathon. Aim: We aim to understand the evolution of hackathon-related code, specifically, how much hackathon teams rely on pre-existing code or on new code developed during a hackathon, if and where that code gets reused, and what factors affect hackathon code reuse. Method: We collected information for 22,183 hackathon projects from DevPost - a hackathon database - and obtained the code (blobs), authors, and project characteristics from the World of Code. We investigated if the code blobs in hackathon projects were created before, during, or after the event by identifying the original blob creation date and author, and also checked if the original author was a hackathon project member. We tracked code reuse by first identifying all commits containing the hackathon-created blobs created during the event and then determining all projects with those commits. Result: While only approximately 9.14% of the code blobs are created during the hackathons, this amount is significant considering the time and member constraints. Approximately a third of such code blobs get reused in other projects. The number of associated technologies and the number of participants in a project increase the code reuse probability. Conclusion: Our study demonstrates to what extent pre-existing code is reused and new code is created during a hackathon and how much of it is reused elsewhere. Our findings help to better understand code reuse as a phenomenon and the role of hackathons in this context and can serve as a starting point for further studies in this area.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    57
    References
    2
    Citations
    NaN
    KQI
    []