METAPHOR BASED LANGUAGE FUZZING OF COMPUTER CODE
3 Assignments
0 Petitions
Accused Products
Abstract
The disclosed subject matter provides for software testing using metaphor based language fuzzing. Metaphor based language fuzzing can decompose a code segment into a metaphor representing the code segment. The metaphor can be mutated based on determined logical perturbations to any element of the metaphor. The mutation of the metaphor can act as a surrogate for mutation of the code segment. The mutated metaphor can be analyzed to reveal performance differences in comparison to the code segment. These performance difference can be correlated to mutation of the metaphor such that a corresponding mutation of the code segment can be correlated by extrapolation. Moreover, mutators can be stored and reused on other metaphors. Furthermore, employing a metaphor as a root language surrogate can facilitate generating a reduced number of mutators as compared to directly mutating code segments in a plurality of computer languages.
-
Citations
21 Claims
-
2. A system, comprising:
-
a processor; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising; receiving a first code segment in a first computer language; receiving a second code segment in a second computer language; decomposing the first and second code segments into constituent code elements; determining a metaphoric element corresponding to a constituent code element of the constituent code elements; determining metaphor data representing a metaphor, in a third computer language, corresponding to the constituent code element based on the metaphoric element; allowing access to the metaphor data to facilitate an operation related to the metaphor, and generating a third code segment, in a fourth language, based on a modification of the metaphor data as a result of the operation related to the metaphor.
-
-
14. A method, comprising:
-
receiving, by a system comprising a processor, a first code segment in a first language and a second code segment in a second language; determining by the system, in response to identifying features of the code segments, a metaphoric element corresponding to a feature of the first or second code segment; generating, by the system, a metaphor, in a third language, representing the feature of the first or second code segment based on the metaphoric element; generating, by the system, a third code segment in a fourth language in response to mutating the metaphor, and facilitating, by the system, access to the third code segment. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium having instructions stored thereon that, in response to execution, cause a system comprising a processor to perform operations, comprising:
-
determining, in response to decomposing a first code segment in a first language and second code segment in a second language into constituent code elements, a metaphoric element corresponding to a constituent code element of the constituent code elements; determining, in a third language, a metaphor of the constituent code element based on the metaphoric element; determining a mutated metaphor in response to applying a mutator to the metaphor; and enabling access, in a fourth language, to a third code segment based on the mutated metaphor. - View Dependent Claims (21)
-
Specification