Lattner et al., 2003 - Google Patents
Data structure analysis: A fast and scalable context-sensitive heap analysisLattner et al., 2003
View PDF- Document ID
- 11843935253777178218
- Author
- Lattner C
- Adve V
- Publication year
External Links
Snippet
In our recent work, we have developed compiler analyses and transformations that operate at the level of entire logical data structures, rather than individual load and store operations or individual data elements. This paper describes a fast, scalable heap analysis algorithm …
- 238000004458 analytical method 0 title abstract description 108
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/4421—Execution paradigms
- G06F9/4428—Object-oriented
- G06F9/443—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/30—Arrangements for executing machine-instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lattner et al. | Making context-sensitive points-to analysis with heap cloning practical for the real world | |
Chen et al. | Under-optimized smart contracts devour your money | |
Kinder et al. | An abstract interpretation-based framework for control flow reconstruction from binaries | |
Livshits et al. | Tracking pointers with path and context sensitivity for bug detection in C programs | |
US6662354B1 (en) | Determining destinations of a dynamic branch | |
US7308680B2 (en) | Intermediate representation for multiple exception handling models | |
US5740443A (en) | Call-site specific selective automatic inlining | |
US20020010911A1 (en) | Compile time pointer analysis algorithm statement of government interest | |
JP2005018767A (en) | Query optimizer system and method | |
Amme et al. | Data dependence analysis of assembly code | |
Lattner et al. | Data structure analysis: A fast and scalable context-sensitive heap analysis | |
Schilling et al. | Vandalir: Vulnerability analyses based on datalog and llvm-ir | |
Lattner et al. | Data structure analysis: An efficient context-sensitive heap analysis | |
Tripp et al. | Hawkeye: effective discovery of dataflow impediments to parallelization | |
Albert et al. | SuperStack: Superoptimization of stack-bytecode via greedy, constraint-based, and SAT techniques | |
Thalinger et al. | Optimizing invokedynamic | |
Stoffers et al. | Automated memoization for parameter studies implemented in impure languages | |
Das et al. | Precise null pointer analysis through global value numbering | |
Rakib et al. | Component-wise instruction-cache behavior prediction | |
Kalleberg et al. | Fusing a transformation language with an open compiler | |
Weng et al. | Static techniques for reducing memory usage in the C implementation of Whiley programs | |
Clausen | Optimizations In Distributed Run-time Compilation | |
Li et al. | Detecting undefined behaviors in CUDA C | |
Furr | Combining static and dynamic typing in Ruby | |
Carpenter et al. | Translation Schemes for the HPJava Parallel Programming Language |