Software engineers spend enormous time manually rewriting code every time a requirement changes, a process so slow and error-prone that users end up inventing their own workarounds. This project aims to automate that entire cycle by putting computational search at the heart of software development. Instead of humans painstakingly adjusting project plans, tests, and code by hand, a hyper-heuristic system would automatically select or generate the best heuristics to adapt the software as conditions change. If it works, software could respond to shifting user needs or operating environments in near real-time, without a person in the loop. That would matter for any system that quietly keeps society running—energy grids, navigation systems, medical diagnostics, supply chains—where slow, manual updates currently create fragility and cost. The project is ambitious and fundamental: it brings together two world-leading research groups in search-based software engineering and hyper-heuristics to create a new theory and practice of software engineering. There is no immediate product here, but the payoff is a radical shift in how we build and maintain the code that underpins modern life.
View original technical description
Current software development processes are expensive, laborious and error prone. They achieve adaptivity at only a glacial pace, largely through enormous human effort, forcing highly skilled engineers to waste significant time adapting many tedious implementation details. Often, the resulting software is equally inflexible, forcing users to also rely on their innate human adaptivity to find "workarounds". As the letters of support from the DAASE industrial partners demonstrate, this creates a pressing need for greater automation and adaptivity. Suppose we automate large parts of the development process using computational search. Requirements engineering, project planning and testing now become unified into a single automated activity. As requirements change, the project plans and associated tests are adapted to best suit the changes. Now suppose we further embed this adaptivity within the software product itself. Smaller changes to the operating environment can now be handled automatically. Feedback from the operating environment to the development process will also speed adaption of both the software product and process to much larger changes that cannot be handled by such in-situ adaptation. This is the new approach to software engineering DAASE seeks to create. It places computational search at the heart of the processes and products it creates and embeds adaptivity into both. DAASE will also create an array of new processes, methods, techniques and tools for a new kind of software engineering, radically transforming the theory and practice of software engineering. 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. We do not underestimate the challenges this research agenda poses. However, we believe we have the team, partners and programme plan that will achieve the ambitious aim. DAASE integrates two teams of researchers from the Operational Research and Search Based Software Engineering communities. Both groups of researchers are widely regarded as world leading, having pioneered the fields of Hyper-Heuristics and Search Based Software Engineering (SBSE); the two key fields that DAASE brings together.
Plain English summaries and category classifications on this site are generated by AI and may not perfectly reflect the original research.
Is something wrong? Let us know