Microsoft Corporation
Automated software generation through mutation and artificial selection
Last updated:
Abstract:
Techniques for automatically generating a target software object herein include accessing an initial version of a candidate software object that does not satisfy one or more functional requirements; mutating executable binary object code of the initial version of the candidate software object to generate a first intermediate version; testing the first intermediate version to determine whether the first intermediate version satisfies at least one of the one or more functional requirements by executing the first intermediate version and a set of automated tests; and continuing to mutate and test the candidate software object through successive intermediate versions of the candidate software object until a version of the candidate software object satisfies all of the one or more functional requirements, wherein each successive intermediate version of the candidate software satisfies at least one functional requirement not satisfied by preceding versions of the candidate software object.
Utility
30 Sep 2019
30 Nov 2021