JP4559937B2 - プログラム生成装置 - Google Patents
プログラム生成装置 Download PDFInfo
- Publication number
- JP4559937B2 JP4559937B2 JP2005253463A JP2005253463A JP4559937B2 JP 4559937 B2 JP4559937 B2 JP 4559937B2 JP 2005253463 A JP2005253463 A JP 2005253463A JP 2005253463 A JP2005253463 A JP 2005253463A JP 4559937 B2 JP4559937 B2 JP 4559937B2
- Authority
- JP
- Japan
- Prior art keywords
- domain
- function
- instruction
- program
- access
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記ソースプログラムを解析して前記ソースプログラムに記述された関数と前記関数に含まれる大域変数とを検出し、前記メモリ保護ポリシーに記述された前記情報に従って、前記大域変数と、前記大域変数を利用するドメインとを対応づけた情報を生成する生成部と、
前記メモリ保護ポリシーに記述された前記ドメイン間の上位下位関係に従って、前記大域変数を利用するドメインを上位ドメインと下位ドメインとに分割する分割部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記上位ドメインに対応するアクセス制御表において前記大域変数に対してのアクセス制限を読み書き許可に設定する命令を前記ソースプログラムに追加し、
(B)前記下位ドメインに対応するアクセス制御表において前記大域変数に対してのアクセス制限を読み出し許可に設定する命令を前記ソースプログラムに追加する
追加部と、
を備え、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された前記命令の実行によって操作されることを特徴とする。
メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記関数が他の関数によって呼び出された場合に前記関数がスタック領域にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表においてスタックポインタからベースポインタによって指定される範囲までのメモリ領域に対するアクセス制限を読み書き可能に設定する命令を前記関数に追加し、
(B)前記関数が属するドメインに対応する前記アクセス制御表において前記メモリ領域に対するアクセス制限をアクセス禁止に設定する命令を、前記関数におけるリターン命令の前に追加する、
追加部と、
を備え、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された命令の実行によって操作される
ことを特徴とする。
メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記関数が、前記関数と異なるドメインに属する他の関数によって呼び出された場合に、前記関数が前記関数の引数にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表において前記引数へのアクセス制限を読み書き許可または読み出し許可に設定する第1命令を前記ソースプログラムに追加し、
(B)前記関数の実行後に前記関数の属するドメインから前記引数へアクセスできないようにするため、前記関数が属するドメインに対応する前記アクセス制御表において前記引数へのアクセス制限をアクセス禁止に設定する第2命令を前記ソースプログラムに追加する、
追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された前記第1命令および前記第2命令の実行よって操作されることを特徴とする。
メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記ソースプログラムから動的メモリ確保命令およびメモリ解放命令を検出する検出部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)検出された前記動的メモリ確保命令が属するドメインとこのドメインの上位ドメインとのそれぞれに対応するアクセス制御表において、前記動的メモリ確保命令によって確保されたメモリ領域に対するアクセス制限を読み書き許可に設定する命令を前記ソースプログラムに追加し、
(B)前記検出された前記動的メモリ確保命令が属するドメインの下位ドメインに対応するアクセス制御表において、前記動的メモリ確保命令によって確保されたメモリ領域に対するアクセス制限を読み出し許可に設定する命令を前記ソースプログラムに追加し、
(C)前記検出された前記動的メモリ確保命令が属するドメインと前記上位ドメインと前記下位ドメインとのそれぞれに対応するアクセス制御表において、前記メモリ解放命令によって開放されたメモリ領域に対するアクセス制限をアクセス禁止に設定する命令を前記ソースプログラムに追加する、
追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)、前記(B)および前記(C)で追加された前記命令の実行によって操作されることを特徴とする。
メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
前記プログラムの実行時に前記関数が配置されるメモリ領域にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表において、前記メモリ領域に対するアクセス制限を実行可能に設定する命令を前記ソースプログラムに追加する、追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記追加された命令の実行によって操作されることを特徴とする。
add_address(st , ed , a , {d})
と表記する。
add_address2(st , s , a , {d})
と表記する。
get_esp()
と表記する。
get_ebp()
と表記する。
dom_change(d)
と表記する。
add_address(f , 0 , EX , {d});
add_address(get_esp(), get_ebp(), RW , {d} );
add_address(get_esp() , get_ebp() , NO , {d} );
add_address2(malloc文の返り値 , malloc文の引数(=サイズ) , RW , {d, di,...,dj} ) ;
add_address2(malloc文の返り値 , malloc文の引数(=サイズ) , RO , {dn,...,dm} );
add_address2(free文の引数, 確保してあるサイズ, NO, {d,di,...,dj,dn,...,dm}) ;
add_address2(&i, sizeof(i) , RW , {d} ) ;
add_address2(i ,「引数情報」におけるiの参照先サイズ ,
「引数情報」におけるiの参照先のアクセス制限 , {d});
add_address2( &i , sizeof(i) , NO , {d} );
add_address2( i ,「引数情報」におけるiの参照先サイズ , NO , {d} );
dom_change(d);
3:コンパイラ&リンカ
11:アクセス制御装置(メモリ保護装置)
12:CPU
13:メモリ装置
21:ポリシー解析機能
22:大域変数利用ドメイン解析機能
23:大域変数を介した不具合伝播防止情報作成機能
24:動的に確保されたメモリ領域を介した不具合伝播防止情報作成機能
25:スタック領域を介した不具合伝播防止情報作成機能
26:引数公開情報作成機能
27:使用アクセス制御表切り替え情報作成機能
28:メモリ保護命令織り込み機能
Claims (13)
- メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記ソースプログラムを解析して前記ソースプログラムに記述された関数と前記関数に含まれる大域変数とを検出し、前記メモリ保護ポリシーに記述された前記情報に従って、前記大域変数と、前記大域変数を利用するドメインとを対応づけた情報を生成する生成部と、
前記メモリ保護ポリシーに記述された前記ドメイン間の上位下位関係に従って、前記大域変数を利用するドメインを上位ドメインと下位ドメインとに分割する分割部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記上位ドメインに対応するアクセス制御表において前記大域変数に対してのアクセス制限を読み書き許可に設定する命令を前記ソースプログラムに追加し、
(B)前記下位ドメインに対応するアクセス制御表において前記大域変数に対してのアクセス制限を読み出し許可に設定する命令を前記ソースプログラムに追加する
追加部と、
を備え、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された前記命令の実行によって操作されるプログラム生成装置。 - 前記上位ドメインは最上位ドメインであり、前記下位ドメインは、前記最上位ドメイン以外のドメインであることを特徴とする請求項1に記載のプログラム生成装置。
- 前記分割部は、前記大域変数を利用するドメインが1つの場合は当該ドメインを前記上位ドメインとして扱うことを特徴とする請求項1に記載のプログラム生成装置。
- 前記追加部は、前記読み書き許可に設定する命令および前記読み出し許可に設定する命令を、前記ソースプログラムで最初に実行される関数に追加することを特徴とする請求項1ないし3のいずれかに記載のプログラム生成装置。
- メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記関数が他の関数によって呼び出された場合に前記関数がスタック領域にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表においてスタックポインタからベースポインタによって指定される範囲までのメモリ領域に対するアクセス制限を読み書き可能に設定する命令を前記関数に追加し、
(B)前記関数が属するドメインに対応する前記アクセス制御表において前記メモリ領域に対するアクセス制限をアクセス禁止に設定する命令を、前記関数におけるリターン命令の前に追加する、
追加部と、
を備え、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された命令の実行によって操作されることを特徴とするプログラム生成装置。 - メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)前記関数が、前記関数と異なるドメインに属する他の関数によって呼び出された場合に、前記関数が前記関数の引数にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表において前記引数へのアクセス制限を読み書き許可または読み出し許可に設定する第1命令を前記ソースプログラムに追加し、
(B)前記関数の実行後に前記関数の属するドメインから前記引数へアクセスできないようにするため、前記関数が属するドメインに対応する前記アクセス制御表において前記引数へのアクセス制限をアクセス禁止に設定する第2命令を前記ソースプログラムに追加する、
追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)および前記(B)で追加された前記第1命令および前記第2命令の実行よって操作されることを特徴とするプログラム生成装置。 - 前記引数は参照アドレスを示し、
前記メモリ保護ポリシーは、アクセス制限を設定すべき前記参照アドレスからのメモリ範囲と、前記アクセス制限の内容とに関する情報を含み、
前記追加部は、
前記関数が属するドメインに対応する前記アクセス制御表において前記メモリ範囲に対するアクセス制限を前記アクセス制限の内容に設定する命令を前記第1命令として前記ソースプログラムに追加し、
前記関数が属するドメインに対応する前記アクセス制御表において前記メモリ範囲に対するアクセス制限をアクセス禁止に設定する命令を前記第2命令として前記ソースプログラムに追加する、
ことを特徴とする請求項6に記載のプログラム生成装置。 - 前記追加部は、
前記第1命令を、前記関数、または前記他の関数における前記関数の呼び出し命令の前に追加し、
前記第2命令を、前記関数において前記第1命令よりも後かつ前記関数におけるリターン命令の前、または、前記他の関数における前記呼び出し命令の後に追加する、
ことを特徴とする請求項7に記載のプログラム生成装置。 - メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記ソースプログラムから動的メモリ確保命令およびメモリ解放命令を検出する検出部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
(A)検出された前記動的メモリ確保命令が属するドメインとこのドメインの上位ドメインとのそれぞれに対応するアクセス制御表において、前記動的メモリ確保命令によって確保されたメモリ領域に対するアクセス制限を読み書き許可に設定する命令を前記ソースプログラムに追加し、
(B)前記検出された前記動的メモリ確保命令が属するドメインの下位ドメインに対応するアクセス制御表において、前記動的メモリ確保命令によって確保されたメモリ領域に対するアクセス制限を読み出し許可に設定する命令を前記ソースプログラムに追加し、
(C)前記検出された前記動的メモリ確保命令が属するドメインと前記上位ドメインと前記下位ドメインとのそれぞれに対応するアクセス制御表において、前記メモリ解放命令によって開放されたメモリ領域に対するアクセス制限をアクセス禁止に設定する命令を前記ソースプログラムに追加する、
追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記(A)、前記(B)および前記(C)で追加された前記命令の実行によって操作されることを特徴とするプログラム生成装置。 - 前記追加部は、前記読み書き許可に設定する命令および前記読み出し許可に設定する命令を前記動的確保命令の直前または直後に追加し、前記アクセス禁止に設定する命令を前記メモリ解放命令の直前または直後に追加することを特徴とする請求項9に記載のプログラム生成装置。
- メモリアドレス毎のアクセス制限を定めたアクセス制御表を利用してCPUからメモリ装置へのアクセスを制御するシステム環境において実行するプログラムを生成するプログラム生成装置であって、
ソースプログラムを入力し、また、前記ソースプログラム内の関数をドメイン毎に分類した情報とドメイン間の上位下位関係とを記述したメモリ保護ポリシーを入力する入力部と、
前記メモリ保護ポリシーの前記ドメイン毎にそれぞれ前記アクセス制御表が予め割り当てられており、
前記プログラムの実行時に前記関数が配置されるメモリ領域にアクセスできるようにするため、前記関数が属するドメインに対応するアクセス制御表において、前記メモリ領域に対するアクセス制限を実行可能に設定する命令を前記ソースプログラムに追加する、追加部と、
前記ドメイン毎の前記アクセス制御表は、前記CPUによる前記プログラムの実行時に、前記追加された命令の実行によって操作されることを特徴とするプログラム生成装置。 - 前記ソースプログラムをコンパイルおよびリンク処理することにより前記メモリ領域の終端アドレスを計算するコンパイラ&リンカと、
前記ソースプログラムに追加された前記実行可能に設定する命令に、前記終端アドレスを挿入する装置と
をさらに備えたことを特徴とする請求項11に記載のプログラム生成装置。 - 前記追加部は、前記実行可能に設定する命令を前記ソースプログラムで最初に実行される関数に追加することを特徴とする請求項11または12に記載のプログラム生成装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005253463A JP4559937B2 (ja) | 2005-09-01 | 2005-09-01 | プログラム生成装置 |
| US11/514,224 US20070079283A1 (en) | 2005-09-01 | 2006-09-01 | Program generation method and program product |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005253463A JP4559937B2 (ja) | 2005-09-01 | 2005-09-01 | プログラム生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007066163A JP2007066163A (ja) | 2007-03-15 |
| JP4559937B2 true JP4559937B2 (ja) | 2010-10-13 |
Family
ID=37903347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005253463A Expired - Fee Related JP4559937B2 (ja) | 2005-09-01 | 2005-09-01 | プログラム生成装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20070079283A1 (ja) |
| JP (1) | JP4559937B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7979685B1 (en) * | 2007-11-27 | 2011-07-12 | Oracle America, Inc. | Multiple instruction execution mode resource-constrained device |
| US8392895B2 (en) * | 2009-01-13 | 2013-03-05 | Mediatek Inc. | Firmware extension method and firmware builder |
| JP5582971B2 (ja) * | 2009-12-15 | 2014-09-03 | キヤノン株式会社 | メモリ保護方法および情報処理装置 |
| US8880697B1 (en) | 2012-04-09 | 2014-11-04 | Google Inc. | Using rules to determine user lists |
| US11030105B2 (en) | 2014-07-14 | 2021-06-08 | Oracle International Corporation | Variable handles |
| CN113852975B (zh) * | 2021-08-19 | 2024-02-02 | 浙江三维利普维网络有限公司 | 基站的协议栈程序的性能确定方法及装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5396627A (en) * | 1987-11-06 | 1995-03-07 | Hitachi, Ltd. | Method of producing object program based on interprocedural dataflow analysis of a source program |
| JP2749039B2 (ja) * | 1987-11-06 | 1998-05-13 | 株式会社日立製作所 | オブジェクト生成方法 |
| US5418919A (en) * | 1989-01-10 | 1995-05-23 | Canon Kabushiki Kaisha | Apparatus and method for concurrently executing plural tasks in which identifiers specify steps in tasks |
| ATE208067T1 (de) * | 1991-03-18 | 2001-11-15 | Echelon Corp | Programmiersprachestrukturen für ein netzwerk zur übertragung, abtastung und steuerung von informationen |
| CA2077273C (en) * | 1991-12-12 | 1996-12-03 | Mike H. Conner | Language neutral objects |
| CA2166252C (en) * | 1995-12-28 | 1999-08-24 | Robert James Blainey | Global variable coalescing |
| JPH10289158A (ja) * | 1997-04-11 | 1998-10-27 | Hitachi Ltd | タスク管理装置 |
| US6546546B1 (en) * | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
| US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
| US7278137B1 (en) * | 2001-12-26 | 2007-10-02 | Arc International | Methods and apparatus for compiling instructions for a data processor |
| US7287140B1 (en) * | 2003-07-28 | 2007-10-23 | Massachusetts Institute Of Technology | System and technique for fine-grained computer memory protection |
-
2005
- 2005-09-01 JP JP2005253463A patent/JP4559937B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-01 US US11/514,224 patent/US20070079283A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20070079283A1 (en) | 2007-04-05 |
| JP2007066163A (ja) | 2007-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11061833B2 (en) | Apparatus and method for handling page protection faults in a computing system | |
| Necula et al. | CCured: Type-safe retrofitting of legacy software | |
| US8813049B2 (en) | Type inference of partially-specified parameterized types | |
| Garcia et al. | Foundations of typestate-oriented programming | |
| Jang et al. | SafeDispatch: Securing C++ Virtual Calls from Memory Corruption Attacks. | |
| US5956479A (en) | Demand based generation of symbolic information | |
| US8266604B2 (en) | Transactional memory compatibility management | |
| US6836884B1 (en) | Method and system for editing software programs | |
| Fennell et al. | Gradual security typing with references | |
| US20050034109A1 (en) | Method and system for program editing | |
| Vanderperren et al. | Adaptive programming in jasco | |
| US8881123B2 (en) | Enabling symbol resolution of private symbols in legacy programs and optimizing access to the private symbols | |
| US9317710B2 (en) | System and method for specification and enforcement of a privacy policy in online services | |
| JP4559937B2 (ja) | プログラム生成装置 | |
| US20090249021A1 (en) | Method And Systems For Invoking An Advice Operation Associated With A Joinpoint | |
| CN102880461B (zh) | 一种编译链接方法及装置 | |
| Inostroza et al. | Modular interpreters for the masses: Implicit context propagation using object algebras | |
| Taylor | A new elf linker | |
| Nagarakatte | Practical low-overhead enforcement of memory safety for C programs | |
| Shamsu et al. | A Mechanically Verified Garbage Collector for OCaml: S. Shamsu et al. | |
| Findler | Behavioral software contracts | |
| Freund | Type systems for object-oriented intermediate languages | |
| El Boustani et al. | Corrective hints for type incorrect Generic Java programs | |
| EP4485242A1 (en) | Protection of computer program code | |
| Giunta et al. | Using aspects and annotations to separate application code from design patterns |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061215 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100611 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100629 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100723 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |