Asset Publisher
Machine Learning of Formal Specifications using Genetic Programming

NPS proposes machine learning of formal specification pertaining to the execution of a program written in any language. The technique works of a collection of sequences of samples such as <t=10, x=35> (meaning at time t variable x has values 35). These sequences can be easily generated using source code or lower level instrumentation of existing programs; the collection of such sequences is the learning data, or evidence. The proposed technique uses genetic programming to generate a collection First Order Logic (FOL) formal specifications that explain the above-mentioned evidence.

The technique is applicable to machine learning of cyber attacks, using sequences of identifiers (e.g., source IP address, contents type, etc.) as the above-mentioned evidence.
Computer Science
Office of Naval Research