Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
AssigneeSun Microsystems, Inc.
InventorEduard de Jong
Life of this patent
Estimating the term…
Abstract
A method for reducing dynamic memory allocation includes designing a software program using a memory allocation module for allocating memory, analyzing the software program to determine a bound on dynamic memory allocation and modifying the program based on the analyzing. According to one aspect, the program is modified to use static memory allocation in lieu of dynamic memory allocation based on the analyzing. According to another aspect, the program is modified to reduce the amount of dynamically allocated memory based on the analyzing.
Claims61
A method for reducing dynamic memory allocation, comprising:
- designing a software program using a dynamic memory allocation module for allocating memory;
- analyzing said software program to determine a bound on dynamic memory allocation in said software program;
- and
- modifying said software program based on said analyzing wherein said analyzing and said modifying are performed using a processor, wherein said modifying further comprises modifying said software program to use static memory allocation in lieu of dynamic memory allocation based on said analyzing.
A program storage device readable by a machine, embodying a stored program of instructions executable by the machine to perform a method for reducing dynamic memory allocation, the method comprising:
- analyzing an input software program to determine a bound on dynamic memory allocation in said input software program, said input software program designed using a dynamic memory allocation module for allocating memory;
- and
- modifying said input software program based on said analyzing, wherein said modifying further comprises modifying said input software program to use static memory allocation in lieu of dynamic memory allocation based on said analyzing.
An apparatus for reducing dynamic memory allocation, comprising:
- means for receiving a software program designed using a dynamic memory allocation module for allocating memory;
- means for analyzing said software program to determine a bound on dynamic memory allocation in said software program;
- and
- means for modifying said software program based on said analyzing, said analyzing, wherein said means for modifying further comprises means for modifying said software program to use static memory allocation in lieu of dynamic memory allocation based on said analyzing.
An apparatus for reducing dynamic memory allocation, comprising:
- a dynamic memory tool configured to receive a program specification for a software program and a program implementation for said software program, said program specification comprising at least one constraint on said program implementation, said tool further configured to analyze said program implementation and said program specification to determine a bound on dynamic memory allocation in said program implementation, said tool further configured to modify said program implementation based on said analyzing, wherein said modifying further comprises modifying said program implementation to use static memory allocation in lieu of dynamic memory allocation based on said analyzing.
An apparatus comprising:
- a processor;
- and
- a memory coupled to said processor, said memory comprising a program, said program comprising a plurality of procedures, each of said procedures comprising at least one executable instruction, said program having been modified based on a dynamic memory bounds analysis of a program implementation associated with said program and a program specification associated with said program, wherein said modification further comprises modifying said program to use static memory allocation in lieu of dynamic memory allocation based on said analysis.
Dependencies are inferred from the claim text.