Dynamic Adaptive Automated Software Engineering (DAASE)
Principal investigator: Prof. Xin Yao.
DAASE aims to create a new approach to software engineering which places computational search at the heart of the process and products it creates and embeds adaptivity into both. This new approach will produce software that is dynamically adaptive, being not only able to respond to and fix problems that arise before deployment and during operation, but also to continually optimise, re-configure and evolve to adapt to new operating conditions, platforms and environmental challenges. DAASE will create an array of new processes, methods, techniques and tools for this new kind of software engineering, radically transforming both theory and practice of software engineering. As part of it, DAASE will develop a hyper-heuristic approach to adaptive automation. A hyper-heuristic is a methodology for selecting or generating heuristics. Most heuristic methods in the literature operate on a search space of potential solutions to a particular problem. However, a hyper-heuristic operates on a search space of heuristics.
Currently, I am researching into adaptive software prediction. Software prediction tasks are of strategic importance for software developing companies. An example of such task is software effort estimation. Overestimations may result in a company loosing contracts or wasting resources, whereas underestimations may result in poor quality, delayed or unfinished software systems. Most software prediction research neglects the fact that software prediction tasks operate in online changing environments. Models are typically trained on a set of projects and evaluated on another set of projects, without considering whether the training projects were really available before the testing projects. Besides possibly leading to incorrect conclusions, this results in inflexible prediction approaches that become obsolete with time. I am currently investigating the type of changes suffered by software prediction tasks and proposing new approaches to quickly adapt to these changes.
I have published the following paper on this topic at ICSE'2014:
How to Make Best Use of Cross-Company Data in Software Effort Estimation?
Authors: Leandro L. Minku and Xin Yao
Abstract: Previous works using Cross-Company (CC) data for making Within-Company (WC) Software Effort Estimation (SEE) try to use CC data or models directly to provide predictions in the WC context. So, these data or models are only helpful when they match the WC context well. When they do not, a fair amount of WC training data, which are usually expensive to acquire, are still necessary to achieve good performance. We investigate how to make best use of CC data, so that we can reduce the amount of WC data while maintaining or improving performance in comparison to WC SEE models. This is done by proposing a new framework to learn the relationship between CC and WC projects explicitly, allowing CC models to be mapped to the WC context. Such mapped models can be useful even when the CC models themselves do not match the WC context directly. Our study shows that a new approach instantiating this framework is able not only to use substantially less WC data than a corresponding WC model, but also to achieve similar/better performance. This approach can also be used to provide insight into the behaviour of a company in comparison to others.