Periodic Reporting for period 4 - BIGCODE (Learning from Big Code: Probabilistic Models, Analysis and Synthesis)
Período documentado: 2020-10-01 hasta 2021-03-31
- we have created a new way to program mobile user interfaces by leveraging Big Code and Synthesis techniques. This work and our current research on the topic has the potential to change the way UI programming is performed: the idea is to simply provide an example of a picture that we want our mobile application to have, and then have the machine generate the actual computer code that produces this picture.
- we have also built advanced, explainable models of code which are faster to train than standard deep learning methods. These models are particularly useful for source code, but we have also found applications in natural language processing. Having interpretable models is a major challenge (see latest EU regulations) and our work addresses this in the context of programs. We are currently continuing to improve these models given the substantial interest from academics and companies, and plan to release the full code publicly.
- we have also built a number of impactful big code-based systems, such as https://debin.ai(se abrirá en una nueva ventana) and http://apk-deguard.com/ , which use graphical models learned over big code to de-obfuscate programs. Both of these systems are widely used today by companies and academics.
- finally, we have investigated the problem of robustness of deep learning, a problem beyond code. We are now using these developed techniques and are applying them to training robust models of code and other classifiers, all of which are of practical use.
- develop techniques and systems for training robust models of code. This has not been done up to now yet it is critical (e.g. for malware detection).
- develop an end to end system (with several new techniques) for generating complete Android layout code from an image (this includes attribute prediction deep learning methods).