Automated Software Engineering

The future of software development is worrisome. The more technology has evolved, the more developers are needed for manual work, starting from typing commands into text files to testing and fixing manually produced code. We are concerned that a lot of valuable developer’s time goes into writing tests, fixing bugs and optimizing code rather than focusing on creating new innovative ideas and products.

All the fundamental flaws in software development can be solved through intelligent automation by combining machine learning (reinforcement learning, neural networks) with machine reasoning (symbolic execution, SMT solving) in the style of Microsoft's DeepCoder. We aim to work with other research groups and interested industrial partners to build a framework to achieve maximum level of automation in software development.

LET’S CHANGE THE WAY SOFTWARE IS DEVELOPED, RADICALLY!

The first step in our masterplan is to automate test generation. The project consists three phases:

  • Research phase Automated Test Suite Augmentation - the goal is to find the best techniques that can be used to increase test coverage by automatically generating new test cases based on existing ones. November 2017 - May 2018
  • Minimum viable product - allows us to test the solution achieved theoretically in the first phase - in 2018
  • Commercializable product - based on the result of MVP testing, the final product will be launched to the market - in 2019

We are looking to collaborate with students who want to be part in a long-term project that has a huge potential of revolutionizing software development. NoWay Ventures is negotiating with our institute to support this research with scholarships.

If you’re interested in joining the project, feel free to contact Vesal Vojdani (vesal.vojdani@ut.ee).

Publications