KR101786156B1 - 사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법 - Google Patents
사용자 정의 타입을 위한 컴파일 타임 경계 검사 기법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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)
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210118609A (ko) * | 2020-03-23 | 2021-10-01 | 주식회사 티맥스 소프트 | Transpiler를 통하여 전환된 언어와 source 언어간 범용 런타임 검증 시스템 |
Families Citing this family (20)
| 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)
| 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)
| 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 |
-
2010
- 2010-09-28 US US12/892,291 patent/US8533695B2/en not_active Expired - Fee Related
-
2011
- 2011-09-09 CA CA2810986A patent/CA2810986A1/en not_active Abandoned
- 2011-09-09 JP JP2013531616A patent/JP5893038B2/ja not_active Expired - Fee Related
- 2011-09-09 KR KR1020137007833A patent/KR101786156B1/ko not_active Expired - Fee Related
- 2011-09-09 EP EP11831155.4A patent/EP2622466B1/en active Active
- 2011-09-09 ES ES11831155T patent/ES2733516T3/es active Active
- 2011-09-09 WO PCT/US2011/051023 patent/WO2012047447A1/en not_active Ceased
- 2011-09-26 CN CN201110306863.8A patent/CN102402451B/zh not_active Expired - Fee Related
Patent Citations (4)
| 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)
| 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 |