KR101786156B1 - 사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법 - Google Patents

사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법 Download PDF

Info

Publication number
KR101786156B1
KR101786156B1 KR1020137007833A KR20137007833A KR101786156B1 KR 101786156 B1 KR101786156 B1 KR 101786156B1 KR 1020137007833 A KR1020137007833 A KR 1020137007833A KR 20137007833 A KR20137007833 A KR 20137007833A KR 101786156 B1 KR101786156 B1 KR 101786156B1
Authority
KR
South Korea
Prior art keywords
boundary
user
type
check
code
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.)
Expired - Fee Related
Application number
KR1020137007833A
Other languages
English (en)
Korean (ko)
Other versions
KR20130101037A (ko
Inventor
다니엘 스티븐 하베이
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20130101037A publication Critical patent/KR20130101037A/ko
Application granted granted Critical
Publication of KR101786156B1 publication Critical patent/KR101786156B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
KR1020137007833A 2010-09-28 2011-09-09 사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법 Expired - Fee Related KR101786156B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/892,291 US8533695B2 (en) 2010-09-28 2010-09-28 Compile-time bounds checking for user-defined types
US12/892,291 2010-09-28
PCT/US2011/051023 WO2012047447A1 (en) 2010-09-28 2011-09-09 Compile-time bounds checking for user-defined types

Publications (2)

Publication Number Publication Date
KR20130101037A KR20130101037A (ko) 2013-09-12
KR101786156B1 true KR101786156B1 (ko) 2017-10-16

Family

ID=45872016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137007833A Expired - Fee Related KR101786156B1 (ko) 2010-09-28 2011-09-09 사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법

Country Status (8)

Country Link
US (1) US8533695B2 (enExample)
EP (1) EP2622466B1 (enExample)
JP (1) JP5893038B2 (enExample)
KR (1) KR101786156B1 (enExample)
CN (1) CN102402451B (enExample)
CA (1) CA2810986A1 (enExample)
ES (1) ES2733516T3 (enExample)
WO (1) WO2012047447A1 (enExample)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210118609A (ko) * 2020-03-23 2021-10-01 주식회사 티맥스 소프트 Transpiler를 통하여 전환된 언어와 source 언어간 범용 런타임 검증 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291393B2 (en) * 2007-08-20 2012-10-16 International Business Machines Corporation Just-in-time compiler support for interruptible code
US10705804B2 (en) * 2012-02-26 2020-07-07 Logistics Research Centre SIA Strongly typed metadata access in object oriented programming languages with reflection support
US9195442B2 (en) 2012-07-10 2015-11-24 Oracle International Corporation System and method for compiling lambda expression in a programming language environment
US8954939B2 (en) * 2012-12-31 2015-02-10 Microsoft Corporation Extending a development environment
US20140196015A1 (en) * 2013-01-04 2014-07-10 Microsoft Corporation Declaration of lifetime of resource reference
US9098269B2 (en) 2013-01-04 2015-08-04 Microsoft Technology Licensing, Llc System and method to ensure resource access safety with immutable object types
US9772828B2 (en) * 2014-04-22 2017-09-26 Oracle International Corporation Structural identification of dynamically generated, pattern-instantiation, generated classes
US9672015B2 (en) * 2015-09-28 2017-06-06 Semmle Limited Automatic determination of compiler configuration
US9684492B2 (en) 2015-09-28 2017-06-20 Semmle Limited Automatic determination of compiler configuration
CN110337650A (zh) * 2017-03-02 2019-10-15 三菱电机株式会社 信息处理装置和访问管理程序
US10706164B2 (en) * 2017-09-29 2020-07-07 Intel Corporation Crypto-enforced capabilities for isolation
CN108459873B (zh) * 2018-03-05 2021-09-24 中国人民解放军国防科技大学 一种提高开源代码注释率及注释质量的方法
US11023214B2 (en) * 2018-07-30 2021-06-01 Roger James Poon System and method for eliminating runtime out-of-bounds errors and exceptions
US10963228B1 (en) * 2020-12-22 2021-03-30 Temper Systems, Inc. Preventing garbage object accumulation on minimal runtimes
US12487824B2 (en) * 2021-09-21 2025-12-02 Intel Corporation Immediate offset of load store and atomic instructions
US20230315412A1 (en) * 2022-03-30 2023-10-05 Microsoft Technology Licensing, Llc Scalable behavioral interface specification checking
US20240104013A1 (en) * 2022-09-28 2024-03-28 Intel Corporation Deterministic adjacent overflow detection for slotted memory pointers
CN118113291A (zh) * 2022-11-30 2024-05-31 华为技术有限公司 一种内存安全管理方法及设备
US12450045B2 (en) * 2023-02-13 2025-10-21 Oracle International Corporation Modeling java source code in a symbolic description language
US12436749B2 (en) * 2023-03-31 2025-10-07 Veracode, Inc. Inferring type definitions of user-defined types of variables in application program code

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US20050257096A1 (en) * 2004-04-26 2005-11-17 International Business Machines Corporation Modification of array access checking in AIX
US20060200486A1 (en) * 2005-03-07 2006-09-07 Microsoft Corporation System and method for supporting non-native data types in a database API
US20060225026A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation User-defined type consistency checker

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584666A (en) 1984-06-21 1986-04-22 Motorola, Inc. Method and apparatus for signed and unsigned bounds check
US5644709A (en) 1994-04-21 1997-07-01 Wisconsin Alumni Research Foundation Method for detecting computer memory access errors
US5694539A (en) * 1994-08-10 1997-12-02 Intrinsa Corporation Computer process resource modelling method and apparatus
US6014723A (en) 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
JPH10275087A (ja) * 1997-03-28 1998-10-13 Fujitsu Ltd コンパイル装置
US6149318A (en) 1997-04-15 2000-11-21 Samuel C. Kendall Link-time and run-time error detection, and program instrumentation
US6343375B1 (en) 1998-04-24 2002-01-29 International Business Machines Corporation Method for optimizing array bounds checks in programs
JP3280332B2 (ja) 1998-07-10 2002-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ループに対するバージョニングを実行する方法及び装置、配列レンジ・チェックに関する情報をベーシック・ブロック内において収集する方法及び装置、配列レンジ・チェックに関する情報を変更する方法、配列レンジ・チェック最適化方法、配列レンジ・チェックのためのコードを生成する方法、不要配列レンジ・チェック除去方法及び装置、配列レンジ・チェックを選択する方法、配列レンジ・チェック変更方法、配列レンジ・チェック収集方法、及び配列レンジ・チェック取扱判断方法
US7260817B2 (en) * 1999-07-09 2007-08-21 International Business Machines Corporation Method using array range check information for generating versioning code before a loop for execution
JP3564445B2 (ja) * 2001-09-20 2004-09-08 松下電器産業株式会社 プロセッサ、コンパイル装置及びコンパイル方法
WO2005029241A2 (en) 2003-09-15 2005-03-31 Plum Thomas S Automated safe secure techniques for eliminating
US20050108695A1 (en) * 2003-11-14 2005-05-19 Long Li Apparatus and method for an automatic thread-partition compiler
US7747565B2 (en) * 2005-12-07 2010-06-29 Microsoft Corporation Garbage collector support for transactional memory
US8484613B2 (en) * 2010-01-28 2013-07-09 Synopsys, Inc. Optimizing bounds checking using computer algebra

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US20050257096A1 (en) * 2004-04-26 2005-11-17 International Business Machines Corporation Modification of array access checking in AIX
US20060200486A1 (en) * 2005-03-07 2006-09-07 Microsoft Corporation System and method for supporting non-native data types in a database API
US20060225026A1 (en) * 2005-04-01 2006-10-05 Microsoft Corporation User-defined type consistency checker

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210118609A (ko) * 2020-03-23 2021-10-01 주식회사 티맥스 소프트 Transpiler를 통하여 전환된 언어와 source 언어간 범용 런타임 검증 시스템
KR102322965B1 (ko) * 2020-03-23 2021-11-09 주식회사 티맥스 소프트 Transpiler를 통하여 전환된 언어와 source 언어간 범용 런타임 검증 시스템
US11449410B2 (en) 2020-03-23 2022-09-20 Tmaxsoft Co., Ltd Universal runtime verification system between source language and language converted through transpiler

Also Published As

Publication number Publication date
EP2622466A1 (en) 2013-08-07
CN102402451B (zh) 2014-07-23
US8533695B2 (en) 2013-09-10
JP2013539130A (ja) 2013-10-17
JP5893038B2 (ja) 2016-03-23
ES2733516T3 (es) 2019-11-29
US20120079465A1 (en) 2012-03-29
KR20130101037A (ko) 2013-09-12
CA2810986A1 (en) 2012-04-12
EP2622466A4 (en) 2014-10-01
CN102402451A (zh) 2012-04-04
EP2622466B1 (en) 2019-04-10
WO2012047447A1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
KR101786156B1 (ko) 사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법
US10241784B2 (en) Hierarchical directives-based management of runtime behaviors
EP3123315B1 (en) Hierarchical directives-based management of runtime behaviors
US10152309B2 (en) Cross-library framework architecture feature sets
JP5851396B2 (ja) 処理方法
US8813049B2 (en) Type inference of partially-specified parameterized types
Treichler et al. Language support for dynamic, hierarchical data partitioning
US8843920B2 (en) Systems and methods for deferring software implementation decisions until load time
KR101597599B1 (ko) 소스 위치가 결여된 코드 세그먼트들을 가지는 소스 코드를 모델링하기 위한 방법
US10409559B2 (en) Single-source-base compilation for multiple target environments
WO2024045379A1 (zh) 编译方法和编译器、Wasm虚拟机
CN103377131A (zh) 数据处理装置和方法
CN105393216B (zh) 运行时内存调节
Beillahi et al. Automated Synthesis of Asynchronizations
US20250165237A1 (en) Methods, systems, and computer program products for processing an excludable addressable entity
US20200241857A1 (en) Methods, systems, and computer program products for processing an excludable addressable entity
US20160266879A1 (en) Methods, systems, and computer program products for processing an excludable addressable entity
Saiu GNU Jitter

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

N231 Notification of change of applicant
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20241011

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20241011