Auflistung nach Autor:in "Schweitzer, Frank"
1 - 5 von 5
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragAutomated software remodularization based on move refactoring - A complex systems approach(Software-engineering and management 2015, 2015) Scholtes, Ingo; Zanetti, Marcelo Serrano; Tessone, Claudio Juan; Schweitzer, FrankModular design is a desirable characteristic that fosters the comprehensibility and thus maintainability of software systems. While many software systems are initially created in a modular way, over time modularity typically degrades. In our work, we propose an automated strategy to remodularize software based on move refactorings, i.e. moving classes between packages without changing other aspects of the source code. Taking a complex systems perspective, our approach applies network theory to the dynamics of software dependency structures. Drawing inspiration from statistical physics, we use the Potts Spin Model and turn it into a stochastic remodularization algorithm which is based on probabilistically moving classes between modules. We test our method on 39 open source JAVA software projects. Comparing the modular structure produced by developers with that optimized by our algorithm, we find that our method is able to improve modularity by an average of $166 \pm 77$ percent. Our work highlights the potential of interdisciplinary applications of methods from the statistical physics perspective on complex systems to software engineering.
- KonferenzbeitragFrom aristotle to ringelmann: A large-scale analysis of team productivity and coordination in open source software projects(Software Engineering 2016, 2016) Scholtes, Ingo; Mavrodiev, Pavlin; Schweitzer, FrankThe productivity of software development teams, i.e., how their size relates to their output, is an important question for project management. Most studies suggest that teams become less productive as they grow larger, a phenomenon paraphrased as Brooks' law in software engineering and as Ringelmann effect in social psychology. Conversely, a recent study suggests that the productivity of teams in OSS projects increases as they grow larger. Attributing it to synergetic effects, this was linked to the Aristotelian quote that “the whole is more than the sum of its parts”. Using data on 58 OSS projects with 580 000 commits by 30 000 developers, we perform a large-scale analysis of , , productivity in development teams. We confirm the negative relation previously found by software engineering research, providing quantitative evidence for the Ringelmann effect. Taking a network perspective on developer-code associations, we investigate mechanism behind this effect and show that the magnitude of the productivity decrease is related to the growth dynamics of coordination networks. Most of today's software projects are so complex that they cannot be developed by a single person, instead requiring large teams of collaborating developers. This necessity of large teams raises a simple, yet important question: How productive is a team of developers compared to a single developer? Or, in other words: How much time do n developers need to finish a project compared to the time taken by a single developer? This question is of significant importance not only for project management but also for the development of cost estimation models for software engineering processes. One may naively assume that the productivity of individual team members is additive, i.e., that, compared to the time taken by n developers will speed up the development time by a factor of n. However, this misses out two important factors that can give rise to a nonadditive scaling of productivity. First, the collaboration of developers in a team can give rise to synergy effects, which result in the team being more productive than one would expect from adding up individual productivities of its members. Under this assumption, the average output per team member can be increased by adding developers to the team, a fact that has recently been related to Aristotle's quote that “the whole is more than the sum of its parts” [SMG14]. A second, contrary factor that influences the productivity of developer teams is the communication and coordination overhead which is likely to increase as teams grow larger. In particular, this can lead to situations where the average output per team member decreases as the size of the team is increased. Studies showing that growing team sizes negatively affect productivity can be traced back to early studies of Maximilian Ringelmann [Ri13]. In the context of software engineering, it can be related
- Konferenzbeitraggit2net: Mining Time-Stamped Co-Editing Networks from Large git Repositories(INFORMATIK 2019: 50 Jahre Gesellschaft für Informatik – Informatik für Gesellschaft, 2019) Gote, Christoph; Scholtes, Ingo; Schweitzer, Frank
- KonferenzbeitragA network perspective on software modularity(ARCS 2012 Workshops, 2012) Zanetti, Marcelo Serrano; Schweitzer, FrankModularity is a desirable characteristic for software systems. In this article we propose to use a quantitative method from complex network sciences to estimate the coherence between the modularity of the dependency network of large open source JAVA projects and their decomposition in terms of JAVA packages. The results presented in this article indicate that our methodology offers a promising and reasonable quantitative approach with potential impact on software engineering processes.
- KonferenzbeitragThe social dimension of information ranking: A discussion of research challenges and approaches(INFORMATIK 2013 – Informatik angepasst an Mensch, Organisation und Umwelt, 2013) Scholtes, Ingo; Pfitzner, René; Schweitzer, FrankThe extraction of relevant knowledge from the increasingly large amount of information available in information repositories is one of the big challenges of our time. Although it is clear that the social and the information layer of collaborative knowledge spaces like the World Wide Web (WWW), scholarly publication databases or Online Social Networks (OSNs) are inherently coupled and thus inseparable, the question how the ranking and retrieval of information is influenced by the structure and dynamics of the social systems that create it has been addressed at most partially. In this talk, we will highlight associated research questions and challenges from an ethical, social and computer science perspective and introduce a multiplex network perspective that integrates both the social and the semantic layer of social information systems.