07-01-2021 дата публикации
Номер: US20210004470A1
Aspects of the disclosure provide for automatically generating patches for security violations. For example, a plurality of inputs may be generated for code. The code may be executed using the plurality of inputs to obtain execution states at a plurality of code locations. The execution states may include at least one security violation for at least some of the plurality of inputs. Using the execution states, one or more patch conditions causing the at least one security violation may be determined. Using the execution states, one or more corresponding patch locations may be determined based on a code location of the plurality of code locations where the at least one security violation each of the one or more patch conditions occurred. At least one candidate patch for the at least one security violation may be automatically generated. The at least one candidate patch may include one of the patch conditions and one of the corresponding patch locations. 1. A method of automatically generating patches for security violations , comprising:generating, by one or more processors, a plurality of inputs for code;executing, by the one or more processors, the code using the plurality of inputs to obtain execution states at a plurality of code locations, the execution states including at least one security violation for at least one of the plurality of inputs;determining, by the one or more processors using the execution states, one or more patch conditions causing the security violation;determining, by the one or more processors, using the execution states, one or more corresponding patch locations based on a code location of the plurality of code locations where the at least one security violation conditions occurred; andautomatically generating, by the one or more processors, at least one candidate patch for the at least one security violation, the at least one candidate patch includes one of the patch conditions and one of the one or more corresponding patch locations.2. ...
Подробнее