2009 · 27 citations · 16 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureHardware-software Co-designControl-flow AnalysisData-flow AnalysisHigh-level SynthesisMemory Hierarchy DesignMemory ModelingMemory Subsystem DesignDynamic Memory ManagementGeneric ParametersHardware SynthesisHeap AnalysisMemory Allocation For Linked ListsMemory CompilerSoftware-to-hardware CompilationUpper Bound Computation
Dynamically allocated and manipulated data structures cannot be translated into hardware unless there is an upper bound on the amount of memory the program uses during all executions. This bound can depend on the generic parameters to the program, i.e., program inputs that are instantiated at synthesis time. We propose a constraint based method for the discovery of memory usage bounds, which leads to the first-known C-to-gates hardware synthesis supporting programs with non-trivial use of dynamically allocated memory, e.g., linked lists maintained with malloc and free. We illustrate the practicality of our tool on a range of examples.
16
The Daikon system for dynamic detection of likely invariants
Michael D. Ernst, Jeff Perkins, Philip J. Guo et al. · Science of Computer Programming · 2007 · 1.1K citations
Per Bjesse, Koen Claessen, Mary Sheeran et al. · 1998 · 375 citations
Sumit Gulwani, Krishna K. Mehra, Trishul Chilimbi · 2009 · 269 citations