Program Synthesis
To borrow from Microsoft:
Program synthesis is the task of automatically discovering an executable piece of code given user intent expressed using various forms of constraints such as input-output examples, demonstrations, natural language, etc.
One of the best program synthesis examples I've come across created new authenticated encryption (AE) schemes; the paper also automated the analysis and privacy and authenticity security proofs for the synthesized AE schemes.
The take-away from program synthesis is: (1) it can provide novel solutions to solve a problem through an automated process and (2) it is possible to verify the solution's correctness.
Vulnerability Research & Program Synthesis
There has been a great deal of effort made in recent years in automating vulnerability analysis. A culmination of this effort was demonstrated this summer at the Cyber Grand Challenge(https:// www. cybergrandchallenge.com/).
It would seem like program synthesis would have great potential in automated vulnerability research.
- Perhaps it could derive new exploits
- Perhaps it could derive new patches or tests
My question is this: Are there any examples of program synthesis in vulnerability research?
I am having a hard time finding any examples of such and I would like to know if anyone has come across it.