Bilkent University
Department of Computer Engineering
M.S.THESIS PRESENTATION
AASSESSING SOFTWARE EVOLUTION WITH THE STICKINESS SCORE: EVALUATING CODE PERSISTENCE ACROSS FILES, FOLDERS, AND DEVELOPERS
Selen Uysal
Master Student
(Supervisor: Asst.Prof.Eray Tüzün)
Computer Engineering Department
Bilkent University
Abstract: Software evolution involves continuous code changes, making it essential to understand factors that influence code stability and persistence. This study introduces a metric called the “Stickiness Score”, measuring the longevity of lines of code (LOC) within a project. It reflects how much of the LOC written by developers or belonging to a specific file or folder has persisted over time. The goal is to examine its correlation with various software metrics: contributor count, developer Stickiness Scores (average, commit-weighted average, and LOC-weighted average), cyclomatic complexity, bug-fix count, and static code analysis metrics, including bug and code smell counts. Stickiness Scores for developers, files, and folders are calculated using the tool developed for this study, Devotion, across five open-source projects. Spearman correlation tests were used to analyze the relationship between file Stickiness Scores and the specified software metrics. Contributor count exhibited a strong negative correlation with file Stickiness Scores. Commit- and LOC-weighted developer Stickiness Scores showed positive correlations, while unweighted averages produced mixed results. Cyclomatic complexity, bug-fix count, and code smell count showed inconsistent correlations. The bug counts in files showed no significant correlation. In conclusion, files with more contributors or frequent bug-related changes tend to be less sticky. In contrast, files modified by high-commit or high-volume contributions from developers with higher stickiness tend to persist longer. The Stickiness Score provides valuable insight into how contributor activity, code complexity, bugginess, and smells relate to code longevity. Keywords: Software Development, Code Stickiness, Code Survival, Code Churn, Correlation Analysis, Survival Analysis
DATE: April 10, Thursday @ 14:30 Place: EA 409