Article
Computer Science, Information Systems
Shou-Yu Lee, W. Eric Wong, Yihao Li, William Cheng-Chung Chu
Summary: This research introduces a new analysis model using Composite Developer-Module Network to reflect the characteristics and interactions between developers. By analyzing different sub-graphs in the network, the study identifies sub-structures that are more fault-prone and predicts software fault-proneness based on the structures.
Article
Computer Science, Software Engineering
Thomas Bock, Nils Alznauer, Mitchell Joblin, Sven Apel
Summary: This study proposes a method to automatically identify core developers based on role permissions of privileged events triggered in GitHub issues and pull requests. The results show that the set of core developers extracted from privileged issue events is sound, and the accuracy of state-of-the-art unsupervised classification methods depends mainly on the data source.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2023)
Article
Computer Science, Software Engineering
Mauricio Aniche, Christoph Treude, Andy Zaidman
Summary: This paper investigates the thought- and decision-making processes of developers when engineering test cases through observing 13 developers and surveying 72 software developers. The paper proposes a general framework for reasoning about testing, describes three overarching testing strategies, and compares the findings with existing knowledge.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Article
Chemistry, Multidisciplinary
Jeongmin Jang, Geunseok Yang
Summary: With the increase in software usage, the rate of bugs and maintenance costs are also increasing, with developer reassignment accounting for 50% in open source projects; this study extracts features for each developer by applying feature selection, uses a CNN-LSTM algorithm to learn the model and recommend appropriate developers; the proposed model showed better performance in open source projects.
APPLIED SCIENCES-BASEL
(2022)
Article
Computer Science, Software Engineering
Mitchell Joblin, Barbara Eckl, Thomas Bock, Angelika Schmid, Janet Siegmund, Sven Apel
Summary: Despite the absence of a formal process and a central command-and-control structure, developer organization in open-source software (OSS) projects are not random. Highly successful OSS projects develop a hybrid organizational structure, with hierarchical and non-hierarchical parts. Developers' positions transition from the non-hierarchical part to the hierarchical part as they gain experience and engage in coordination and coding activities.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2023)
Article
Computer Science, Software Engineering
Thomas Bock, Claus Hunsen, Mitchell Joblin, Sven Apel
Summary: Mailing lists are essential for coordinating developers in open-source projects. This study proposes two methods for studying synchronization between collaboration and communication activities from a higher-level perspective, and finds that a higher-level view on developer coordination leads to stronger statistical dependence between technical activities.
AUTOMATED SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Artificial Intelligence
Qingyuan Gong, Yushan Liu, Jiayun Zhang, Yang Chen, Qi Li, Yu Xiao, Xin Wang, Pan Hui
Summary: In this work, a deep learning-based solution called GitSec is proposed for detecting malicious accounts in online developer communities. By analyzing account profiles, dynamic activity characteristics, and social interactions, GitSec successfully distinguishes malicious accounts from legitimate ones, and comprehensive evaluations show that it outperforms existing solutions.
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Jiahuei Lin, Haoxiang Zhang, Bram Adams, Ahmed E. Hassan
Summary: Vulnerabilities in software systems can result in financial losses, damage to reputation, and loss of trust. In open-source development, software providers rely on Linux distributions to distribute their software, making vulnerability management more challenging. This study investigates vulnerability management practices in Debian and Fedora, analyzing the lifecycle of vulnerabilities, common vulnerabilities across distributions, and the role of upstream projects in fixing vulnerabilities.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Ritu Kapur, Balwinder Sodhi
Summary: Software development effort estimation is a challenging task due to the lack of sufficient and reliable data. In this article, we propose an efficient SDEE method based on developer activity information and software description similarity model for open source software. Our method achieves a high accuracy score of 87.26% and provides fast effort estimates.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2022)
Article
Computer Science, Software Engineering
Xinqiang Xie, Xiaochun Yang, Bin Wang, Qiang He
Summary: The researchers propose a novel multi-relationship embedded approach for software developer recommendation, where they define multiple relationships, learn vector representations of developers and tasks, encode relationships into the embedding process, propagate embeddings from high-order connectivity using graph convolution network, generate attentive weights based on attention mechanism, and outperform other five state-of-the-art approaches significantly in experiments.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Software Engineering
Preetha Chatterjee, Kostadin Damevski, Nicholas A. Kraft, Lori Pollock
Summary: This article investigates automatically detecting developer conversations of post hoc quality from public chat channels, achieving this through an analysis of 400 developer conversations and a machine learning-based approach. The evaluation indicates that the approach can achieve high precision, recall, F-measure, and MCC.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2021)
Article
Computer Science, Information Systems
Yeongjun Cho, Jung-Hyun Kwon, Jooyong Yi, In-Young Ko
Summary: Developers use defect prediction models to efficiently allocate resources for quality assurance. A recent trend is just-in-time defect prediction, which focuses on individual changes rather than entire modules. Novel developer experience metrics have shown to significantly improve the cost-effectiveness of defect prediction models.
Article
Computer Science, Software Engineering
Charles Weir, Ingolf Becker, Lynne Blair
Summary: Evidence shows that many competent software development teams still do not prioritize and implement secure software, which is often due to a lack of resources and priority given by product managers. This paper explores the use of structured workshops to engage product managers with software security, even without security professionals. Based on trials in eight organizations, the workshops were found to be effective in helping development teams identify and prioritize security issues with product managers. The empowerment of developers and product managers in this way offers a grassroots approach to improving software security worldwide.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Binny M. Samuel, Hillol Bala, Sherae Daniel, V Ramesh
Summary: This study explores collaboration norms in organizations OSS (orgsOSS) and uncovers that developers in orgsOSS do not always adhere to traditional ideals of widespread sharing and participation. However, certain developer and task characteristics can influence the promotion of these ideals, providing important insights for future orgsOSS projects and other similarly structured software development projects.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Software Engineering
Eman Abdullah Alomar, Anthony Peruma, Mohamed Wiem Mkaouer, Christian D. Newman, Ali Ouni
Summary: The study found that developers with higher contribution scores tend to perform more refactoring operations, but they may not necessarily document their activities as well. There is no clear correlation between experience and motivation behind refactoring, but top contributed developers have a wider range of refactoring experience.
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS
(2021)
Article
Computer Science, Software Engineering
Aleksandar S. Dimovski, Sven Apel, Axel Legay
Summary: This study presents a lifted (family-based) static analysis technique that can analyze all variants of a program family in a single run, avoiding combinatorial explosion. New symbolic representations are introduced to efficiently analyze program families with numerical features, enabling sharing between property elements corresponding to different variants. Experimental results demonstrate the effectiveness of this method in analyzing program families with large configuration spaces.
SCIENCE OF COMPUTER PROGRAMMING
(2022)
Article
Computer Science, Software Engineering
Mitchell Joblin, Sven Apel
Summary: Software development intersects the social and technical realms, and a socio-technical perspective provides rich information about a project's state and success. By classifying networks and using network analysis, we can compare and predict outcomes of software projects and identify key factors associated with success.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2022)
Article
Computer Science, Software Engineering
Thomas Bock, Claus Hunsen, Mitchell Joblin, Sven Apel
Summary: Mailing lists are essential for coordinating developers in open-source projects. This study proposes two methods for studying synchronization between collaboration and communication activities from a higher-level perspective, and finds that a higher-level view on developer coordination leads to stronger statistical dependence between technical activities.
AUTOMATED SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Software Engineering
Thomas Bock, Angelika Schmid, Sven Apel
Summary: Open-source software projects rely on core developers and peripheral developers working together. By analyzing code repository data and mailing-list discussions, relationships and contributions of developers can be modeled to predict future interaction levels of programmers and groups through multi-modal social networks and modeling different types of interaction.
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY
(2022)
Article
Computer Science, Hardware & Architecture
Norbert Siegmund, Johannes Dorn, Max Weber, Christian Kaltenecker, Sven Apel
Summary: Reducing energy consumption is crucial for cost-saving and emission reduction in IT systems. This article discusses the limitations of pure artificial intelligence/machine learning methods when focusing on source code and proposes a conceptual framework that combines software engineering methods and ML to develop white-box energy models.
Article
Computer Science, Software Engineering
Wolfgang Mauerer, Mitchell Joblin, Damian A. Tamburri, Carlos Paradis, Rick Kazman, Sven Apel
Summary: This study investigates the impact of socio-technical congruence on software quality through a large-scale empirical study, finding no statistical relationship between socio-technical congruence and project quality measures.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Software Engineering
Georg Seibt, Florian Heck, Guilherme Cavalcanti, Paulo Borba, Sven Apel
Summary: Large-scale software development heavily relies on version control systems to merge diverging versions of code base, typically using line-based merge algorithms. Structured merge algorithms, utilizing structure inherent in source code, aim to reduce manual resolution of merge conflicts. However, they are computationally more expensive than unstructured merges. Combining different strategies may offer the best balance between conflict resolution, runtime, and correctness of merge results.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Software Engineering
Christof Tinnes, Timo Kehrer, Mitchell Joblin, Uwe Hohenstein, Andreas Biesdorf, Sven Apel
Summary: Model transformations are essential in model-driven software development, and their applications include creating models, managing model evolution, merging models, and understanding model changes. Previous approaches to derive model transformations were either time-consuming or unable to handle complex transformations. We propose a novel unsupervised approach called Ockham, which learns edit operations from model histories in repositories. Ockham discovers frequent structures in model difference graphs, explaining model differences, and has been validated in multiple experiments and a real-world case study.
AUTOMATED SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Kewen Peng, Christian Kaltenecker, Norbert Siegmund, Sven Apel, Tim Menzies
Summary: This research aims to address the issue of model disagreement in multi-objective configuration optimization. VEER, a dimension reduction method, is proposed to build a one-dimensional approximation space to replace the Pareto sorting step in multi-objective optimization. The experiments show that VEER significantly reduces disagreement and execution time compared to the prior state-of-the-art.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Proceedings Paper
Computer Science, Artificial Intelligence
Ralf Ramsauer, Stefan Huber, Konrad Schwarz, Jan Kiszka, Wolfgang Mauerer
Summary: This paper presents the use of static hardware partitioning and virtualization mechanisms to achieve interference and isolation between workloads. It discusses issues in achieving zero interventions and zero overhead and proposes the use of customizable and configurable RISC-V instruction set architecture.
2022 IEEE 8TH WORLD FORUM ON INTERNET OF THINGS, WF-IOT
(2022)
Proceedings Paper
Computer Science, Hardware & Architecture
Karen Wintersperger, Hila Safi, Wolfgang Mauerer
Summary: By studying the influence of different parameters on the runtime of quantum programs on tailored hybrid CPU-QPU systems, we provide an intuition on the potentials and limitations of co-design approaches and discuss physical limitations for implementing the proposed changes on real quantum hardware devices.
ARCHITECTURE OF COMPUTING SYSTEMS, ARCS 2022
(2022)
Article
Computer Science, Software Engineering
Gustavo Vale, Claus Hunsen, Eduardo Figueiredo, Sven Apel
Summary: This study investigates the factors that affect the time it takes to resolve merge conflicts in collaborative software development. Through analysis of various independent variables, such as the number of chunks and lines of code, the study found that committing smaller chunks speeds up the resolution process. Additionally, merge scenario characteristics were found to have a stronger correlation with resolution time than merge conflict characteristics. The study also identified four types of challenges in merge conflict resolution and highlighted the importance of inherent dependencies between conflicting and non-conflicting code.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2022)
Proceedings Paper
Computer Science, Software Engineering
Wolfgang Mauerer, Stefan Klessinger, Stefanie Scherzinger
Summary: The reproducibility of scientific experiments is gaining attention, and we propose teaching these skills as part of software engineering education. These skills are valuable not only for scientific utility but also for professional careers in computer science. By including them in software engineering curricula, we can address the reproducibility crisis and help software engineers build sustainable industrial systems.
2022 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING EDUCATION FOR THE NEXT GENERATION (SEENG 2022)
(2022)
Proceedings Paper
Computer Science, Hardware & Architecture
Manuel Schonberger, Maja Franz, Stefanie Scherzinger, Wolfgang Mauerer
Summary: This article discusses the issue of abstraction levels in quantum programming and compares code portability between different frameworks. The research finds that for certain specific problems, framework-specific implementations can be derived from mathematical expressions, and porting between frameworks is relatively easy.
2022 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION (ICSA-C 2022)
(2022)
Proceedings Paper
Computer Science, Software Engineering
Clemens Dubslaff, Kallistos Weis, Christel Baier, Sven Apel
Summary: This study introduces the concept of feature causality, which aims to identify the causes of functional and non-functional properties in configurable software systems through counterfactual reasoning. Various methods are presented to explicate these causes and their interactions. The feasibility of the approach is demonstrated through evaluation on a wide range of software systems.
2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022)
(2022)