Presented by Maelick Claes (Software Engineering Lab, Département d'Informatique, COMPLEXYS Research Insitute of UMONS) at BENEVOL 2012 research seminar on software evolution in Delft, The Netherlands, 3 December 2012
The document defines and provides examples of various concepts related to political ideologies and sociological terms. It includes definitions of ideology, individualism, collectivism, liberalism, self-interest, competition, freedom, rule of law, private property, collective responsibility, collective interest, cooperation, economic equality, collective norms, public property, belief, value, individual identity, and collective identity. For each term, it provides a definition and an example to illustrate the meaning.
This is my third in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
This is my first in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
KinectBalls: An Interactive Tool for Ball Throwing GamesTom Mens
Presentation by Jonathan Schoreels of KinectBalls during the INTETAIN 2013 conference in Mons, 4 July 2013. KinectBalls is an interactive computer game in which a player throws real balls toward a virtual scene, using the Kinect 3D sensor. This work is the result of a master student project at the Département d'Informatique, Faculté des Sciences, UMONS, Belgium
Object-oriented software engineering: Example (for teaching purposes) of a refactoring case study based on a very simple Java example of a Local Area Network. Used as part of the software engineering and software evolution courses of the University of Mons, taught by Prof. Tom Mens, Software Engineering Lab.
This is my fourth and final lecture in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
A Generic Framework for Executable Gestural Interaction ModelsTom Mens
Presentation by Romuald Deshayes at VL/HCC 2013 (San Jose, California) of joint paper with Tom Mens and Philippe Palanque about executable Petri net modeling of HMI applications
The document defines and provides examples of various concepts related to political ideologies and sociological terms. It includes definitions of ideology, individualism, collectivism, liberalism, self-interest, competition, freedom, rule of law, private property, collective responsibility, collective interest, cooperation, economic equality, collective norms, public property, belief, value, individual identity, and collective identity. For each term, it provides a definition and an example to illustrate the meaning.
This is my third in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
This is my first in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
KinectBalls: An Interactive Tool for Ball Throwing GamesTom Mens
Presentation by Jonathan Schoreels of KinectBalls during the INTETAIN 2013 conference in Mons, 4 July 2013. KinectBalls is an interactive computer game in which a player throws real balls toward a virtual scene, using the Kinect 3D sensor. This work is the result of a master student project at the Département d'Informatique, Faculté des Sciences, UMONS, Belgium
Object-oriented software engineering: Example (for teaching purposes) of a refactoring case study based on a very simple Java example of a Local Area Network. Used as part of the software engineering and software evolution courses of the University of Mons, taught by Prof. Tom Mens, Software Engineering Lab.
This is my fourth and final lecture in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
A Generic Framework for Executable Gestural Interaction ModelsTom Mens
Presentation by Romuald Deshayes at VL/HCC 2013 (San Jose, California) of joint paper with Tom Mens and Philippe Palanque about executable Petri net modeling of HMI applications
This is my second in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Future Research Challenges in Software EvolutionTom Mens
Future research challenges in software evolution include scaling techniques to large interconnected systems, migrating legacy systems to new technologies, and upgrading frameworks while preserving customizations. Another challenge is dynamically updating systems during runtime for high availability, as well as supporting the co-evolution of models and code in model-driven engineering approaches. Improving software quality and making metrics for quality and evolvability visible to managers is also a challenge.
Thomas Hobbes believed that security was more important than freedom and that people are selfish by nature. He argued society should be structured with an absolute monarch who provides security in exchange for citizens giving up their freedom. John Locke viewed humans as rational and believed people have natural rights to life, liberty, and property. He advocated for a democratic government that protects these rights and is accountable to the people. Jean-Jacques Rousseau saw humans as inherently good but corrupted by society. He envisioned a communist government with laws set fairly by the people to allow them to live freely and comfortably.
This document summarizes the key beliefs and thinkers of several different political ideologies and movements:
1) Luddites opposed machines replacing skilled labor and their leader Ned Ludd led attacks on factories, seeing it as a threat to employment.
2) Chartists advocated for electoral reform in Britain in the 1800s, calling for expanded voting rights through their People's Charter.
3) Utopian Socialists like Robert Owen believed in using education and improved living/working conditions to transition peacefully to an ideal socialist society.
4) Marxists Socialists, led by Karl Marx, advocated for abolition of inheritance and confiscating rebel property, believing change required violence.
5) Classical Conservat
Approaches to software model inconsistency managementTom Mens
The document discusses software co-evolution challenges that arise at different levels of abstraction and modeling. It specifically focuses on managing inconsistencies between software models. Generic techniques for inconsistency management are described, including the use of description logics, graph transformation, logic programming, and automated planning. Ragnhild Van Der Straeten's work on using description logics like RACER to check consistency between UML models is also summarized.
Analysing the evolution of social aspects of open source software ecosystemsTom Mens
The document discusses analyzing the social aspects of open source software ecosystems by studying software evolution over time. Specifically, it aims to analyze how social factors like community interactions, structures, and processes coevolve with the software product and process. The researchers plan to mine data from various open source project repositories, select appropriate projects, and use frameworks like Herdsman and FLOSSMetrics to extract and merge identity data, perform statistical analysis and visualization. This will help understand success factors for open source projects and identify best practices.
Seconda: A tool for analysing software ecosystemsTom Mens
Presentation by Javier Perez, Software Engineering Lab, University of Mons, Belgium. Presented during the CSMR 2012 conference in Szeged, Hungary.
Software ecosystems are coherent collections of software projects that evolve together and are main- tained by the same developer community. They exhibit some particular evolution features because of the dependencies between the software projects and the interactions between the community members. Tools for analysing and visualising the evolution of software ecosystems must take these aspects into account. SECONDA is a software ecosys- tem visualization and analysis dashboard that offers both individual and grouped analysis of the evolution of projects and developers belonging to the software ecosystem, at coarse-grained and fine-grained level. Using GNOME as a case study, we use SECONDA to study these ecosystem and community aspects.
A survey on software quality practice - Pilot study in the Walloon regionTom Mens
In the context of a European ERDF project, researchers from UMONS and FUNDP in Belgium carried out a survey on the use of software quality practices in software producing and maintaining companies in Wallonia.
Contact: tom.mens@umons.ac.be
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...Tom Mens
Presentation of research goals and ongoing research in the joint ARC project "ECOS: Ecological Studies of Open Source Software Ecosystems", presented by Tom Mens (UMONS) during the projects track of the CSMR-WCRE 2014 Software Evolution Week. Collaborators: Philippe Grosjean and Maelick Claes.
130918 maelick claes - ecological studies of open source software ecosystemsPtidej Team
This document discusses ecological studies of open source software ecosystems. It describes research on the GNOME and R ecosystems. The research aims to determine factors that influence the success of open source projects within an ecosystem by drawing analogies to biological ecology. Studies of the GNOME ecosystem examined contributor migrations between projects over time and project clustering. Studies of the R ecosystem analyzed its package dependency network.
Migration patterns of open source ecosystem contributors - An empirical case ...Tom Mens
We present our emerging research on evolving open source software ecosystems, collections of software projects maintained by the same community. Within such an ecosystem we aim to understand how contributors join, leave and move across different projects over time. In particular, we study where new contributors to a given subsystem come from, and where people go to if they stop contributing in this subsystem. We define novel metrics to measure these aspects of projects in the ecosystem. We are carrying out an empirical study on the GNOME ecosystem to study these aspects.
This document discusses model executability within the GEMOC Studio. It provides an overview of the GEMOC initiative and projects, which aim to coordinate research on globalizing modeling languages. The GEMOC Studio allows users to design executable domain-specific modeling languages and edit, simulate, and animate heterogeneous models. Breakthroughs include defining modular and explicit semantics for modeling languages and integrating languages for heterogeneous model coordination. The document presents examples of debugging tools developed using the GEMOC Studio.
Parts 3 and 4 of a comprehensive look at the Geoweb, based on well defined web2.0 patterns and examples as well as organice buzz within the Geoweb community. For a detailed summary, see http://blog.gishacks.com/2009/09/comprehensive-look-at-geoweb-part-3-and.html.
Editorial – October 2012 – The NEMO European Ocean Modeling platform for research and operational applications
Greetings all,
This issue is dedicated to NEMO http://www.nemo-ocean.eu/ which is the European Modeling platform for ocean research and operational applications. NEMO (Nucleus for European Modeling of the Ocean) is a software for nu-merical simulation of the ocean. NEMO is available under free license and improves in order to stay as near as possible to technical needs and breakthroughs of research and operational projects. NEMO is in use in a wide variety of applications which main objectives are oceanographic research, operational forecasts of the ocean and seasonal weather forecasts or climate change studies. The NEMO ocean platform is for example widely used in the framework of the Myocean project. Its three main components are: the ―blue ocean‖ NEMO-OPA which simu-lates the dynamics, the ―white ocean‖ NEMO-LIM which simulates the sea-ice and the ―green ocean‖ NEMO-TOP which simulates the biogeochemistry. Some other components allow data assimilation or grid nesting. NEMO also includes interfaces for ocean-atmosphere coupled configurations using the OASIS coupler. A number of ―reference configurations‖ are also available to set up and validate implementations, so as pre- and post-processing tools. All of NEMO and its documentation are available on the NEMO website http://www.nemo-ocean.eu/.
The two first papers of the present newsletter are written by Levy et al. and are presenting the NEMO ocean code: What does NEMO produces? What are the applications? Its limitations as well as the NEMO Consortium and its organization.
Then, the next paper by Gehlen et al. is discussing the coupled physical-biogeochemical ocean modeling using NEMO components. Physical components of the NEMO system have been used with success in biogeochemical research coupled to four biogeochemical models of varying complexity: PISCES (provided with the passive tracer module TOP), MEDUSA, BFM/PELAGOS and HadOCC.
Next paper by Bouttier et al. is developing the progress toward a data assimilation system for NEMO and discuss-es the first achievement steps that have been carried out to set up a data assimilation system associated to NEMO. This data assimilation system is schematically made of three subcomponents: Interface Components, Built-in Components and External Components.
Next paper by Dombrowsky et al. is dealing with NEMO within the MyOcean Monitoring and Forecasting Centers (MFCs) context. During the MyOcean project, all the Monitoring and Forecasting Centers (MFCs) have implement-ed operational model configurations in order to cover the global ocean with a focus on the European waters. The NEMO ocean platform is used is most of the MFCs.
Ferry et al. are then dealing with the use of NEMO in the MyOcean eddy permitting Global Ocean reanalyses. They illustrate the use of NEMO ocean engine in three eddy permitting global ocean reanaly
Programming the Interaction Space Effectively with ReSpecTXStefano Mariani
Talk delivered at the 11th International Symposium on Intelligent Distributed Computing in
Belgrade, Serbia, 12/10/2017.
Abstract: The lack of a suitable toolchain for programming the inter- action space with coordination languages hinders their adoption in the industry, and limits their application as core calculus, proof-of-concept frameworks, or rapid prototyping / simulation environments. In this paper we present the ReSpecTX language and toolchain as a first step toward closing the gap, by equipping a core coordination language (ReSpecT) with tools and features commonly found in mainstream programming languages, improving likelihood of adoption in real-world scenarios.
Keynote talk targeted to PhD students, during the BENEVOL 2023 research seminar (focused on software evolution) in Nijmegen, 27 November 2023, by Tom Mens (full professor in software engineering at University of Mons, Belgium). The keynote aims to provide tips, tricks and practical advice on how to become successful as a PhD student.
Recognising bot activity in collaborative software developmentTom Mens
Presentation by Natarajan Chidambaram during the International ICSE Workshop on Bots in Software Engineering (BotSE 2023) in Australia. Joint work with Mehdi Golzadeh, Tom Mens, Alexandre Decan of the Software Engineering Lab of the University of Mons and with Eleni Constantinou.
A Dataset of Bot and Human Activities in GitHubTom Mens
Presentation at the IEEE International Conference on Mining Software Repositories (MSR 2023) by Natarajan Chidambaram (Software Engineering Lab, University of Mons, Belgium) of a dataset of bot and human activities extracted from GitHub
This document discusses the rise of GitHub Actions (GHA) as a dominant continuous integration (CI) service based on a longitudinal study of 91,810 GitHub repositories. The study analyzed the evolution and usage of seven popular CI services over nine years, focusing on their co-usage and migration patterns. The study provides statistical evidence that GHA became the most used CI service within 18 months of its introduction, coinciding with a decrease in Travis usage likely due to policy changes and migrations to GHA. Interviews with software practitioners revealed competition between services and reasons for co-using or migrating between alternatives.
This is my second in a series of 4 lectures on the topic of Evolving Software Ecosystems, presented during the NATO Marktoberdorf 2014 Summer School on Dependable Software System Engineering in Germany, August 2014.
Future Research Challenges in Software EvolutionTom Mens
Future research challenges in software evolution include scaling techniques to large interconnected systems, migrating legacy systems to new technologies, and upgrading frameworks while preserving customizations. Another challenge is dynamically updating systems during runtime for high availability, as well as supporting the co-evolution of models and code in model-driven engineering approaches. Improving software quality and making metrics for quality and evolvability visible to managers is also a challenge.
Thomas Hobbes believed that security was more important than freedom and that people are selfish by nature. He argued society should be structured with an absolute monarch who provides security in exchange for citizens giving up their freedom. John Locke viewed humans as rational and believed people have natural rights to life, liberty, and property. He advocated for a democratic government that protects these rights and is accountable to the people. Jean-Jacques Rousseau saw humans as inherently good but corrupted by society. He envisioned a communist government with laws set fairly by the people to allow them to live freely and comfortably.
This document summarizes the key beliefs and thinkers of several different political ideologies and movements:
1) Luddites opposed machines replacing skilled labor and their leader Ned Ludd led attacks on factories, seeing it as a threat to employment.
2) Chartists advocated for electoral reform in Britain in the 1800s, calling for expanded voting rights through their People's Charter.
3) Utopian Socialists like Robert Owen believed in using education and improved living/working conditions to transition peacefully to an ideal socialist society.
4) Marxists Socialists, led by Karl Marx, advocated for abolition of inheritance and confiscating rebel property, believing change required violence.
5) Classical Conservat
Approaches to software model inconsistency managementTom Mens
The document discusses software co-evolution challenges that arise at different levels of abstraction and modeling. It specifically focuses on managing inconsistencies between software models. Generic techniques for inconsistency management are described, including the use of description logics, graph transformation, logic programming, and automated planning. Ragnhild Van Der Straeten's work on using description logics like RACER to check consistency between UML models is also summarized.
Analysing the evolution of social aspects of open source software ecosystemsTom Mens
The document discusses analyzing the social aspects of open source software ecosystems by studying software evolution over time. Specifically, it aims to analyze how social factors like community interactions, structures, and processes coevolve with the software product and process. The researchers plan to mine data from various open source project repositories, select appropriate projects, and use frameworks like Herdsman and FLOSSMetrics to extract and merge identity data, perform statistical analysis and visualization. This will help understand success factors for open source projects and identify best practices.
Seconda: A tool for analysing software ecosystemsTom Mens
Presentation by Javier Perez, Software Engineering Lab, University of Mons, Belgium. Presented during the CSMR 2012 conference in Szeged, Hungary.
Software ecosystems are coherent collections of software projects that evolve together and are main- tained by the same developer community. They exhibit some particular evolution features because of the dependencies between the software projects and the interactions between the community members. Tools for analysing and visualising the evolution of software ecosystems must take these aspects into account. SECONDA is a software ecosys- tem visualization and analysis dashboard that offers both individual and grouped analysis of the evolution of projects and developers belonging to the software ecosystem, at coarse-grained and fine-grained level. Using GNOME as a case study, we use SECONDA to study these ecosystem and community aspects.
A survey on software quality practice - Pilot study in the Walloon regionTom Mens
In the context of a European ERDF project, researchers from UMONS and FUNDP in Belgium carried out a survey on the use of software quality practices in software producing and maintaining companies in Wallonia.
Contact: tom.mens@umons.ac.be
ECOS: Ecological Studies of Open Source Software Ecosystems (@ CSMR-WCRE 2014...Tom Mens
Presentation of research goals and ongoing research in the joint ARC project "ECOS: Ecological Studies of Open Source Software Ecosystems", presented by Tom Mens (UMONS) during the projects track of the CSMR-WCRE 2014 Software Evolution Week. Collaborators: Philippe Grosjean and Maelick Claes.
130918 maelick claes - ecological studies of open source software ecosystemsPtidej Team
This document discusses ecological studies of open source software ecosystems. It describes research on the GNOME and R ecosystems. The research aims to determine factors that influence the success of open source projects within an ecosystem by drawing analogies to biological ecology. Studies of the GNOME ecosystem examined contributor migrations between projects over time and project clustering. Studies of the R ecosystem analyzed its package dependency network.
Migration patterns of open source ecosystem contributors - An empirical case ...Tom Mens
We present our emerging research on evolving open source software ecosystems, collections of software projects maintained by the same community. Within such an ecosystem we aim to understand how contributors join, leave and move across different projects over time. In particular, we study where new contributors to a given subsystem come from, and where people go to if they stop contributing in this subsystem. We define novel metrics to measure these aspects of projects in the ecosystem. We are carrying out an empirical study on the GNOME ecosystem to study these aspects.
This document discusses model executability within the GEMOC Studio. It provides an overview of the GEMOC initiative and projects, which aim to coordinate research on globalizing modeling languages. The GEMOC Studio allows users to design executable domain-specific modeling languages and edit, simulate, and animate heterogeneous models. Breakthroughs include defining modular and explicit semantics for modeling languages and integrating languages for heterogeneous model coordination. The document presents examples of debugging tools developed using the GEMOC Studio.
Parts 3 and 4 of a comprehensive look at the Geoweb, based on well defined web2.0 patterns and examples as well as organice buzz within the Geoweb community. For a detailed summary, see http://blog.gishacks.com/2009/09/comprehensive-look-at-geoweb-part-3-and.html.
Editorial – October 2012 – The NEMO European Ocean Modeling platform for research and operational applications
Greetings all,
This issue is dedicated to NEMO http://www.nemo-ocean.eu/ which is the European Modeling platform for ocean research and operational applications. NEMO (Nucleus for European Modeling of the Ocean) is a software for nu-merical simulation of the ocean. NEMO is available under free license and improves in order to stay as near as possible to technical needs and breakthroughs of research and operational projects. NEMO is in use in a wide variety of applications which main objectives are oceanographic research, operational forecasts of the ocean and seasonal weather forecasts or climate change studies. The NEMO ocean platform is for example widely used in the framework of the Myocean project. Its three main components are: the ―blue ocean‖ NEMO-OPA which simu-lates the dynamics, the ―white ocean‖ NEMO-LIM which simulates the sea-ice and the ―green ocean‖ NEMO-TOP which simulates the biogeochemistry. Some other components allow data assimilation or grid nesting. NEMO also includes interfaces for ocean-atmosphere coupled configurations using the OASIS coupler. A number of ―reference configurations‖ are also available to set up and validate implementations, so as pre- and post-processing tools. All of NEMO and its documentation are available on the NEMO website http://www.nemo-ocean.eu/.
The two first papers of the present newsletter are written by Levy et al. and are presenting the NEMO ocean code: What does NEMO produces? What are the applications? Its limitations as well as the NEMO Consortium and its organization.
Then, the next paper by Gehlen et al. is discussing the coupled physical-biogeochemical ocean modeling using NEMO components. Physical components of the NEMO system have been used with success in biogeochemical research coupled to four biogeochemical models of varying complexity: PISCES (provided with the passive tracer module TOP), MEDUSA, BFM/PELAGOS and HadOCC.
Next paper by Bouttier et al. is developing the progress toward a data assimilation system for NEMO and discuss-es the first achievement steps that have been carried out to set up a data assimilation system associated to NEMO. This data assimilation system is schematically made of three subcomponents: Interface Components, Built-in Components and External Components.
Next paper by Dombrowsky et al. is dealing with NEMO within the MyOcean Monitoring and Forecasting Centers (MFCs) context. During the MyOcean project, all the Monitoring and Forecasting Centers (MFCs) have implement-ed operational model configurations in order to cover the global ocean with a focus on the European waters. The NEMO ocean platform is used is most of the MFCs.
Ferry et al. are then dealing with the use of NEMO in the MyOcean eddy permitting Global Ocean reanalyses. They illustrate the use of NEMO ocean engine in three eddy permitting global ocean reanaly
Programming the Interaction Space Effectively with ReSpecTXStefano Mariani
Talk delivered at the 11th International Symposium on Intelligent Distributed Computing in
Belgrade, Serbia, 12/10/2017.
Abstract: The lack of a suitable toolchain for programming the inter- action space with coordination languages hinders their adoption in the industry, and limits their application as core calculus, proof-of-concept frameworks, or rapid prototyping / simulation environments. In this paper we present the ReSpecTX language and toolchain as a first step toward closing the gap, by equipping a core coordination language (ReSpecT) with tools and features commonly found in mainstream programming languages, improving likelihood of adoption in real-world scenarios.
Similar to Applying biological evolution to software ecosystems: A case study with Gnome (9)
Keynote talk targeted to PhD students, during the BENEVOL 2023 research seminar (focused on software evolution) in Nijmegen, 27 November 2023, by Tom Mens (full professor in software engineering at University of Mons, Belgium). The keynote aims to provide tips, tricks and practical advice on how to become successful as a PhD student.
Recognising bot activity in collaborative software developmentTom Mens
Presentation by Natarajan Chidambaram during the International ICSE Workshop on Bots in Software Engineering (BotSE 2023) in Australia. Joint work with Mehdi Golzadeh, Tom Mens, Alexandre Decan of the Software Engineering Lab of the University of Mons and with Eleni Constantinou.
A Dataset of Bot and Human Activities in GitHubTom Mens
Presentation at the IEEE International Conference on Mining Software Repositories (MSR 2023) by Natarajan Chidambaram (Software Engineering Lab, University of Mons, Belgium) of a dataset of bot and human activities extracted from GitHub
This document discusses the rise of GitHub Actions (GHA) as a dominant continuous integration (CI) service based on a longitudinal study of 91,810 GitHub repositories. The study analyzed the evolution and usage of seven popular CI services over nine years, focusing on their co-usage and migration patterns. The study provides statistical evidence that GHA became the most used CI service within 18 months of its introduction, coinciding with a decrease in Travis usage likely due to policy changes and migrations to GHA. Interviews with software practitioners revealed competition between services and reasons for co-using or migrating between alternatives.
Nurturing the Software Ecosystems of the FutureTom Mens
In January 2018, four Software Engineering research groups located in different Belgian Universities launched a five year research project to nurture the software ecosystems of the future. We assembled a diverse team of about a dozen researchers and embarked on an exciting journey leading to a rich and diverse suite of papers, tools and datasets. Halfway into the project the corona pandemic intervened, but despite several months of lockdown, we succeeded in increasing inter-university collaboration. In this paper we share our achievements so that the BENEVOL community may benefit from our experience.
Comment programmer un robot en 30 minutes?Tom Mens
Comment apprendre à programmer un robot en 30 minutes? Atelier organisé par Tom Mens (en collaboration avec Pierre Zielinski, Gauvain Devillez et Sebastien Bonte) lors des Journées Math-Sciences du Printemps des Sciences 2022 à l'Université de Mons
On the rise and fall of CI services in GitHubTom Mens
Presentation of SANER 2022 conference article "On the rise and fall of CI services in GitHub" by Mehdi Golzadeh (co-authored with Alexandre Decan and Tom Mens).
On backporting practices in package dependency networksTom Mens
Presentation at FOSDEM 2022 Composition and Dependency Management DevRoom of empirical research on backporting practices in package dependency networks, published in the IEEE Transactions in Software Engineering in 2021 (https://doi.org/10.1109/TSE.2021.3112204)
Joint work by Alexandre Decan, Tom Mens; Ahmed Zeourali, Coen De Roover as part of the Belgian Excellence of Science research project SECOASSIST (https://secoassist.github.io)
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
Presentation by Tom Mens at PackagingCon 2021 on Wednesday 10 November 2021.
Abstract: Semantic versioning (semver) is a commonly accepted open source practice, used by many package management systems to inform whether new package releases introduce possibly backward incompatible changes. Maintainers depending on such packages can use this practice to reduce the risk of breaking changes in their own packages by specifying version constraints on their dependencies. Depending on the amount of control a package maintainer desires to assert over her package dependencies, these constraints can range from very permissive to very restrictive. We empirically compared the evolution of semver compliance in four package management systems: Cargo, npm, Packagist and Rubygems. We discuss to what extent ecosystem-specific characteristics influence the degree of semver compliance, and we suggest to develop tools adopting the wisdom of the crowds to help package maintainers decide which type of version constraints they should impose on their dependencies.
We also studied to which extent the packages distributed by these package managers are still using a 0.y.z release, suggesting less stable and immature packages. We explore the effect of such "major zero" packages on semantic versioning adoption.
Our findings shed insight in some important differences between package managers with respect to package versioning policies.
Our empirical results have been published in two peer-reviewed academic journals: the IEEE Transactions in Software Engineering (https://doi.org/10.1109/TSE.2019.2918315) and Elsevier Science of Computer Programming (https://doi.org/10.1016/j.scico.2021.102656).
Achknowledgments: Research conducted in the context of the SECOASSIST "Excellence of Science" Research Project.
Presentation by Tom Mens at FOSDEM21 (Free Open Source Developers Meeting, February 2021). Published in Science of Computer Programming, August 2021.
https://doi.org/10.1016/j.scico.2021.102656
Abstract: When developing open source software end-user applications or reusable software packages, developers depend on software packages distributed through package managers such as npm, Packagist, Cargo, RubyGems. In addition to this, empirical evidence has shown that these package managers adhere to a large extent to semantic versioning principles. Packages that are still in major version zero are considered unstable according to semantic versioning, as some developers consider such packages as immature, still being under initial development.
This presentation reports on large-scale empirical evidence on the use of dependencies towards 0.y.z versions in four different software package distributions: Cargo, npm, Packagist and RubyGems. We study to which extent packages get stuck in the zero version space, never crossing the psychological barrier of major version zero. We compare the effect of the policies and practices of package managers on this phenomenon. We do not reveal the results of our findings in this abstract yet, as it would spoil the fun of the presentation.
Evaluating a bot detection model on git commit messagesTom Mens
Detecting the presence of bots in distributed software development activity is very important in order to prevent bias in socio-technical empirical studies. In previous work, we proposed a classification model to detect bots in GitHub repositories based on the pull request and issue comments of GitHub accounts. The current study generalises the approach to git contributors based on their commit messages. We train and evaluate the classification model on a large dataset of 6,922 git contributors. The original model based on pull request and issue comments obtained a precision of 0.77 on this dataset, whereas retraining the classification model on git commit messages increased the precision to 0.80. As a proof-of-concept, we implemented this model in BoDeGiC, an open source command-line tool to detect bots in git repositories.
Is my software ecosystem healthy? It depends!Tom Mens
QUATIC 2020 keynote presentation by Tom Mens (University of Mons) on dependency-related health issues in software ecosystems and research advances to address such health issues. Part of the presented research has been conducted as part of the Belgian SECO-ASSIST Excellence of Science Research Project.
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
Presentation by Mehdi Golzadeh (Software Engineering Lab, University of Mons) of an article published at the 2nd International ICSE Workshop on Bots In Software Engineering (BotSE). See https://doi.org/10.1145/3387940.3391503
Abstract: Many empirical studies focus on socio-technical activity in social coding platforms such as GitHub, for example to study the onboarding, abandonment, productivity and collaboration among team members. Such studies face the difficulty that GitHub activity can also be generated automatically by bots of a different nature. It therefore becomes imperative to distinguish such bots from human users. We propose an automated approach to detect bots in GitHub pull request activity. Relying on the assumption that bots contain repetitive message patterns in their pull request comments, we analyse the similarity between multiple messages from the same GitHub identity, using a clustering method that combines the Jaccard and Levenshtein distance. We empirically evaluate our approach by analysing 20,090 comments of 250 users and 42 bots in 1,262 GitHub repositories. Our results show that the method is able to clearly separate bots from human users.
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
1. 0.y.z packages are highly prevalent, contributing to 90% of packages in some distributions even though documentation states they are for initial development.
2. It generally takes a few months for packages to reach ≥1.0.0 but 20% take over a year, suggesting packages get stuck in 0.y.z.
3. 0.y.z packages are updated slightly more frequently but the difference is negligible, and there is little practical difference in how 0.y.z and ≥1.0.0 packages are used.
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
This talk reports on our findings based on multiple empirical studies that we have conducted to understand different aspects of dependency management and their practical implications. This includes:
* the outdatedness of package dependencies, the transitive impact of such "technical lag", and its relation to the presence of bugs and security vulnerabilities.
* the impact of using either more permissive or more restrictive version contraints on dependencies.
* the virtues and limitations of being compliant to semantic versioning, a common policy to inform dependents whether new releases of software packages introduce possibly backward incompatible changes.
* the impact of specific characteristics, policies and tools used by the packaging ecosystem and its supporting community on all of the above.
The contents of the talk is primarily based on the following peer-reviewed scientific articles:
* What do package dependencies tell us about semantic versioning? Alexandre Decan, Tom Mens. IEEE Transactions on Software Engineering, 2019. https://doi.org/10.1109/TSE.2019.2918315
* An empirical comparison of dependency network evolution in seven software packaging ecosystems. Alexandre Decan, Tom Mens, Philippe Grosjean. Empirical Software Engineering 24(1):381-416, 2019. https://doi.org/10.1007/s10664-017-9589-y
* A formal framework for measuring technical lag in component repositories and its application to npm. Ahmed Zerouali, Tom Mens, Jesus Gonzalez‐Barahona, Alexandre Decan, Eleni Constantinou, Gregorio Robles. Journal of Software: Evolution and Process 31(8), 2019. https://doi.org/10.1002/smr.2157
* On the Impact of Security Vulnerabilities in the npm Package Dependency Network. Alexandre Decan, Tom Mens, Eleni Constantinou. International Conference on Mining Software Repositories, 2018. https://doi.org/10.1145/3196398.3196401
* On the Evolution of Technical Lag in the npm Package Dependency Network. Alexandre Decan, Tom Mens, Eleni Constantinou. International Conference on Software Maintenance and Evolution, 2018. https://doi.org/10.1109/ICSME.2018.00050
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
Presentation at CHAOSSCon Europe 2020 about the generic technical lag software measurement framework. Technical lag measures the increasing difference between deployed software components and the ideal upstream software components.
For more information, see https://doi.org/10.1002/smr.2157
This presentation reports on the research results achieved in the context of the interuniversity interdisciplinary research project SECOHealth "Vers une méthodologie et analyse socio-technique interdisciplinaire de la santé des écosystèmes logiciels" co-financed by FRS-FNRS Belgium and FRQ (FRSC - FRNT, Québec) with principal investigators Tom Mens (UMONS), Bram Adams (Polytechnique Montréal) and Josianne Marsan (Université Laval).
Introduction to the research seminar on empirical analysis of open source software ecosystems, organised by the SECO-ASSIST "excellence of science" research project, on September 4th, 2019 at the University of Mons, Belgium. With invited presentations by Alexander Serebrenik, Jesus Gonzalez-Barahona, Dario Di Nucci and Henrique Nucci. The seminar concludes with the public PhD defense of Ahmed Zerouali (supervised by Tom Mens) on the topic of "A Measurement Framework for Analyzing Technical Lag in Open-Source Software Ecosystems"
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
Invited presentation at Concordia University (Montreal, Canada) by Eleni Constantinou and Tom Mens on recent research about the socio-technical health issues in software package management ecosystems.
Abstract: The large majority of today’s software is relying on open software software components. Such components are typically distributed through package managers for a wide variety of programming languages, and developed and maintained through online distributed software development services like GitHub. Software component repositories are perceived as software ecosystems that constitute complex and evolving socio-technical software dependency networks. Because of their complexity and evolution, these ecosystems tend to suffer from a wide variety of software health issues that can be either technical or social in nature. Examples of such issues include the ecosystem fragility due to exponential growth and transitive dependencies; the abundance of outdated, unmaintained or obsolete software components; the prolonged presence of unfixed bugs and security vulnerabilities; the abandonment or high turnover of key contributors, suboptimal collaboration between contributors, and many more. This presentation will report on our past and ongoing empirical research that studies such health factors within and across different software packaging ecosystems (such as npm, RubyGems, Cargo, CRAN, CPAN). We provide empirical evidence of some of the health problems, compare their presence across different ecosystems, and suggest ways to reduce their potential impact by providing concrete guidelines and tools. The presented research Is being conducted by researchers of the Software Engineering Lab at the University of Mons in the context of two ongoing projects SECOHealth and SECO-ASSIST, aiming to analyse and improve the health of software ecosystems.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
13. Experiments on GNOME
Transfer of knowledge
Migration patterns
◮ Migration (one-way transfer)
◮ Exchange (bidirectional transfer)
◮ Period transfer (cyclic transfer)
◮ Parallel work
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 13 / 19
14. Experiments on GNOME
GNOME’s subsystems - Nautilus & Evolution
GNOME Evolution Nautilus
# projects 1327 21 21
# projects with at least 2 days of commits 1263 19 20
# projects with coding activity 1268 20 20
# projects with coding activity and at least 2 days of commits 1222 19 20
# commits 1169251 66687 25860
(5.7%) (2.21%)
# coding commits 606300 44150 13133
(7.28%) (2.17%)
# authors with at 3841 867 707
least 1 commit (22.6%) (18.4%)
# coders (authors 2892 494 300
involved in coding) (17.1%) (10,4%)
# coders in at least 2 1392 341 274
projects and 2 consecutive years (24,5%) (19,7%)
# full years of activity 15 14 15
considered period of 1998 1998 1999
coding activity – 2011 – 2011 – 2011
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 14 / 19
15. Experiments on GNOME
GNOME, Nautilus & Evolution - Metrics
DevP (t) = {contributors ∈ P who made at least two code commits during period t}
stayers S (t) = |{a|∃P1 ∈ S, a ∈ DevP (t − 1) ∧ ∃P2 ∈ S, a ∈ DevP (t)}|
joinGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ G , a ∈ DevP (t − 1)}|
joinLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t) ∧ ∀P ∈ S, a ∈ DevP (t − 1) ∧ ∃P ∈ G , a ∈ DevP (t − 1)}|
joinersS (t) = joinGlobalS (t) + joinLocalS (t)
leaveGlobalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ G , a ∈ DevP (t)}|
leaveLocalS (t) = |{a|∃P ∈ S, a ∈ DevP (t − 1) ∧ ∀P ∈ S, a ∈ DevP (t) ∧ ∃P ∈ G , a ∈ DevP (t)}|
leaversS (t) = leaveGlobalS (t) + leaveLocalS (t)
joinersS (t)
attractivityS (t) =
stayers S (t)+joiners S (t)
leaversS (t)
repulsivityS (t) =
stayers S (t)+leavers S (t)
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 15 / 19
16. Experiments on GNOME
Attractivity & repulsivity
Figure: Attractivity and repulsivity of GNOME (black circles) and its subsystems
Evolution (red triangles) and Nautilus (blue squares).
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 16 / 19
17. Experiments on GNOME
Joiners & leavers origin
Figure: Number of coders locally (dotted lines) or globally (dashed lines) joining
and leaving Evolution (red triangles) and Nautilus (blue squares) from 1998 till
2011. Triangles or squares are filled if global exceeds local.
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 17 / 19
18. Experiments on GNOME
Conclusion
Summary
◮ Analogy between software and biological ecosystems
◮ Adaptation of theory from biology to software: reticulate evolution
◮ Transfers in GNOME: Nautilus & Evolution have different behaviours
Future works
◮ Migration patterns
◮ More data: bug trackers and mailing lists
◮ Time window
◮ Other ecosystems (KDE) or other subsystems (Gedit, GIMP)
◮ Lower granularity (files vs. commits)
◮ Different activities (translation)
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 18 / 19
19. Thanks for your attention!
Questions?
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 19 / 19
20. Applying biology to computer science
◮ Genetic algorithms, neural networks, ant colony, . . .
◮ In software engineering & software evolution:
◮ DeLesley Hutchins. A biologist’s view of software evolution. In RAM-SE, pages
95–105. Fakultät für Informatik, Universität Magdeburg, 2005
◮ Chrystopher L. Nehanic et al. What software evolution and biological evolution
don’t have in common. In Second International IEEE Workshop on Software
Evolvablility, pages 58–65, 2006
◮ Davor Svetinovic et al. Software and biological evolution: Some common principles,
mechanisms, and a definition. Technical report, 2006
◮ Deepak Dhungana et al. Software ecosystems vs. natural ecosystems: learning from
the ingenious mind of nature. In Proceedings of the Fourth European Conference on
Software Architecture: Companion Volume, ECSA ’10, pages 96–102, New York,
NY, USA, 2010. ACM
Maëlick Claes (UMONS) Biological Evol. & Software Ecos. BENEVOL 2012 20 / 19