ICSE 2021
SameFile,DifferentChanges:
ThePotentialofMeta-MaintenanceonGitHub
HIDEAKI HATA, RAULA GAIKOVINA KULA, TAKASHI ISHIO, CHRISTOPH TREUDE
Meta-maintenance:aconcept
2
Potentialofmeta-maintenance
3
Prevalence of the same files in software repositories
Relationships among repositories with the common files
Types of the same files
Main drivers for the changes to the same files
Uniqueness of the evolution in the same files
Developer feedback
Anexploratorystudy
4
Studieddata
5
# REPOSITORIES FILE EXTENSIONS
C 2,962 .C, .H
C++ 3,824
.CC, .CP, .CPP, .CX, .CXX, .C++,
.HH, .HP, .HPP, .HXX, .H++
JAVA 5,427 .JAVA
JAVASCRIPT 7,960 .JS
PYTHON 6,087 .PY
PHP 3,388 .PHP
RUBY 2,359 .RB
Sharingthesamefilesiscommon
C
C++
Java
JavaScript
Python
PHP
Ruby
0 25 50 75 100
with without
6
Stratifiedsamplingforqualitativeanalyses
7
# of projects containing the same files
#
of
the
same
files
Repositoriesinprojectgroups
related non-related
8
# of projects containing the same files
#
of
the
same
files
Typesofthesamefiles
library
utility
library configuration utility other
9
# of projects containing the same files
#
of
the
same
files
Changesforthesamefiles
project-specific
library update
known origin
known origin library update project-specific tangled update other
10
# of projects containing the same files
#
of
the
same
files
Developerfeedback
11
FOR 3RD PARTY COMPONENTS, WE USE TOOLS LIKE NPM OR
COMPOSER TO UPDATE THEM TO THE LATEST VERSION. ONLY IF WE
HAVE TO SUPPORT A PARTICULAR VERSION WE MAINTAIN THE FILES
OUR SELF AND ONLY FOR SECURITY FIXES.
WE ARE NOT INTERESTED IN ANOTHER FORK WITH PROBABLY
OUTDATED CODE, OR CODE THAT CONFLICTS WITH OUR CHANGES. ...
MAINTAINING CODE FROM OTHERS IS ALWAYS PROBLEMATIC. IT’S
HARD ENOUGH TO KEEP OUR OWN CHANGES WORKING.
THEY MAY HAVE PERFORMANCE OR OTHER IMPROVEMENTS.
More programming languages, different types of files
Extend the analysis to examine the evolution of filesets and code fragments
Automate analysis to identify useful changes
System development for meta-maintenance
Openchallenges
12
https://github.com/NAIST-SE/MetaMaintenancePotential

Same File, Different Changes: The Potential of Meta-Maintenance on GitHub