The Data-Driven Software Engineering Department (dataSED) aims to advance the frontiers of software engineering by utilizing the wealth of data produced during software development and operation to support software engineers with the analysis, evolution, and operation of large and complex software-intensive systems. Our focus is on the creation of custom machine learning and data mining methods, algorithms, and tools that solve software engineering problems using evidence-based, actionable insights. These techniques operate on various types of data, including the system's source code, it's change history obtained from versioning systems, information from issue tracking databases, logs from building, deploying and testing the system, and run-time information collected through logging and instrumentation.
Research activities in dataSED address four areas of software engineering:
- Cybersecurity, in particular, automated identification and repair of software security vulnerabilities;
- Software Resilience, through adaptive bio-inspired approaches to create autonomously self-healing systems;
- Intelligent Analytics, to deal with the vast amounts of data produced in iterative development processes, such as continuous engineering;
- Recommendation Systems, aimed at smarter evolution and testing of software-intensive systems.
We aim to work in close collaboration with industry, to ensure that our research addresses questions of practical value, and to evaluate candidate solutions in real-life circumstances. Our research is firmly rooted in well-established disciplines of software engineering, such as software repository mining, program analysis, software reverse engineering, generic language technology, and empirical software engineering.