Software development is not just a technical but also a social process that involves people from diverse backgrounds and with varying needs, preferences, and expertise. Our group strives to investigate how human factors, such as knowledge, communication, and collaboration, affect software development processes, outcomes, and quality. We also acknowledge the importance of empirical methods for understanding and improving software engineering. Therefore, we employ various empirical research methods to collect and analyze data, including surveys, experiments, case studies, and mining software repositories. Our research group contributes to the advancement of software engineering by providing evidence-based insights and recommendations for designing, implementing, and evaluating software artifacts.
Our research topics include:
Software maintenance and evolution
Software maintenance is essential as software systems often must cope with newly emerging issues and constantly changing environments. The goal of this research topic is to propose new approaches for:
Software development process
A good development process is critical for the productivity of software teams. The relevant tasks of this research topic include:
Development bots
Development bots bridge the gap between human collaborative software development and automated processes, alleviating the software development workload, improving productivity, and enabling use cases for which humans are not realistically suitable (e.g., giving feedback at scale). With this research topic, we aim at:
Software product lines
Software product lines are a key technology for developing customized software at scale. Our group focuses on bridging the gap between theory and practice in this area. With our contributions in this direction, we aim at:
Software exercises
We focus on automated support for the management of software exercises. Some topics in this area are: