Dans cette présentation je parle des travaux de recherche en cours par le Service de Génie Logiciel (Département d'Informatique, Faculté de Sciences) de l'Université de Mons (Belgique) sur l'évolution et la santé des écosystèmes logiciels, dans le cadre de deux projets de recherche interuniversitaires SECOHealth (2017-2019) et le projet Excellence of Science SECO-ASSIST (2018-2021). Ces projets sont effectués en partenariat avec d'autres universités au Québec (Canada) et en Belgique.
ConPan: Analysing Packages Installed in Docker Containers
La santé des écosystèmes des logiciels open source
1. Prof. Dr. Tom Mens
Service de Génie Logiciel
Département d'Informatique
tom.mens@umons.ac.be
http://informatique.umons.ac.be
La santé des écosystèmes
des logiciels open source
4. Un écosystème logiciel est ...
• Complexe (big data!)
• Hétérogène
• D'une grande longévité
• En constante évolution et croissance
• Socio-technique
5. • Bugs
• Problèmes de sécurité
• Problèmes de dépendance
• Logiciels abandonnés ou dépassés
• ...
Technical
• Manque de communication / interaction
• Conflits sociaux
• Abandon des contributeurs
• Diversité insuffisante
• ...
Problèmes de santé
6. 10 ans de recherche sur les
écosystèmes logiciels
2012-2017
2017-2019
2018-2021
7. Dans un contexte plus large
• Today over 80 percent of the software in any technology product or
service is open source software (OSS).
• CHAOSS focuses on creating analytics and metrics to help define
OSS community health.
"The CHAOSS community is developing metrics, methodologies, and
software for expressing open source project health and sustainability. By
doing so, CHAOSS seeks to improve the transparency of open source
project health and sustainability so that relevant stakeholders can make
more informed decisions about open source project engagement."
https://chaoss.community
8. Nos objectifs de
recherche
Appliqué: Proposer des recommandations automatiques aux
communautés de développement permettant d'améliorer leur
productivité, interaction, qualité, et longévité.
Sociétal: Protéger la société des risques et dangers d'une
dépendance croissante des écosystèmes logiciels
Fondamental:
Etudier et comprendre les caractéristiques socio-techniques,
la complexité et la santé des écosystèmes logiciels.
Prédire l'évolution des écosystèmes logiciels
9. ECOS: Ecological Studies of
Open Source Software Ecosystems
(2012-2017)
Prof. Ph. Grosjean
Ecologie numérique des milieux aquatiques
Prof. T. Mens et Dr. M. Claes
Génie Logiciel
S'inspirer des principes des écosystèmes biologiques
(p.ex. la biodiversité) pour modéliser l'evolution des
écosystèmes logiciels.
14. seco-assist.github.io
@seco-assist
2018-2021
"SECO-ASSIST vise à réaliser une percée scientifique en
assistant les écosystèmes logiciels de l'avenir, par le
développement de nouvelles techniques de
recommandation logicielle qui considèrent la résilience,
l’évolutivité, l'hétérogénéité et les interactions sociales."
16. • Meilleurs tests de
logiciels
• Moins de bugs
• Faciliter la
réutilisation des
logiciels
• Optimiser
l'utilisation des
bases de
données
• Améliorer les
interactions
sociaux
UMONS UNamur
UAntwerpenVUB
17. Améliorer la santé sociale
• Identifier les contributeurs "toxiques"
• Attirer des nouveaux contributeurs
• Retenir les "contributeurs clés"
• S'assurer d'une diversité suffisante
• Prédire des abandons
• Trouver des remplacement adéquates
18. Améliorer la santé technique
• Meilleurs tests, tenant compte des composants logiciels
dépendants
è moins de bugs; moins de problèmes de sécurité
• Meilleure productivité par l'utilisation des "bibliothèques
logiciels" réutilisables
• Meilleure évolutivité en supportant les migrations (vers
d'autres bibliothèques, d'autres technologies, ...)
20. S'inspirer d'autres disciplines
L'écologie
• T Mens, P Grosjean (2015) The ecology of software ecosystems. IEEE Computer
48 (10), pp. 85-87
• B Vasilescu et al. (2015) Gender and tenure diversity in GitHub teams. CHI '15
Diversité socio-technique
• Est favorable pour la "survie" des projets logiciels et leurs
contributeurs
21. S'insprirer d'autres disciplines
Toxicologie
“the study of the adverse effects of chemical
or physical agents on living organisms”
• Any substance, while harmless or beneficial in small doses, can
become toxic or lethal in larger doses
• E.g. small disagreements between contributors can be beneficial,
but can become toxic if the conflict escalates.
K Carillo, J Marsan (2016) The dose makes the poison: Exploring
the toxicity phenomenon in online communities. ICIS '16
22. Recherche en cours
Etudes empiriques sur
• Comment retenir les contributeurs
• La structure des dépendances techniques dans un
écosystème
• La propagation des problèmes de santé à travers ces
dépendances
• Le "retard technique" causé par des dépendances qui ne
sont pas mis à jour