skip to main content


Title: One-off events? An empirical study of hackathon code creation and reuse
Abstract Context

Hackathons have become popular events for teams to collaborate on projects and develop software prototypes. Most existing research focuses on activities during an event with limited attention to the evolution of the hackathon code.

Objective

We aim to understand the evolution of code used in and created during hackathon events, with a particular focus on the code blobs, specifically, how frequently hackathon teams reuse pre-existing code, how much new code they develop, if that code gets reused afterwards, and what factors affect reuse.

Method

We collected information about 22,183 hackathon projects from Devpost and obtained related code blobs, authors, project characteristics, original author, code creation time, language, and size information from World of Code. We tracked the reuse of code blobs by identifying all commits containing blobs created during hackathons and identifying all projects that contain those commits. We also conducted a series of surveys in order to gain a deeper understanding of hackathon code evolution that we sent out to hackathon participants whose code was reused, whose code was not reused, and developers who reused some hackathon code.

Result

9.14% of the code blobs in hackathon repositories and 8% of the lines of code (LOC) are created during hackathons and around a third of the hackathon code gets reused in other projects by both blob count and LOC. The number of associated technologies and the number of participants in hackathons increase reuse probability.

Conclusion

The results of our study demonstrates hackathons are not always “one-off” events as the common knowledge dictates and it can serve as a starting point for further studies in this area.

 
more » « less
NSF-PAR ID:
10372217
Author(s) / Creator(s):
; ; ; ;
Publisher / Repository:
Springer Science + Business Media
Date Published:
Journal Name:
Empirical Software Engineering
Volume:
27
Issue:
7
ISSN:
1382-3256
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. null (Ed.)
    Background: Hackathons have become popular events for teams to collaborate on projects and develop software prototypes. Most existing research focuses on activities during an event with limited attention to the evolution of the code brought to or created during a hackathon. Aim: We aim to understand the evolution of hackathon-related code, specifically, how much hackathon teams rely on pre-existing code or how much new code they develop during a hackathon. Moreover, we aim to understand if and where that code gets reused, and what factors affect reuse. Method: We collected information about 22,183 hackathon projects from DEVPOST– a hackathon database – and obtained related code (blobs), authors, and project characteristics from the WORLD OF CODE. We investigated if code blobs in hackathon projects were created before, during, or after an 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 blobs created during an event before determining all projects that contain those commits. Result: While only approximately 9.14% of the code blobs are created during hackathons, this amount is still significant considering time and member constraints of such events. Approximately a third of these code blobs get reused in other projects. The number of associated technologies and the number of participants in a project increase reuse probability. Conclusion: Our study demonstrates to what extent pre-existing code is used and new code is created during a hackathon and how much of it is reused elsewhere afterwards. 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. 
    more » « less
  2. null (Ed.)
    Time-bounded events such as hackathons have become a global phenomenon. Scientific communities in particular show growing interest in organizing them to attract newcomers and develop technical artifacts to expand their code base. Current hackathon approaches presume that participants have sufficient expertise to work on projects on their own. They only provide occasional support by domain experts serving as mentors which might not be sufficient for newcomers. Drawing from work on workplace and educational mentoring, we developed and evaluated an approach where each hackathon team is supported by a community member who serves in a mentor role that goes beyond providing occasional support. Evaluating this approach, we found that teams who took ownership of their projects, set achievable goals early while building social ties with their mentor and receiving learning-oriented support reported positive perceptions related to their project and an increased interest in the scientific community that organized the hackathon. Our work thus contributes to our understanding of mentoring in hackathons, an area which has not been extensively studied. It also proposes a feasible approach for scientific communities to attract and integrate newcomers which is crucial for their long-term survival. 
    more » « less
  3. Kazarinoff, P. ; Cossette, M. (Ed.)
    Life science organizations are increasingly using hackathons to bring communities together to tackle shared problems, teach skills, and develop new resources. In this study, we explored the potential benefits of hackathons for the biotechnology workforce education community by organizing two hackathons centered around developing research projects in antibody engineering—a practice widely employed in the biotechnology industry but uncommon in biotechnology education. To integrate antibody engineering into courses, instructors need protocols for both computational and laboratory methods. Developing and testing these protocols provides rich opportunities for undergraduate research, allowing students to learn industry-relevant skills and contribute to creating materials for the community. During the hackathons, teams of faculty, students, and industry partners collaborated to generate several new research projects. Each hackathon was only a few days, yet student participants reported benefits similar to those attributed to traditional undergraduate research experiences. We share lessons learned from these hackathons and provide insights for the workforce education community for hosting similar events. 
    more » « less
  4. Life science organizations are increasingly using hackathons to bring communities together to tackle shared problems, teach skills, and develop new resources. In this study, we explored the potential benefits of hackathons for the biotechnology workforce education community by organizing two hackathons centered around developing research projects in antibody engineering—a practice widely employed in the biotechnology industry but uncommon in biotechnology education. To integrate antibody engineering into courses, instructors need protocols for both computational and laboratory methods. Developing and testing these protocols provides rich opportunities for undergraduate research, allowing students to learn industry-relevant skills and contribute to creating materials for the community. During the hackathons, teams of faculty, students, and industry partners collaborated to generate several new research projects. Each hackathon was only a few days, yet student participants reported benefits similar to those attributed to traditional undergraduate research experiences. We share lessons learned from these hackathons and provide insights for the workforce education community for hosting similar events. 
    more » « less
  5. Our world’s complex challenges increase the need for those entering STEAM (Science, Technology, Engineering, Arts, and Math) disciplines to be able to creatively approach and collaboratively address wicked problems – complex problems with no “right” answer that span disciplines. Hackathons are environments that leverage problem-based learning practices so student teams can solve problems creatively and collaboratively by developing a solution to given challenges using engineering and computer science knowledge, skills, and abilities. The purpose of this paper is to offer a framework for interdisciplinary hackathon challenge development, as well as provide resources to aid interdisciplinary teams in better understanding the context and needs of a hackathon to evaluate and refine hackathon challenges. Three cohorts of interdisciplinary STEAM researchers were observed and interviewed as they collaboratively created a hackathon challenge incorporating all cohort-member disciplines for an online high school hackathon. The observation data and interview transcripts were analyzed using thematic analysis to distill the processes cohorts underwent and resources that were necessary for successfully creating a hackathon challenge. Through this research we found that the cohorts worked through four sequential stages as they collaborated to create a hackathon challenge. We detail the stages and offer them as a framework for future teams who seek to develop an interdisciplinary hackathon challenge. Additionally, we found that all cohorts lacked the knowledge and experience with hackathons to make fully informed decisions related to the challenge’s topic, scope, outcomes, etc. In response, this manuscript offers five hackathon quality considerations and three guiding principles for challenge developers to best meet the needs and goals of hackathon sponsors and participants. 
    more » « less