Atkinson et al., 1996 - Google Patents
The design of whole-program analysis toolsAtkinson et al., 1996
View PDF- Document ID
- 5937942844381895940
- Author
- Atkinson D
- Griswold W
- Publication year
- Publication venue
- Proceedings of IEEE 18th International Conference on Software Engineering
External Links
Snippet
Building efficient tools for understanding large software systems is difficult. Many existing program understanding tools build control flow and data flow representations of the program a priori, and therefore may require prohibitive space and time when analyzing large …
- 238000004458 analytical method 0 abstract description 60
Classifications
-
- 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
- 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/44—Encoding
-
- 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/455—Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- 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
- G06F11/3604—Software analysis for verifying properties of programs
-
- 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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Atkinson et al. | The design of whole-program analysis tools | |
Ryder et al. | A schema for interprocedural modification side-effect analysis with pointer aliasing | |
Cooper et al. | The impact of interprocedural analysis and optimization in the Rn programming environment | |
Milanova et al. | Parameterized object sensitivity for points-to analysis for Java | |
Chambers et al. | An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes | |
Grant et al. | DyC: an expressive annotation-directed dynamic compiler for C | |
Duesterwald et al. | A practical framework for demand-driven interprocedural data flow analysis | |
US6865730B1 (en) | Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading | |
Somogyi et al. | The execution algorithm of Mercury, an efficient purely declarative logic programming language | |
Rugina et al. | Pointer analysis for multithreaded programs | |
Hall | Managing interprocedural optimization | |
JP3354425B2 (en) | Method and system for improving executable file execution efficiency | |
Chambers et al. | Efficient multiple and predicated dispatching | |
US6301700B1 (en) | Method and apparatus for slicing class hierarchies | |
Heydon et al. | Caching function calls using precise dependencies | |
US5535394A (en) | Methods for distinguishing dynamically allocated storage along different call paths and for providing a compact representation of alias analysis | |
Atkinson et al. | Effective whole-program analysis in the presence of pointers | |
Sansom et al. | Formally based profiling for higher-order functional languages | |
EP0439533A1 (en) | Object-oriented, logic, and database programming tool | |
Shaham et al. | Automatic removal of array memory leaks in Java | |
WO1999061979A2 (en) | Dynamically converting statically bound function calls to dynamically bound function calls without recompilation | |
Adl-Tabatabai et al. | The StarJIT Compiler: A Dynamic Compiler for Managed Runtime Environments. | |
US7086044B2 (en) | Method, article of manufacture and apparatus for performing automatic intermodule call linkage optimization | |
Kistler | Continuous program optimization | |
Hoover | Alphonse: Incremental computation as a programming abstraction |