IP Library Granted Patent US 9,535,824
Granted Patent B2
US 9,535,824 · App. 14/467,460 · Granted Jan 3, 2017

Payload generation for computer software testing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,535,824
App. No.
14/467,460
Granted
Jan 3, 2017
Kind
B2
Abstract

A method of generating test payloads for a target system includes receiving a plurality of reference programs, each reference program modelling at least one aspect of the target system, building a specification for each received reference program, each specification defining illegal states for the respective reference program, analyzing each specification to determine one or more entry constraints that would generate an illegal state from a specific input, and synthesizing one or more payloads from the determined entry constraints.

Claims (27)

1. A method of generating test payloads for a target system, the method comprising:

receiving a plurality of reference programs, each reference program modelling business logic of at least one aspect of the target system,

building a specification for each received reference program, each specification defining illegal states and control locations in the execution of the respective reference program with respect to a functional property,

performing a static analysis of each specification to determine one or more entry constraints that, when input to the business logic, would generate an illegal state from a specific input compatible with the one or more entry constraints, the static analysis performed without executing the respective reference program, and

synthesizing one or more payloads from the determined entry constraints.

2. A method according to claim 1 , and further comprising computing structural invariant constraints over the synthesized payloads and synthesizing additional payloads compatible with the computed constraints.

3. A method according to claim 2 , and further comprising verifying that the additional payloads are compatible with the determined entry constraints.

4. A method according to claim 1 , wherein the step of analyzing each specification comprises traversing backwards a control flow graph of the control locations.

5. A method according to claim 1 , wherein the target system is a web service and the at least one aspect of the target system includes a security function of the web service.

6. A system for generating test payloads for a target system, the system comprising a processor arranged to:

receive a plurality of reference programs, each reference program modelling business logic of at least one aspect of the target system,

build a specification for each received reference program, each specification defining illegal states and control locations in the execution of the respective reference program with respect to a functional property,

perform a static analysis of each specification to determine one or more entry constraints that, when input to the business logic, would generate an illegal state from a specific input compatible with the one or more entry constraints, the static analysis performed without executing the respective reference program, and

synthesize one or more payloads from the determined entry constraints.

7. A system according to claim 6 , wherein the processor is further arranged to compute structural invariant constraints over the synthesized payloads and synthesize additional payloads compatible with the computed constraints.

8. A system according to claim 7 , wherein the processor is further arranged to verify that the additional payloads are compatible with the determined entry constraints.

9. A system according to claim 6 , wherein the processor is arranged, when analyzing each specification, to traverse backwards a control flow graph of the control locations.

10. A system according to claim 6 , wherein the target system is a web service and the at least one aspect of the target system includes a security function of the web service.

11. A computer program product for generating test payloads for a target system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processing circuit to cause the processing circuit to perform a method comprising:

receiving a plurality of reference programs, each reference program modelling business logic of at least one aspect of the target system,

building a specification for each received reference program, each specification defining illegal states and control locations in the execution of the respective reference program with respect to a functional property,

performing a static analysis of each specification to determine one or more entry constraints that, when input to the business logic, would generate an illegal state from a specific input compatible with the one or more entry constraints, the static analysis performed without executing the respective reference program, and

synthesizing one or more payloads from the determined entry constraints.

12. A computer program product according to claim 11 , and further comprising instructions for computing structural invariant constraints over the synthesized payloads and synthesizing additional payloads compatible with the computed constraints.

13. A computer program product according to claim 12 , and further comprising instructions for verifying that the additional payloads are compatible with the determined entry constraints.

14. A computer program product according to claim 11 , wherein the instructions for analyzing each specification comprise instructions for traversing backwards a control flow graph of the control locations.

15. A computer program product according to claim 11 , wherein the target system is a web service and the at least one aspect of the target system includes a security function of the web service.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HCL TECHNOLOGIES LIMITED
Reel/Frame 050374/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: TRIPP, OMER; WURTH, EMMANUEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033649/0858 →