SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Nurturing the Software Ecosystems of the Future
Achievements of an Inter-University Research Project
Serge Demeyer, Tom Mens, Coen De Roover & Anthony Cleve
secoassist.github.io
@seco-assist
Duration: 4 years (2018-2022)
Budget: 2,4 million euros (150k per partner per year)
An "Excellence of Science" research project
Duration: 4 years (2018-2022)
Budget: 2,4 million euros (150k per partner per year)
An "Excellence of Science" research project
SOCIO - TECHNICAL
A software ecosystem is ...
X
SECO-ASSIST Research Goals
Today, over 80% of the software used in any IT product or service is open source
Societal challenge
Protect the society of the risks and dangers of an increasing dependence on software
ecosystems
Fundamental goals
Study and understand the socio-technical characteristics of software ecosystem health,
quality and sustainability over time
Predict/assist ecosystem evolution to increase long-term sustainability
Applied goal
Propose automated tools to help software development communities in increasing their
productivity, interaction, quality and resilience over time
SECO-ASSIST Research Goals
Improve social health
Retain key project contributors and attract new ones
Predict abandoners and suggest replacements
Identify toxic contributors
Ensure sufficient team diversity
Improve technical health
Better software tests, taking into account the software
dependencies, to reduce bugs and security leaks
Increase productivity and quality by using reusable
software libraries
Increase software maintainability by supporting
software upgrades and migration to new technologies
Improve interactions and co-evolution between data-
intensive software and their database(s)
SECO-ASSIST Research Goals
secoassist.github.io
@seco-assist
Tom
Mens
Anthony
Cleve
Coen
De Roover
Serge
Demeyer
social networks
software
testing
software
reuse
database
interactions
4 dimensions for analytics and recommendations
Socio-technical analysis of software contributor communities
evolution and impact of socio-technical congruence in software packaging ecosystems [ESEC/FSE 2019]
analysis of pull request comments in GitHub repositories [BENEVOL 2019]
probabilistic forecasting model to predict future activity of software project contributors [JSS 2020]
Detecting and analysing bot usage in development projects
identification of key characteristics exhibited by bot activities [BotSE 2020]
ML-based technique for detecting bots based on the repetitiveness of their commenting activity [JSS 2021]
study on the prevalence of bots as contributors in GitHub projects [IEEE Software 2022]
Improving development workflow automation
longitudinal study on the use and evolution of Continuous Integration tools in GitHub [SANER 2022]
large-scale quantitative analysis of the GitHub Actions ecosystem [ICSME 2022]
Studying variant projects in software families
study of the prevalence and importance of project forking in GitHub [BENEVOL 2020, EMSE 2022].
motivations for launching variants and impediments to maintaining the co-existing projects [SANER 2022]
study to quantify the extent of the sub-optimal maintenance in software families [ESEC/FSE22]
Main results – social networks & development workflows
Identifying inadequate test suites
mutation coverage to measure the strength of a test suite
recommendation of extra asserts to make the suite stronger [VST 2020]
Test amplification
first demonstration of the feasibility of test amplification for dynamically typed languages
SmallAmp – a tool to strengthen test suites within the Pharo Smalltalk ecosystem [EMSE 2022]
AmPyfier – first tool to strengthen test suites within the Python ecosystem [JSEP 2022]
Test transplantation
use tests from dependent projects to increase the coverage of base packages [EASE 2022]
use test slicing to reconstruct the appropriate object states when transplanting tests [SCAM 2022]
Main results – software testing
Release & implementation recommendations for library contributors
target = Ansible Galaxy ecosystem (reusable Infrastructure-as-Code libraries)
automated version increment recommendation (minor, major, patch) [SCAM 2020, JSS 2021, MSR 2021]
detection of 6 novel code smells related to Ansible’s semantics [MSR 2022]
Selection recommendations for library users
helping developers choose a library within vast ecosystems [SoHeal 2020, SCAM 2020, SANER 2022]
Instantiation recommendations for framework users
graph-based mining of frequent framework instantiation patterns [SANER 2019]
capturing the interplays between multiple related instantiation actions [SCAM 2022]
Dependency recommendations for library contributors
quantifying the problem of outdated dependencies [ICSME 2018, JSEP 2019, SANER 2019]
quantifying the outdatedness of packages pre-installed in DockerHub images [SCP 2021, EMSE 2021]
analyzing the adherence to semantic versioning [TSE 2019, SoHeal 2020, SCP 2021]
assessing the impact of security vulnerabilities [MSR 2018, EMSE 2022]
studying the practice of backporting fixes (including security patches) to older releases [TSE 2022]
Main results – software reuse
Static detection and analysis of SQL bad smells
static detection of bad smells in SQL queries [ICSE 2018]
prevalence and evolution of SQL code smells in data-intensive open source systems [MSR 2020]
Empirical studies on data-intensive systems
analyzing self-admitted technical debt in database access code [EMSE 2022]
investigating the (joint) use of data models and technologies [ER 2021]
Modeling, manipulating and evolving multi-database systems
HyDRa – a conceptual framework to design and manipulate hybrid polystores [ER 2021]
… and to ease their evolution [SANER 2022, BENEVOL 2022]
performance-based recommendation of polystore schema changes [BENEVOL 2022, ER 2022]
automated query adaptation to preserve system consistency [SCAM 2020]
Analyzing database-related testing practices
state-of-the-practice in testing database manipulation code [CAiSE 2021]
taxonomy of best practices for testing database code [Information Systems 2022]
Main results – database interactions
Open Source Tools (1)
BoDeGHA: A command-line tool to identify development bots in GitHub repositories by analysing pull request
and issue comments
https://github.com/mehdigolzadeh/BoDeGha
BoDeGiC: An (open source) command-line tool to identify bots in GitHub repositories by analysing git commit
messages
https://github.com/mehdigolzadeh/BoDeGiC
SQLInspect: A static SQL analyzer with plug-in support for Eclipse to inspect database usage in Java
applications
https://bitbucket.org/csnagy/sqlinspect
GAP: a command-line tool for forecasting future commit activity of contributors involved in software projects
distributed through git
https://github.com/AlexandreDecan/gap
ConPan: an open source command-line tool to inspect Docker containers
https://github.com/neglectos/ConPan
SmallAmp: a test amplification tool in Pharo Smalltalk to create new test methods based on manually written
ones to increase mutation coverage
https://github.com/mabdi/small-amp
Small-mince: A tool to slice tests in Pharo Smalltalk
https://github.com/mabdi/small-mince
PaReco: a tool to detect missed opportunities and effort duplication in ecosystems
https://github.com/KadjelRamkisoen/PaReco
Continuous Integration Antipattern Analyzer: a command line tool to analyze CI workflows in git repositories
https://github.com/FreekDS/CIAN
portion: a Python library (with 300+ stars on GitHub) providing data structures and operations to create,
manipulate and query disjunctions of intervals of any comparable objects and interval sets out of the box
https://github.com/AlexandreDecan/portion
SISMIC: a Python library providing a tool suite to define, simulate, execute and test statecharts, supporting test-
driven development, behaviour-driven development, design by contract, and property statecharts to monitor
violations of behavioural properties during statechart execution https://github.com/AlexandreDecan/sismic
Open Source Tools (2)
MUTAMA: a tool recommending MVNRepository tags for a given Java library
https://github.com/cvelazquezr/MUTAMA
RESICO: a tool for resolving the simple names of API types in incomplete code snippets (e.g., from Stack
Overflow) to their fully-qualified name https://github.com/cvelazquezr/RESICO
SCARE: a tool for extracting the structural changes between two releases of an Ansible role published on the
Ansible Galaxy ecosystem
https://github.com/ROpdebee/SCARE
LiFUSO: a tool for enumerating library features from its Stack Overflow posts
https://github.com/softwarelanguageslab/lifuso
HyDRa: a framework for hybrid polystore modeling and manipulation
https://github.com/gobertm/HyDRa
npmgraph: A tool for checking license compatibilities for npm packages
https://github.com/IlyasMakari/npmgraph.an
https://zenodo.org/record/5913761
Open Source Tools (3)
Career Perspective
(preliminary quantitative analysis)
10
PhD
3
Postdoc
3
Professor
2
Permanent researcher
6
Postdoc
8
PhD
secoassist.github.io
Visit our website for more info

Weitere ähnliche Inhalte

Ähnlich wie Nurturing the Software Ecosystems of the Future

Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Tao Xie
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...Tom Mens
 
Bug Triage: An Automated Process
Bug Triage: An Automated ProcessBug Triage: An Automated Process
Bug Triage: An Automated ProcessIRJET Journal
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingSebastiano Panichella
 
Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016PERICLES_FP7
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
Architecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfArchitecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfGail Murphy
 
A knowledge-workbench-for-software-development
A knowledge-workbench-for-software-developmentA knowledge-workbench-for-software-development
A knowledge-workbench-for-software-developmentDimitris Panagiotou
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype librariesMartin Chapman
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkIJERA Editor
 
cv-sergio-alves-en
cv-sergio-alves-encv-sergio-alves-en
cv-sergio-alves-enAlves Sergio
 
Crime File System
Crime File SystemCrime File System
Crime File SystemIJARIIT
 

Ähnlich wie Nurturing the Software Ecosystems of the Future (20)

Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
Bug Triage: An Automated Process
Bug Triage: An Automated ProcessBug Triage: An Automated Process
Bug Triage: An Automated Process
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software Testing
 
Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
 
Naresh Chirra
Naresh ChirraNaresh Chirra
Naresh Chirra
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
Architecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfArchitecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdf
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
A knowledge-workbench-for-software-development
A knowledge-workbench-for-software-developmentA knowledge-workbench-for-software-development
A knowledge-workbench-for-software-development
 
H1803044651
H1803044651H1803044651
H1803044651
 
Scalable architectures for phenotype libraries
Scalable architectures for phenotype librariesScalable architectures for phenotype libraries
Scalable architectures for phenotype libraries
 
DESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance FrameworkDESQA a Software Quality Assurance Framework
DESQA a Software Quality Assurance Framework
 
cv-sergio-alves-en
cv-sergio-alves-encv-sergio-alves-en
cv-sergio-alves-en
 
IBM Think Milano
IBM Think MilanoIBM Think Milano
IBM Think Milano
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
50120130405029
5012013040502950120130405029
50120130405029
 
Shruti Kulkarni (1)
Shruti Kulkarni (1)Shruti Kulkarni (1)
Shruti Kulkarni (1)
 
Crime File System
Crime File SystemCrime File System
Crime File System
 

Mehr von Tom Mens

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD studentTom Mens
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentTom Mens
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubTom Mens
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHubTom Mens
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Tom Mens
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubTom Mens
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networksTom Mens
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero SpaceTom Mens
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesTom Mens
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Tom Mens
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsTom Mens
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsTom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarTom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
 
ConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker ContainersConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker ContainersTom Mens
 

Mehr von Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 
ConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker ContainersConPan: Analysing Packages Installed in Docker Containers
ConPan: Analysing Packages Installed in Docker Containers
 

Kürzlich hochgeladen

Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxjana861314
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)Areesha Ahmad
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 

Kürzlich hochgeladen (20)

Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Engler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomyEngler and Prantl system of classification in plant taxonomy
Engler and Prantl system of classification in plant taxonomy
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 

Nurturing the Software Ecosystems of the Future

  • 1. Nurturing the Software Ecosystems of the Future Achievements of an Inter-University Research Project Serge Demeyer, Tom Mens, Coen De Roover & Anthony Cleve secoassist.github.io @seco-assist
  • 2. Duration: 4 years (2018-2022) Budget: 2,4 million euros (150k per partner per year) An "Excellence of Science" research project
  • 3. Duration: 4 years (2018-2022) Budget: 2,4 million euros (150k per partner per year) An "Excellence of Science" research project
  • 4. SOCIO - TECHNICAL A software ecosystem is ... X
  • 5. SECO-ASSIST Research Goals Today, over 80% of the software used in any IT product or service is open source Societal challenge Protect the society of the risks and dangers of an increasing dependence on software ecosystems Fundamental goals Study and understand the socio-technical characteristics of software ecosystem health, quality and sustainability over time Predict/assist ecosystem evolution to increase long-term sustainability Applied goal Propose automated tools to help software development communities in increasing their productivity, interaction, quality and resilience over time
  • 6. SECO-ASSIST Research Goals Improve social health Retain key project contributors and attract new ones Predict abandoners and suggest replacements Identify toxic contributors Ensure sufficient team diversity
  • 7. Improve technical health Better software tests, taking into account the software dependencies, to reduce bugs and security leaks Increase productivity and quality by using reusable software libraries Increase software maintainability by supporting software upgrades and migration to new technologies Improve interactions and co-evolution between data- intensive software and their database(s) SECO-ASSIST Research Goals
  • 11.
  • 12.
  • 13.
  • 14. Socio-technical analysis of software contributor communities evolution and impact of socio-technical congruence in software packaging ecosystems [ESEC/FSE 2019] analysis of pull request comments in GitHub repositories [BENEVOL 2019] probabilistic forecasting model to predict future activity of software project contributors [JSS 2020] Detecting and analysing bot usage in development projects identification of key characteristics exhibited by bot activities [BotSE 2020] ML-based technique for detecting bots based on the repetitiveness of their commenting activity [JSS 2021] study on the prevalence of bots as contributors in GitHub projects [IEEE Software 2022] Improving development workflow automation longitudinal study on the use and evolution of Continuous Integration tools in GitHub [SANER 2022] large-scale quantitative analysis of the GitHub Actions ecosystem [ICSME 2022] Studying variant projects in software families study of the prevalence and importance of project forking in GitHub [BENEVOL 2020, EMSE 2022]. motivations for launching variants and impediments to maintaining the co-existing projects [SANER 2022] study to quantify the extent of the sub-optimal maintenance in software families [ESEC/FSE22] Main results – social networks & development workflows
  • 15. Identifying inadequate test suites mutation coverage to measure the strength of a test suite recommendation of extra asserts to make the suite stronger [VST 2020] Test amplification first demonstration of the feasibility of test amplification for dynamically typed languages SmallAmp – a tool to strengthen test suites within the Pharo Smalltalk ecosystem [EMSE 2022] AmPyfier – first tool to strengthen test suites within the Python ecosystem [JSEP 2022] Test transplantation use tests from dependent projects to increase the coverage of base packages [EASE 2022] use test slicing to reconstruct the appropriate object states when transplanting tests [SCAM 2022] Main results – software testing
  • 16. Release & implementation recommendations for library contributors target = Ansible Galaxy ecosystem (reusable Infrastructure-as-Code libraries) automated version increment recommendation (minor, major, patch) [SCAM 2020, JSS 2021, MSR 2021] detection of 6 novel code smells related to Ansible’s semantics [MSR 2022] Selection recommendations for library users helping developers choose a library within vast ecosystems [SoHeal 2020, SCAM 2020, SANER 2022] Instantiation recommendations for framework users graph-based mining of frequent framework instantiation patterns [SANER 2019] capturing the interplays between multiple related instantiation actions [SCAM 2022] Dependency recommendations for library contributors quantifying the problem of outdated dependencies [ICSME 2018, JSEP 2019, SANER 2019] quantifying the outdatedness of packages pre-installed in DockerHub images [SCP 2021, EMSE 2021] analyzing the adherence to semantic versioning [TSE 2019, SoHeal 2020, SCP 2021] assessing the impact of security vulnerabilities [MSR 2018, EMSE 2022] studying the practice of backporting fixes (including security patches) to older releases [TSE 2022] Main results – software reuse
  • 17. Static detection and analysis of SQL bad smells static detection of bad smells in SQL queries [ICSE 2018] prevalence and evolution of SQL code smells in data-intensive open source systems [MSR 2020] Empirical studies on data-intensive systems analyzing self-admitted technical debt in database access code [EMSE 2022] investigating the (joint) use of data models and technologies [ER 2021] Modeling, manipulating and evolving multi-database systems HyDRa – a conceptual framework to design and manipulate hybrid polystores [ER 2021] … and to ease their evolution [SANER 2022, BENEVOL 2022] performance-based recommendation of polystore schema changes [BENEVOL 2022, ER 2022] automated query adaptation to preserve system consistency [SCAM 2020] Analyzing database-related testing practices state-of-the-practice in testing database manipulation code [CAiSE 2021] taxonomy of best practices for testing database code [Information Systems 2022] Main results – database interactions
  • 18. Open Source Tools (1) BoDeGHA: A command-line tool to identify development bots in GitHub repositories by analysing pull request and issue comments https://github.com/mehdigolzadeh/BoDeGha BoDeGiC: An (open source) command-line tool to identify bots in GitHub repositories by analysing git commit messages https://github.com/mehdigolzadeh/BoDeGiC SQLInspect: A static SQL analyzer with plug-in support for Eclipse to inspect database usage in Java applications https://bitbucket.org/csnagy/sqlinspect GAP: a command-line tool for forecasting future commit activity of contributors involved in software projects distributed through git https://github.com/AlexandreDecan/gap ConPan: an open source command-line tool to inspect Docker containers https://github.com/neglectos/ConPan
  • 19. SmallAmp: a test amplification tool in Pharo Smalltalk to create new test methods based on manually written ones to increase mutation coverage https://github.com/mabdi/small-amp Small-mince: A tool to slice tests in Pharo Smalltalk https://github.com/mabdi/small-mince PaReco: a tool to detect missed opportunities and effort duplication in ecosystems https://github.com/KadjelRamkisoen/PaReco Continuous Integration Antipattern Analyzer: a command line tool to analyze CI workflows in git repositories https://github.com/FreekDS/CIAN portion: a Python library (with 300+ stars on GitHub) providing data structures and operations to create, manipulate and query disjunctions of intervals of any comparable objects and interval sets out of the box https://github.com/AlexandreDecan/portion SISMIC: a Python library providing a tool suite to define, simulate, execute and test statecharts, supporting test- driven development, behaviour-driven development, design by contract, and property statecharts to monitor violations of behavioural properties during statechart execution https://github.com/AlexandreDecan/sismic Open Source Tools (2)
  • 20. MUTAMA: a tool recommending MVNRepository tags for a given Java library https://github.com/cvelazquezr/MUTAMA RESICO: a tool for resolving the simple names of API types in incomplete code snippets (e.g., from Stack Overflow) to their fully-qualified name https://github.com/cvelazquezr/RESICO SCARE: a tool for extracting the structural changes between two releases of an Ansible role published on the Ansible Galaxy ecosystem https://github.com/ROpdebee/SCARE LiFUSO: a tool for enumerating library features from its Stack Overflow posts https://github.com/softwarelanguageslab/lifuso HyDRa: a framework for hybrid polystore modeling and manipulation https://github.com/gobertm/HyDRa npmgraph: A tool for checking license compatibilities for npm packages https://github.com/IlyasMakari/npmgraph.an https://zenodo.org/record/5913761 Open Source Tools (3)
  • 21. Career Perspective (preliminary quantitative analysis) 10 PhD 3 Postdoc 3 Professor 2 Permanent researcher 6 Postdoc 8 PhD