Nothing Special   »   [go: up one dir, main page]

Atkinson et al., 1996 - Google Patents

The design of whole-program analysis tools

Atkinson 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 …
Continue reading at www.cse.scu.edu (PDF) (other versions)

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/44Arrangements for executing specific programmes
    • G06F9/4421Execution paradigms
    • G06F9/4428Object-oriented
    • G06F9/443Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/44Arrangements for executing specific programmes
    • G06F9/455Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File 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