JP2005243004A - コードの書き換え - Google Patents
コードの書き換え Download PDFInfo
- Publication number
- JP2005243004A JP2005243004A JP2005020314A JP2005020314A JP2005243004A JP 2005243004 A JP2005243004 A JP 2005243004A JP 2005020314 A JP2005020314 A JP 2005020314A JP 2005020314 A JP2005020314 A JP 2005020314A JP 2005243004 A JP2005243004 A JP 2005243004A
- Authority
- JP
- Japan
- Prior art keywords
- code unit
- computer
- code
- rewriter
- rewrite
- 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
Links
- 238000011161 development Methods 0.000 claims abstract description 26
- 230000009466 transformation Effects 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 62
- 238000009434 installation Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 101100247596 Larrea tridentata RCA2 gene Proteins 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 11
- 102100021765 E3 ubiquitin-protein ligase RNF139 Human genes 0.000 description 7
- 101001106970 Homo sapiens E3 ubiquitin-protein ligase RNF139 Proteins 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000000844 transformation Methods 0.000 description 5
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000003490 calendering Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H39/00—Devices for locating or stimulating specific reflex points of the body for physical therapy, e.g. acupuncture
- A61H39/06—Devices for heating or cooling such points within cell-life limits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H7/00—Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for
- A61H7/002—Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for by rubbing or brushing
- A61H7/003—Hand-held or hand-driven devices
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/02—Characteristics of apparatus not provided for in the preceding codes heated or cooled
- A61H2201/0221—Mechanism for heating or cooling
- A61H2201/0278—Mechanism for heating or cooling by chemical reaction
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/12—Driving means
- A61H2201/1253—Driving means driven by a human being, e.g. hand driven
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N5/00—Radiation therapy
- A61N5/06—Radiation therapy using light
- A61N2005/0658—Radiation therapy using light characterised by the wavelength of light used
- A61N2005/0659—Radiation therapy using light characterised by the wavelength of light used infrared
- A61N2005/066—Radiation therapy using light characterised by the wavelength of light used infrared far infrared
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Rehabilitation Therapy (AREA)
- Epidemiology (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Pain & Pain Management (AREA)
- Physical Education & Sports Medicine (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Dermatology (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】リライトマネージャ500はデジタル署名を含むコード単位102を受信する。最初にリライトマネージャ500はコード単位102を書き換える必要があるかを決定し、必要があると判断するとリライタ502のグループから適切なリライタを識別し順序付ける。次にリライトマネージャ500はコード単位102のデジタル署名を認証してその識別及び信頼性を確認する。信頼できる場合はリライタ502を実行して書き換えられたコードを生成し、新たに生成した署名とともにリライトキャッシュ406に格納する。
【選択図】図5
Description
次の説明は、コード単位の開発および配置にわたる様々な段階で実施できる拡張可能、構成可能な1組のコードリライタを介してコード単位の書き換えおよび変換を提供するシステムおよび方法を対象とする。記載したシステムおよび方法の利点は、プログラム開発者およびシステム管理者が、ソースプログラム、コンパイラ、または実行環境の複雑さを大幅に増大させない、プログラムの開発および配置にわたる様々な段階でコードの変換を実施する強力な方法を提供することを含む。
図1は、様々な開発および配置の環境で行うことができるコードを書き換える基本的なプロセス100を示す図である。コード単位102を書き換えるプロセス100は、コード単位102が、1つまたは複数のコードリライタをコード単位102に適用して書き換えられたコード単位106を生成する書き換え機能104に遭遇することを含む。コード単位102は、例えば、言語固有のコンパイラからPC上で実行する用意ができているネイティブのコードにコンパイルされたオブジェクトモジュール、管理された(managed)コード環境での抽象および/またはマシン非依存言語などの中間言語で配置されたDLLまたは実行可能ファイルの集まり、インタープリタ型言語で書かれたスクリプトプログラムなどを含み得る。
図4は、図3の環境例300内のコードの書き換えを説明するのに有用な様々な構成要素を示すコンピュータ202、204、および302のブロック図である。コードの書き換えは、コンピュータ202、204、および302のいずれか、またはすべての上で行うことができ、1つのコンピュータ上でのコードの書き換えは、他のコンピュータ上でのコードの書き換えに影響を与える可能性がある。例えば、開発コンピュータ202での書き換え機能104の実施は、書き換えられたコード単位をもたらす可能性があり、これが中間コンピュータ302に転送される。開発コンピュータ202からの書き換えられたコード単位は、中間コンピュータ302によって再度書き換えられ、次いで配置コンピュータ204に転送され、そこでさらにもう一度書き換えられる場合がある。
次に、コ―ドの書き換えを実施する方法例を、主に図13のフロー図を参照して説明する。方法は、図1〜12に関して上述した実施形態の例に適用される。1つまたは複数の方法がフロー図、およびフロー図のブロックに関連付けられているテキストによって開示されているが、記載した方法の要素を必ずしも示した順序で実行する必要はなく、代替の順序が同様の利点をもたらし得ることを理解されたい。さらに、方法は、排他的なものではなく、単独、または互いの組合せで実行することができる。記載した方法の要素は、例えばASIC上のハードウェア論理ブロック、またはコンピュータ可読媒体上で定義されたコンピュータ可読命令の実行によるなど、任意の適切な手段によって実行することができる。
図14は、図1〜13を参照して上述したものなど、開発者コンピュータ202、中間コンピュータ302、および配置コンピュータ204を実装するのに適したコンピューティング環境の例を示している。1つの具体的な構成を図14に示しているが、開発者コンピュータ202、中間コンピュータ302、および配置コンピュータ204は、他のコンピューティング構成に実装することができる。
本発明は、構造の特徴および/または方法論的動作に固有の言語で説明しているが、添付の特許請求の範囲で定義した本発明は、必ずしも記載した特定の特徴または動作に限定されるわけではないことを理解されたい。むしろ特定の特徴および動作は、請求した本発明を実施する形式の例として開示されている。
104 コード書き換え機能
106 書き換えられたコード単位
202 開発者コンピュータ
204 配置コンピュータ
206 ネットワーク
302 中間コンピュータ
304 企業
1404 処理ユニット
1406 システムメモリ
1408 システムバス
1425 データメディアインターフェース
1426 オペレーティングシステム
1428 アプリケーションプログラム
1430 プログラムモジュール
1432 プログラムデータ
1434 キーボード
1436 マウス
1438 他の装置
1440 I/Oインターフェース
1442 モニタ
1444 ビデオアダプタ
1446 プリンタ
1448 リモートコンピューティング装置
1452 インターネット
1454 ネットワークアダプタ
1456 モデム
1458 リモートアプリケーションプログラム
Claims (47)
- 実行可能命令を有するコード単位と、
少なくとも1つのリライタを識別するリライタリストと、
前記少なくとも1つのリライタを含む、前記コード単位を書き換えることができる1つまたは複数のリライタと
を含むことを特徴とする複数のデータ構造を含む1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のリライタの前記少なくとも1つのリライタにアクセスし、前記コード単位に対して前記少なくとも1つのリライタを実行して書き換えられたコード単位を生成するように構成されている実行可能命令を有するリライトマネージャをさらに含むことを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- キャッシュをさらに含み、前記リライトマネージャが前記書き換えられたコード単位を前記キャッシュに格納するようにさらに構成されていることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- 前記リライタリストは、
前記コード単位内の1つまたは複数のカスタム属性のリストと、
セキュリティポリシー内のリストと、
インストールツール内のリストと、
構成ファイル内のリストと、
XML(拡張可能なマーク付け言語)ファイル内のリストと
を含むグループから選択されることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。 - 前記リライトマネージャは、
スタンドアロンモジュールと、
オペレーティングシステムモジュールと、
実行環境モジュールと、
JITコンパイラモジュールと、
ソースコードコンパイラモジュールと、
前記コード単位をインストールするように構成されているインストールツールと
を含むグループから選択されるモジュールであることを特徴とする請求項2に記載の1つまたは複数のコンピュータ可読媒体。 - 請求項1に記載の1つまたは複数のコンピュータ可読媒体を含み、
前記コード単位を作成するように構成されている開発者コンピュータと、
前記コード単位を配置するように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とするコンピュータ。 - 前記コード単位の変換を開始し、
前記変換を実施するための1つまたは複数のリライタを識別する
ように構成されている実行可能命令を含むことを特徴とするコード単位を含む1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のリライタは複数のリライタであり、各リライタは前記コード単位の一意の変換を実施するように構成されており、前記コード単位は、前記一意の変換を特定の順序で実施するために前記複数のリライタを順序付けるように構成されている実行可能命令をさらに含むことを特徴とする請求項7に記載の1つまたは複数のコンピュータ可読媒体。
- 前記コード単位は、前記コード単位内の識別された要素に対して前記変換を実施するために前記1つまたは複数のリライタを案内するように構成されている実行可能命令をさらに含むことを特徴とする請求項7に記載の1つまたは複数のコンピュータ可読媒体。
- 前記開始するステップは、
前記変換を実施すべき環境を識別するステップと、
前記コード単位が前記識別された環境を経験した場合のみ前記変換を開始するステップと
を含むことを特徴とする請求項7に記載の1つまたは複数のコンピュータ可読媒体。 - 環境を識別する前記ステップは、
ソースコードコンパイル環境を識別するステップと、
実行前コンパイル環境を識別するステップと、
インストール時コンパイル環境を識別するステップと、
実行環境を識別するステップと、
インストール環境を識別するステップと
を含むことを特徴とする請求項10に記載の1つまたは複数のコンピュータ可読媒体。 - 1つまたは複数のリライタを識別する前記ステップは、前記コード単位内の前記1つまたは複数のリライタを列挙するステップを含むことを特徴とする請求項7に記載の1つまたは複数のコンピュータ可読媒体。
- 1つまたは複数のリライタを識別する前記ステップは、前記1つまたは複数のリライタのリストを含む前記コード単位から分離したファイルを識別するステップを含むことを特徴とする請求項7に記載の1つまたは複数のコンピュータ可読媒体。
- 実行可能命令を有するコード単位を受信し、
前記コード単位を書き換えることができる少なくとも1つのリライタを決定し、
前記少なくとも1つのリライタを呼び出し、
前記少なくとも1つのリライタを前記コード単位に対して実行して書き換えられたコード単位を生成する
ように構成されているコンピュータ実行可能命令を含むことを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記実行の前に前記コード単位および前記少なくとも1つのリライタの信頼性を確認するように構成されているコンピュータ実行可能命令をさらに含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
- 前記確認するステップはデジタル署名を認証するステップを含むことを特徴とする請求項15に記載の1つまたは複数のコンピュータ可読媒体。
- 前記書き換えられたコード単位をキャッシュに格納するよう構成されているコンピュータ実行可能命令をさらに含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
- 前記コード単位を実行する命令を受信し、
前記コード単位が書き換えられたことを認識し、
前記キャッシュから前記書き換えられたコード単位をロードし、
前記書き換えられたコード単位を実行する
ように構成されているコンピュータ実行可能命令をさらに含むことを特徴とする請求項17に記載の1つまたは複数のコンピュータ可読媒体。 - 前記書き換えられたコード単位のデジタル署名を生成し、
前記デジタル署名を前記書き換えられたコード単位に関連付ける
ように構成されているコンピュータ実行可能命令をさらに含むことを特徴とする請求項17に記載の1つまたは複数のコンピュータ可読媒体。 - 前記少なくとも1つのリライタは複数のリライタであり、前記1つまたは複数のコンピュータ可読媒体は、特定の書き換え順序で前記コード単位を書き換えるように前記複数のリライタを順序付けるように構成されたコンピュータ実行可能命令をさらに含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
- 前記順序付けるステップは、
リライタリストにアクセスするステップと、
前記リライタリストに従って前記書き換え順序を設定するステップと
を含むことを特徴とする請求項20に記載の1つまたは複数のコンピュータ可読媒体。 - 前記アクセスするステップは、
前記コード単位と、
前記コード単位に関連付けられている個別のファイルと、
システムポリシーと
を含むグループから選択された前記リライタリストのある位置にアクセスするステップを含むことを特徴とする請求項21に記載の1つまたは複数のコンピュータ可読媒体。 - 前記少なくとも1つのリライタを決定する前記ステップはリライトリストを読み取るステップを含むことを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。
- ソースコードコンパイラと、
インストールツールと、
管理された実行環境と、
スタンドアロンリライト管理ツールと、
JIT(ジャストインタイム)コンパイラと
を含むグループから選択されるツールに組み込まれることを特徴とする請求項14に記載の1つまたは複数のコンピュータ可読媒体。 - 請求項14に記載の1つまたは複数のコンピュータ可読媒体を含み、
前記コード単位を開発するように構成されている開発者コンピュータと、
前記コード単位をインストールするように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とするコンピュータ。 - コード単位と、
前記コード単位を一意のやり方で書き換えるようにそれぞれ構成されている構成可能な1組のリライタと、
前記構成可能な1組のリライタから1つまたは複数のリライタを識別し、前記識別された1つまたは複数のリライタを前記コード単位に対して実行するように構成されているリライトマネージャと、
前記識別された1つまたは複数のリライタを前記コード単位に対して実行することによって生成される書き換えられたコード単位と
を含むことを特徴とするコンピュータ。 - リライトキャッシュをさらに含み、前記リライトマネージャが前記書き換えられたコード単位を前記リライトキャッシュに格納するようにさらに構成されていることを特徴とする請求項26に記載のコンピュータ。
- 前記リライトマネージャが前記コード単位に対して実行する前記1つまたは複数のリライタをそこから識別するリライトリストをさらに含むことを特徴とする請求項26に記載のコンピュータ。
- 前記リライトリストは、
前記コード単位内のリライタのリストと、
スタンドアロンファイル内のリライタのリストと、
セキュリティポリシー内のリライタのリストと、
インストールツール内のリライタのリストと
を含むグループから選択された構成要素であることを特徴とする請求項28に記載のコンピュータ。 - 前記コード単位に関連付けられている第1のデジタル署名と、
前記構成可能な1組のリライタからの固有のリライタにそれぞれ関連付けられている第2のデジタル署名の組と
をさらに含み、前記リライトマネージャは、前記第1のデジタル署名に基づいて前記コード単位が信頼されるかどうかを決定し、前記識別された1つまたは複数のリライタからの各リライタが前記第2のデジタル署名の組からの対応する第2のデジタル署名に基づいて信頼されるかどうかを決定し、前記コード単位および前記識別された1つまたは複数のリライタからの各リライタが信頼された場合にのみ前記識別された1つまたは複数のリライタを前記コード単位に対して実行するようにさらに構成されている
ことを特徴とする請求項26に記載のコンピュータ。 - 前記リライトマネージャによって前記書き換えられたコード単位に関連付けられており、前記書き換えられたコード単位が信頼されることを確認するように構成されている第3のデジタル署名をさらに含むことを特徴とする請求項30に記載のコンピュータ。
- 前記リライトマネージャは、
スタンドアロンリライトモジュールと、
オペレーティングシステムの一部として構成されているリライトモジュールと、
インストールツールの一部として構成されているリライトモジュールと、
セキュリティポリシーの一部として構成されているリライトモジュールと
を含むグループから選択された構成要素であることを特徴とする請求項26に記載のコンピュータ。 - 前記コード単位を開発するように構成されている開発コンピュータと、
前記コード単位をインストールするように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とする請求項26に記載のコンピュータ。 - 実行可能コード単位を受信するステップと、
前記コード単位を書き換える必要があると決定するステップと、
前記コード単位を書き換えるための1つまたは複数のリライタを決定するステップと、
前記1つまたは複数のリライタを前記コード単位に対して稼働させて書き換えられたコード単位を生成するステップと
を含むことを特徴とする方法。 - 前記稼働するステップの前に前記コード単位および前記1つまたは複数のリライタの信頼性を確認するステップをさらに含むことを特徴とする請求項34に記載の方法。
- 前記確認するステップはデジタル署名を認証するステップを含むことを特徴とする請求項35に記載の方法。
- 前記書き換えられたコード単位をキャッシュに格納するステップをさらに含むことを特徴とする請求項34に記載の方法。
- 前記コード単位を実行する命令を受信するステップと、
前記書き換えられたコード単位を前記キャッシュに格納することを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位を実行するステップと
をさらに含むことを特徴とする請求項37に記載の方法。 - 前記書き換えられたコード単位のデジタル署名を生成するステップと、
前記デジタル署名を前記書き換えられたコード単位に関連付けるステップと
をさらに含むことを特徴とする請求項37に記載の方法。 - 前記コード単位を特定の書き換え順序で書き換えるように前記1つまたは複数のリライタを順序付けるステップをさらに含むことを特徴とする請求項34に記載の方法。
- 前記順序付けるステップは、
リライタリストにアクセスするステップと、
前記リライタリストに従って前記書き換え順序を設定するステップと
を含むことを特徴とする請求項40に記載の方法。 - 前記1つまたは複数のリライタを決定するステップはリライタリストを読み取るステップを含むことを特徴とする請求項34に記載の方法。
- 前記読み取るステップは、
前記実行可能コード単位と、
前記実行可能コード単位に関連付けられている個別のファイルと
を含むグループから選択されるリライタリストのある位置を読み取るステップを含むことを特徴とする請求項42に記載の方法。 - コード単位を受信するステップと、
前記コード単位をリライタによって書き換えるべきであると決定するステップと、
前記コード単位およびリライタが信頼されるかどうかを決定するステップと、
前記コード単位に対して前記リライタを稼働させて、前記コード単位および前記リライタが信頼される場合、書き換えられたコード単位を生成するステップと、
前記書き換えられたコード単位をキャッシュに格納するステップと
を含むことを特徴とする方法。 - 前記書き換えられたコード単位のデジタル署名を生成するステップと、
前記デジタル署名を前記書き換えられたコード単位に添付するステップと
をさらに含むことを特徴とする請求項44に記載の方法。 - 前記コード単位を実行する呼び出しを受信するステップと、
前記コード単位が書き換えられたことを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位に添付された前記デジタル署名を確認するステップと、
前記確認するステップが前記書き換えられたコード単位は安全であることを示す場合、前記書き換えられたコード単位を実行するステップと
をさらに含むことを特徴とする請求項45に記載の方法。 - 前記リライタはアプリケーション互換リライタであり、前記コード単位を書き換えるべきであると決定するステップは、
前記コード単位をアプリケーションとして識別するステップと、
アプリケーション互換リライタデータベースを調べて、現在の実行環境との互換性のために前記アプリケーションの任意の部分を書き換える必要があるかどうかを決定するステップと
を含むことを特徴とする請求項44に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/789,201 US7409675B2 (en) | 2004-02-27 | 2004-02-27 | Code rewriting |
US10/789,201 | 2004-02-27 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005243004A true JP2005243004A (ja) | 2005-09-08 |
JP2005243004A5 JP2005243004A5 (ja) | 2008-03-13 |
JP4851096B2 JP4851096B2 (ja) | 2012-01-11 |
Family
ID=34838851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005020314A Expired - Fee Related JP4851096B2 (ja) | 2004-02-27 | 2005-01-27 | コードの書き換え |
Country Status (5)
Country | Link |
---|---|
US (1) | US7409675B2 (ja) |
EP (1) | EP1577767B1 (ja) |
JP (1) | JP4851096B2 (ja) |
KR (1) | KR100965706B1 (ja) |
CN (1) | CN1661551A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010267264A (ja) * | 2009-05-15 | 2010-11-25 | Internatl Business Mach Corp <Ibm> | コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ |
JP2015531502A (ja) * | 2012-09-05 | 2015-11-02 | マイクロソフト テクノロジー ライセンシング,エルエルシー | アプリケーション用の中間言語コードからネイティブコードを生成すること |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7901291B2 (en) * | 2001-09-28 | 2011-03-08 | Igt | Gaming device operable with platform independent code and method |
US7493605B2 (en) * | 2004-12-29 | 2009-02-17 | Mainsoft R&D Ltd | Method and a software product for adapting a .Net framework compliant reflection mechanism to a java environment |
US9286308B2 (en) | 2005-12-22 | 2016-03-15 | Alan Joshua Shapiro | System and method for metadata modification |
WO2007072310A1 (en) | 2005-12-22 | 2007-06-28 | Shapiro Alan J | System and method for software delivery |
CN101110020B (zh) | 2006-07-21 | 2011-01-26 | 国际商业机器公司 | 维护关于可编辑对象中的元素的与原创性有关的信息的方法和系统 |
US7966599B1 (en) * | 2006-08-29 | 2011-06-21 | Adobe Systems Incorporated | Runtime library including a virtual file system |
US9251498B2 (en) * | 2006-10-23 | 2016-02-02 | Oracle International Corporation | Facilitating deployment of customizations of enterprise applications |
CN101187965B (zh) * | 2006-11-16 | 2010-12-15 | 思科技术公司 | 用于过滤对数据对象的访问的方法和装置 |
US8341616B2 (en) * | 2007-03-28 | 2012-12-25 | International Business Machines Corporation | Updating digitally signed active content elements without losing attributes associated with an original signing user |
EP2015561A1 (fr) * | 2007-07-10 | 2009-01-14 | Nagracard S.A. | Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code |
US8024315B2 (en) * | 2007-07-20 | 2011-09-20 | International Business Machines Corporation | Method of dynamically providing a compound object's source information during its development |
US8677141B2 (en) * | 2007-11-23 | 2014-03-18 | Microsoft Corporation | Enhanced security and performance of web applications |
US8359582B2 (en) * | 2007-12-31 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Compiling and inserting code snippets at runtime |
US20090193392A1 (en) * | 2008-01-29 | 2009-07-30 | Michael David Downen | Dynamic intermediate language modification and replacement |
US8443338B2 (en) * | 2008-10-08 | 2013-05-14 | Microsoft Corporation | Logical extensions to intermediate code |
US8434059B2 (en) * | 2009-05-01 | 2013-04-30 | Apple Inc. | Systems, methods, and computer-readable media for fertilizing machine-executable code |
US9185064B2 (en) * | 2010-01-15 | 2015-11-10 | Microsoft Technology Licensing, Llc | Interactive email |
US8955043B2 (en) * | 2010-01-27 | 2015-02-10 | Microsoft Corporation | Type-preserving compiler for security verification |
US9836724B2 (en) | 2010-04-23 | 2017-12-05 | Microsoft Technology Licensing, Llc | Email views |
KR101490047B1 (ko) * | 2013-09-27 | 2015-02-04 | 숭실대학교산학협력단 | 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법 |
KR101770292B1 (ko) | 2014-11-27 | 2017-08-22 | 주식회사 엘지씨엔에스 | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 |
CN104657185B (zh) * | 2015-03-12 | 2017-08-11 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
US10216819B2 (en) | 2015-03-20 | 2019-02-26 | International Business Machines Corporation | Automated identification of complex transformations and generation of subscriptions for data replication |
US10686608B2 (en) * | 2018-02-26 | 2020-06-16 | Red Hat, Inc. | Secure, platform-independent code signing |
CN112905231A (zh) * | 2021-02-04 | 2021-06-04 | 浪潮电子信息产业股份有限公司 | 一种业务系统重构方法、系统及相关装置 |
KR20230049392A (ko) * | 2021-10-06 | 2023-04-13 | 삼성전자주식회사 | 멀티 서명된 apk 파일을 처리하는 전자 장치 및 그 동작 방법 |
US11941382B2 (en) * | 2022-02-07 | 2024-03-26 | Red Hat, Inc. | User customizable compiler attributes for code checking |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4553205A (en) | 1982-09-21 | 1985-11-12 | Salvatore Porchia | Flexible macro expansion process |
CA2134059C (en) | 1993-10-29 | 2009-01-13 | Charles Simonyi | Method and system for generating a computer program |
US5634114A (en) * | 1993-11-18 | 1997-05-27 | Intel Corporation | Dynamic link library version negotiation |
US6397380B1 (en) | 1994-10-21 | 2002-05-28 | International Business Machines Corporation | Computer-program compilers comprising a program augmentation capability |
US6055503A (en) * | 1997-08-29 | 2000-04-25 | Preview Systems | Software program self-modification |
US6314562B1 (en) | 1997-09-12 | 2001-11-06 | Microsoft Corporation | Method and system for anticipatory optimization of computer programs |
US5966541A (en) * | 1997-12-04 | 1999-10-12 | Incert Software Corporation | Test protection, and repair through binary-code augmentation |
US6151708A (en) * | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
US6219834B1 (en) | 1998-05-15 | 2001-04-17 | International Business Machines Corporation | Extensible compiler and method |
US6302010B1 (en) * | 1998-08-27 | 2001-10-16 | Christopher A. Holler | Utility vehicle for rescue and defense |
US6324689B1 (en) * | 1998-09-30 | 2001-11-27 | Compaq Computer Corporation | Mechanism for re-writing an executable having mixed code and data |
US6353887B1 (en) * | 1998-11-13 | 2002-03-05 | Unisys Corporation | Digital signaturing method and system for re-creating specialized native files out of a container imported from an open network or residing on a CD-ROM |
US6457172B1 (en) | 1999-04-13 | 2002-09-24 | International Business Machines Corporation | Compiler for supporting multiple runtime data representations |
SG102555A1 (en) * | 1999-11-25 | 2004-03-26 | Kim Seng Holdings Pte Ltd | Method for using a data flow net to specify and assemble computer software |
EP1122640A1 (en) * | 2000-01-31 | 2001-08-08 | BRITISH TELECOMMUNICATIONS public limited company | Apparatus for automatically generating source code |
US6978448B1 (en) * | 2000-06-12 | 2005-12-20 | Sun Microsystems, Inc. | Method and apparatus for rewriting bytecodes to minimize runtime checks |
US9158538B2 (en) | 2007-05-21 | 2015-10-13 | International Business Machines Corporation | User-extensible rule-based source code modification |
-
2004
- 2004-02-27 US US10/789,201 patent/US7409675B2/en not_active Expired - Fee Related
-
2005
- 2005-01-07 KR KR1020050001580A patent/KR100965706B1/ko active IP Right Grant
- 2005-01-27 JP JP2005020314A patent/JP4851096B2/ja not_active Expired - Fee Related
- 2005-01-27 CN CN2005100078331A patent/CN1661551A/zh active Pending
- 2005-02-17 EP EP05101180.7A patent/EP1577767B1/en not_active Not-in-force
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010267264A (ja) * | 2009-05-15 | 2010-11-25 | Internatl Business Mach Corp <Ibm> | コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ |
US8943482B2 (en) | 2009-05-15 | 2015-01-27 | International Business Machines Corporation | Incrementally constructing executable code for component-based applications |
JP2015531502A (ja) * | 2012-09-05 | 2015-11-02 | マイクロソフト テクノロジー ライセンシング,エルエルシー | アプリケーション用の中間言語コードからネイティブコードを生成すること |
US10795652B2 (en) | 2012-09-05 | 2020-10-06 | Microsoft Technology Licensing, Llc | Generating native code from intermediate language code for an application |
Also Published As
Publication number | Publication date |
---|---|
EP1577767B1 (en) | 2018-05-02 |
KR100965706B1 (ko) | 2010-06-24 |
US20050193369A1 (en) | 2005-09-01 |
EP1577767A3 (en) | 2007-11-21 |
US7409675B2 (en) | 2008-08-05 |
CN1661551A (zh) | 2005-08-31 |
EP1577767A2 (en) | 2005-09-21 |
KR20050087727A (ko) | 2005-08-31 |
JP4851096B2 (ja) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4851096B2 (ja) | コードの書き換え | |
US11599348B2 (en) | Container image building using shared resources | |
JP4263476B2 (ja) | ハッシュによるアセンブリの完全性の確認のための方法、コンピュータ可読媒体及びプログラム | |
US9201642B2 (en) | Extending platform trust during program updates | |
JP5437550B2 (ja) | ファームウェアの必要なメモリ容量を減らすシステム及び方法 | |
JP5663006B2 (ja) | ランタイム環境を構築するためのシステムおよび方法 | |
US9460306B1 (en) | System and method for controlling access of machine code to operating system resources | |
US20170010906A1 (en) | Conservative class preloading for real time java execution | |
US8418169B2 (en) | Management method for managing software module and information processor | |
KR20150024842A (ko) | 적응식 이식가능 라이브러리 | |
Langiu et al. | Upkit: An open-source, portable, and lightweight update framework for constrained iot devices | |
JP2019502197A (ja) | ランタイム生成コードにおける悪意のあるコードの検出のためのシステムおよび方法 | |
CN106897587A (zh) | 加固应用、加载加固应用的方法和装置 | |
WO2023155697A1 (zh) | 一种数据处理的方法和装置 | |
KR101092373B1 (ko) | 소프트웨어 패키지의 생성 및 설치를 위한 시스템 및 방법 | |
Mäki et al. | Interface diversification in IoT operating systems | |
US9367686B1 (en) | System and method for antivirus checking of native images of software assemblies | |
CN112965731A (zh) | 基于Tinker的Flutter热更新方法、装置、设备及存储介质 | |
CN113168320A (zh) | 用类选择性替换遗留加载模块程序以在java虚拟机中执行 | |
Tang et al. | Analysis of firmware vulnerabilities | |
CN113139197B (zh) | 一种项目验签方法、装置和电子设备 | |
US12008386B2 (en) | Conservative class preloading for real time java execution | |
Brady et al. | Dynamic Repair of Mission-Critical Applications with Runtime Snap-Ins | |
Eisenbach et al. | Component adaptation in contemporary execution environments | |
JP2007128537A (ja) | 動的に接続可能な実行イメージの真正性検証システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080128 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110804 |
|
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: 20111014 |
|
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: 20111020 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4851096 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |