Artificial Intelligence & Software Engineering
The overall goal of our research is to significantly improve the quality of software engineering processes on the basis of integrating Artificial Intelligence methods. An example thereof is the integration of recommendation technologies into requirements engineering processes. These technologies help, for example, to identify relevant stakeholders for a specific software project, to assure the quality of requirements documents in software projects (e.g., on the basis of dependency detection), and also to support group decision making in the context of requirements prioritization.
Recommender Systems & Human Decision Making
Our focus is to develop recommendation technologies that take into account knowledge about human decision making when trying to calculate recommendations. An example is the detection and/or avoidance of decision biases, which are a major reason for suboptimal decisions. Furthermore, knowledge about cognitive processes can be exploited to facilitate model development and maintenance for recommender systems (and beyond). In this research, user interfaces (UI) play a major rule since UI design can heavily influence the user perception of the underlying recommender system.
Group Recommender Systems
Group recommender systems support the determination of recommendations for groups of users (in contrast to traditional approaches that rely on the assumption of single users of a recommender application). Related application areas are holiday trips, software release plans, and new product development. A major focus in these scenarios is to improve the quality of group decisions while take into account the aspects of fairness and consensus.
Intelligent Modeling Techniques for Complex Product & Services
In industrial scenarios, knowledge bases can become quite large and complex. Consequently, technologies are needed which help to minimize efforts related to the development and maintance of these artefacts. In the context of our research, we focus on the analysis of complexity properties of different semantic knowledge representations. For example, in which way should product knowledge be represented on a textual level such that knowledge engineers can derive a corresponding knowledge base with low communication overheads. Vice-versa, we are interested in the understandability of knowledge constructs on a formal level and want to figure out which representations are best suited to minimize related management efforts. Beyond traditional engineering methods, we develop approaches that apply the concepts of Human Computation to help to move knowledge engineering tasks directly to domain experts and thus to reduce the danger of scaleablity issues in the case that the number and size of knowledge bases increases.