O'Callahan, 2001 - Google Patents
Generalized aliasing as a basis for program analysis toolsO'Callahan, 2001
View PDF- Document ID
- 16963120076310951542
- Author
- O'Callahan R
- Publication year
External Links
Snippet
Tools for automatic program analysis promise to improve programmer productivity by searching and summarizing large bodies of code. However, the phenomenon of aliasing— different names being used to refer to the same data—reduces the effectiveness of simple …
- 238000004450 types of analysis 0 abstract description 78
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
- 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
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- 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
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- 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
-
- 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
-
- 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
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- 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/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
O'Callahan | Generalized aliasing as a basis for program analysis tools | |
US7421680B2 (en) | Persisted specifications of method pre-and post-conditions for static checking | |
US7526755B2 (en) | Plug-in pre- and postconditions for static program analysis | |
Clifton et al. | MultiJava: Design rationale, compiler implementation, and applications | |
Cheon et al. | Model variables: Cleanly supporting abstraction in design by contract | |
Cardelli | A semantics of multiple inheritance | |
Cardelli | Typeful Programming. | |
Boruch-Gruszecki et al. | Capturing types | |
US20060212847A1 (en) | Type checker for a typed intermediate representation of object-oriented languages | |
Duby et al. | CCEL: A Metalanguage for C++. | |
Lara et al. | A posteriori typing for model-driven engineering: Concepts, analysis, and applications | |
Bach Poulsen et al. | Scopes describe frames: A uniform model for memory layout in dynamic semantics | |
Grove | Effective interprocedural optimization of object-oriented languages | |
Zhao | Polymorphic type inference for scripting languages with object extensions | |
Vandevoorde | Exploiting specifications to improve program performance | |
Bockisch et al. | Java bytecode verification with OCL: Why, how and when | |
Biberstein et al. | Sealing, Encapsulation, and Mutablility | |
Poetzsch-Heffter | Programming language specification and prototyping using the MAX System | |
Milanova | Precise and practical flow analysis of object-oriented software | |
Sutton et al. | Identification of idiom usage in C++ generic libraries | |
Erbatur et al. | Enforcing programming guidelines with region types and effects | |
Chatterjee | Modular data-flow analysis of statically typed object-oriented programming languages | |
Mathews et al. | A Humane, Graph-Based Representation of Programs and Analyses | |
Stata | Modularity in the presence of subclassing | |
Merino | Jiapi: a type checker generator for statically typed languages |