Related papers: Evolutionary Trends of Developer Coordination: A N…
There is a broad recognition that commitment-based mechanisms can promote coordination and cooperative behaviours in both biological populations and self-organised multi-agent systems by making individuals' intentions explicit prior to…
It is well-known that population structure is a catalyst for the evolution of cooperation since individuals can reciprocate with their neighbors through local interactions defined by network structures. Previous research typically relies on…
The collective effort exceeds the sum of its parts when individuals coordinate and regulate their activities and behaviors. This holds true even in self-organizing systems with open, voluntary participation where coordination occurs…
Many software developers rely on open source software for developing their applications and writing their source codes. Measuring an independent project's overall productivity is still an open problem for many technology companies. In this…
Software repositories provide a detailed record of software evolution by capturing developer interactions through code-related activities such as pull requests and modifications. To better understand the underlying dynamics of codebase…
XP is a code oriented, light weight software engineering methodology, suited merely for small sized teams who develop software that relies on vague or rapidly changing requirements. Being very code oriented, the discipline of systems…
Combinatorial evolution - the creation of new things through the combination of existing things - can be a powerful way to evolve rather than design technical objects such as electronic circuits. Intriguingly, this seems to be an ongoing…
Cooperation is a widespread natural phenomenon yet current evolutionary thinking is dominated by the paradigm of selfish competition. Recent advanced in many fronts of Biology and Non-linear Physics are helping to bring cooperation to its…
We have investigated the origin of fluctuations in the aggregated behaviour of an open-source software community. In a recent series of papers, de Menezes and co-workers have shown how to separate internal dynamics from external…
Performance is a critical quality attribute in software development, yet the impact of method-level code changes on performance evolution remains poorly understood. While developers often make intuitive assumptions about which types of…
Dynamics of evolutionary games strongly depend on underlying networks. We study the coevolutionary prisoner's dilemma in which players change their local networks as well as strategies (i.e., cooperate or defect). This topic has been…
The conventional wisdom is that scale-free networks are prone to cooperation spreading. In this paper we investigate the cooperative behaviors on the structured scale-free network. On the contrary of the conventional wisdom that scale-free…
The main problems of Software Engineering appear as a result of incompatibilities. For example, the quality of organization of the production process depends on correspondence with existent resources and on a common understanding of project…
Community organization permeates both social and biological complex systems. To study its interplay with behavior emergence, we model mobile structured populations with multiplayer interactions. We derive general analytical methods for…
The emergence of collective cooperation in competitive environments is a well-known phenomenon in biology, economics, and social systems. While most evolutionary game models focus on the evolution of strategies for a fixed game, how…
Engineering software systems is a multidisciplinary activity, whereby a number of artifacts must be created - and maintained - synchronously. In this paper we investigate whether production code and the accompanying tests co-evolve by…
Software automation has long been a central goal of software engineering, striving for software development that proceeds without human intervention. Recent efforts have leveraged Artificial Intelligence (AI) to advance software automation…
We study collaboration networks in terms of evolving, self-organizing bipartite graph models. We propose a model of a growing network, which combines preferential edge attachment with the bipartite structure, generic for collaboration…
Effective collaboration is a key factor in the success of a software project developed by a team. In this work, we suggest the approach of Synchronized Software Development (SSD), which promotes a new mechanism of collaboration in general,…
Although it is unambiguously agreed that structure plays a fundamental role in shaping the dynamics of complex systems, this intricate relationship still remains unclear. We investigate a general computational transformation by which we can…