CA2240584A1 - Compile-time data dependency verification - Google Patents

Compile-time data dependency verification Download PDF

Info

Publication number
CA2240584A1
CA2240584A1 CA002240584A CA2240584A CA2240584A1 CA 2240584 A1 CA2240584 A1 CA 2240584A1 CA 002240584 A CA002240584 A CA 002240584A CA 2240584 A CA2240584 A CA 2240584A CA 2240584 A1 CA2240584 A1 CA 2240584A1
Authority
CA
Canada
Prior art keywords
compile
data
verification
time
time data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002240584A
Other languages
French (fr)
Other versions
CA2240584C (en
Inventor
Graham William Ewart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM Canada Ltd
Original Assignee
IBM Canada Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IBM Canada Ltd filed Critical IBM Canada Ltd
Priority to CA002240584A priority Critical patent/CA2240584C/en
Priority to TW087118137A priority patent/TW409228B/en
Priority to US09/315,426 priority patent/US6275986B1/en
Publication of CA2240584A1 publication Critical patent/CA2240584A1/en
Application granted granted Critical
Publication of CA2240584C publication Critical patent/CA2240584C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking

Abstract

A compiler extension for the compile-time verification of programmer-defined data dependencies.
The compiler extension provides for a check statement which takes as an argument a data-verification expression. The data-verification expression has a predetermined value when the programmer-defined data dependency is conformed to in the program. A compile-time error is generated if the data-verification expression does not have the predetermined value on the compilation of the check statement. The successful compilation of the check statement does not result in run-time code or run-time data allocation occurring.
CA002240584A 1998-06-12 1998-06-12 Compile-time data dependency verification Expired - Fee Related CA2240584C (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002240584A CA2240584C (en) 1998-06-12 1998-06-12 Compile-time data dependency verification
TW087118137A TW409228B (en) 1998-06-12 1998-10-31 Compile-time data dependency verification
US09/315,426 US6275986B1 (en) 1998-06-12 1999-05-20 Compile-time data dependency verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002240584A CA2240584C (en) 1998-06-12 1998-06-12 Compile-time data dependency verification

Publications (2)

Publication Number Publication Date
CA2240584A1 true CA2240584A1 (en) 1999-12-12
CA2240584C CA2240584C (en) 2002-02-12

Family

ID=4162554

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002240584A Expired - Fee Related CA2240584C (en) 1998-06-12 1998-06-12 Compile-time data dependency verification

Country Status (3)

Country Link
US (1) US6275986B1 (en)
CA (1) CA2240584C (en)
TW (1) TW409228B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558307A (en) * 2024-01-11 2024-02-13 联和存储科技(江苏)有限公司 Threshold voltage adjusting method, device and equipment of memory chip and storage medium

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2351367A (en) * 1999-06-22 2000-12-27 Int Computers Ltd Generating code for processing a database
US20020023086A1 (en) * 2000-06-30 2002-02-21 Ponzio, Jr. Frank J. System and method for providing signaling quality and integrity of data content
US6820256B2 (en) * 2000-12-13 2004-11-16 Microsoft Corporation System and method for whole-system program analysis
US7062755B2 (en) * 2002-10-16 2006-06-13 Hewlett-Packard Development Company, L.P. Recovering from compilation errors in a dynamic compilation environment
US7111287B2 (en) * 2003-01-10 2006-09-19 International Business Machines Corporation Global processor resource assignment in an assembler
US8250226B2 (en) * 2005-07-21 2012-08-21 Ca, Inc. Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
US8954939B2 (en) 2012-12-31 2015-02-10 Microsoft Corporation Extending a development environment
US9785777B2 (en) * 2014-12-19 2017-10-10 International Business Machines Corporation Static analysis based on abstract program representations
US9921857B1 (en) 2017-02-06 2018-03-20 Red Hat Israel, Ltd. Compiler extension for correcting error messages

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488722A (en) * 1993-05-28 1996-01-30 International Business Machines Corporation System and method for automating implementation and execution of constraint most likely to be violated in a database
US5694539A (en) * 1994-08-10 1997-12-02 Intrinsa Corporation Computer process resource modelling method and apparatus
US5696973A (en) * 1995-02-17 1997-12-09 International Business Machines Corporation Index-based method for supporting multimethod function overloading with compile-time type checking and run-time dispatch
US5721925A (en) * 1995-12-01 1998-02-24 Unisys Corporation Method for generically invoking operation in an object oriented repository
US5790778A (en) * 1996-08-07 1998-08-04 Intrinsa Corporation Simulated program execution error detection method and apparatus
US5915116A (en) * 1997-03-07 1999-06-22 Fmr Corp. Time value manipulation
US5987252A (en) * 1997-09-19 1999-11-16 Digital Equipment Corporation Method and apparatus for statically analyzing a computer program for data dependencies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117558307A (en) * 2024-01-11 2024-02-13 联和存储科技(江苏)有限公司 Threshold voltage adjusting method, device and equipment of memory chip and storage medium
CN117558307B (en) * 2024-01-11 2024-03-15 联和存储科技(江苏)有限公司 Threshold voltage adjusting method, device and equipment of memory chip and storage medium

Also Published As

Publication number Publication date
TW409228B (en) 2000-10-21
CA2240584C (en) 2002-02-12
US6275986B1 (en) 2001-08-14

Similar Documents

Publication Publication Date Title
Fernandez Simple and effective link-time optimization of Modula-3 programs
Wall Systems for late code modification
Lattner et al. LLVM: A compilation framework for lifelong program analysis & transformation
US5675803A (en) Method and apparatus for a fast debugger fix and continue operation
EP0651327A3 (en) Recompilation of computer programs for enhanced optimization
GB2342473B (en) Code generation for a bytecode compiler
Ramsey et al. A single intermediate language that supports multiple implementations of exceptions
WO2000016191A3 (en) Accurate method for inlining virtual calls
CA2240584A1 (en) Compile-time data dependency verification
EP0778522A3 (en) System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
WO2002086699A3 (en) Microprocessor for executing byte compiled java code
US7007198B2 (en) Method for handling exceptions of applications
Boquist Code optimization techniques for lazy functional languages
Jordan Implementation benefits of C++ language mechanisms
WO2004042518A3 (en) Software development system for editable executables
GB2307073A (en) System, method, and compiler pre-processor for conditionally compiling a software compilation unit
MX9805682A (en) Distributed processing.
Béra A low overhead per object write barrier for the cog vm
Buisson et al. Recaml: execution state as the cornerstone of reconfigurations
Caldwell et al. Reducing calling convention overhead in object-oriented programming on embedded arm thumb-2 platforms
Saleil et al. Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis
Nilsson Porting GCC for dunces
Tallent Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
US20030177478A1 (en) Initial object capacity determination
US7337173B1 (en) Compiler having global element optimization

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed