Abstract: A computer-implemented method comprising obtaining a first part or representation of a code section as a code part, said code part comprising a first code characteristic, analyzing the code part to identify context information related to the code section, obtaining a first idiomatic modifier based on the first code characteristic and the context information, wherein the first idiomatic modifier in use transforms a first code statement of the code part such that the transformed first code statement corresponds to an idiomatic representation of the first code statement, and generating a modified code part by applying the first idiomatic modifier to the code part.
Abstract: A computer-implemented method comprising, during execution of a software program comprising a procedure, determining whether an execution of the procedure satisfies a predetermined coverage criterion. In accordance with a determination that the execution of the procedure satisfies the predetermined coverage criterion, recording information related to the execution of the procedure to a log, the information based on data received from instrumented code included in the software program, and automatically generating an arrange section of a unit test for the procedure based on an initialization sequence determined from the recorded log, the initialization sequence comprising a sequence of program instructions which when executed invoke the procedure.
Abstract: A computer-implemented method comprising obtaining a first candidate test associated with a testable component, wherein the first candidate test comprises an input having an input value; generating a second candidate test associated with the testable component by performing a dynamic mutation-based fuzzing of the first candidate test, wherein the second candidate test is based on the first candidate test and comprises a modified input value for the input based on data generated during an execution of the first candidate test or domain knowledge associated with the testable component; and creating a test for the testable component based on the first candidate test or the second candidate test.