Method and system for performing a memory safety check of a program written in an unmanaged programming language
US9530006B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Apr 11, 2014 |
| Grant date | Dec 27, 2016 |
| Priority date | — |
| Expiry date | Jun 22, 2034 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F11/3636
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A method for performing a memory safety check of a program coded in an unmanaged programming language includes receiving an intermediate representation (IR) of the program and performing a static analysis pass of the IR to generate annotations including a safe pointer and an unsafe pointer. The method further includes removing, during a static analysis pass of the IR, the safe pointer from the annotations, inserting, into the IR using the annotations, a sandbox function call at the unsafe pointer to generate a modified IR, compiling the modified IR to generate an executable version of the program, executing, inside a sandbox framework, the executable version of the program, generating, during runtime and upon reaching the sandbox function call, a metadata entry and an enhanced pointer for atomicity, and comparing, during runtime and upon reaching a use of the unsafe pointer, the metadata entry with the enhanced pointer.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.