JP4851096B2 - コードの書き換え - Google Patents
コードの書き換え Download PDFInfo
- Publication number
- JP4851096B2 JP4851096B2 JP2005020314A JP2005020314A JP4851096B2 JP 4851096 B2 JP4851096 B2 JP 4851096B2 JP 2005020314 A JP2005020314 A JP 2005020314A JP 2005020314 A JP2005020314 A JP 2005020314A JP 4851096 B2 JP4851096 B2 JP 4851096B2
- Authority
- JP
- Japan
- Prior art keywords
- code unit
- code
- rewriter
- rewrite
- computer
- 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
- 238000000034 method Methods 0.000 claims description 54
- 238000011161 development Methods 0.000 claims description 25
- 238000009434 installation Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims 2
- 230000003213 activating 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
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 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)
- Physical Education & Sports Medicine (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Pain & Pain Management (AREA)
- Epidemiology (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Dermatology (AREA)
- Stored Programmes (AREA)
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 (11)
- コンピューティングデバイスとメモリとを備えたコンピュータ装置であって、
コード単位を受け取る手段と、
ここで、特定の言語のソースプログラムが、コンパイラによって前記コード単位にコンパイルされるように構成され、
前記コード単位を一意のやり方で書き換えるようにそれぞれ構成されている構成可能な1組のリライタと、
前記構成可能な1組のリライタから1つ又は複数のリライタを識別すると共に前記識別された1つ又は複数のリライタを前記コード単位に対して実行するように構成されているリライトマネージャであって、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスすることによって、前記識別と前記順序を決定するリトライマネージャと、
前記識別された1つ又は複数のリライタを前記コード単位に対して実行することによって、書き換えられたコード単位を生成する手段と
を具え、
前記コード単位に関連付けられている第1のデジタル署名と、
各々が前記構成可能な1組のリライタからの固有のリライタに関連付けられている1組の第2のデジタル署名と
をさらに含み、
前記リライトマネージャは、
前記第1のデジタル署名に基づいて前記コード単位が信頼されるかどうかを決定し、
前記識別された1つ又は複数のリライタからの各リライタが前記1組の第2のデジタル署名からの対応する第2のデジタル署名に基づいて信頼されるかどうかを決定し、
前記コード単位および前記識別された1つ又は複数のリライタからの各リライタが信頼される場合にのみ前記識別された1つ又は複数のリライタを前記コード単位に対して実行するようにさらに構成されていることを特徴とするコンピュータ装置。 - リライトキャッシュを更に含み、前記リライトマネージャは、前記書き換えられたコード単位を前記リライトキャッシュに格納するように更に構成されていることを特徴とする請求項1記載のコンピュータ装置。
- 前記リライタリストは、
前記コード単位内のリライタのリストと、
スタンドアロンファイル内のリライタのリストと、
セキュリティポリシー内のリライタのリストと、
インストールツール内のリライタのリストと
を含むグループから選択された構成要素であることを特徴とする請求項2記載のコンピュータ装置。 - 前記リライトマネージャによって前記書き換えられたコード単位に関連付けられており、前記書き換えられたコード単位が信頼されることを確認するように構成されている第3のデジタル署名をさらに含むことを特徴とする請求項1記載のコンピュータ装置。
- 前記リライトマネージャは、
スタンドアロンリライトモジュールと、
オペレーティングシステムの一部として構成されているリライトモジュールと、
インストールツールの一部として構成されているリライトモジュールと、
セキュリティポリシーの一部として構成されているリライトモジュールと
を含むグループから選択された構成要素であることを特徴とする請求項1記載のコンピュータ装置。 - 前記コード単位を開発するように構成されている開発コンピュータと、
前記コード単位をインストールするように構成されている中間コンピュータと、
前記コード単位を実行するように構成されている配置コンピュータと
を含むグループから選択されることを特徴とする請求項1記載のコンピュータ装置。 - コード単位を受け取るステップと、
ここで、特定の言語のソースプログラムが、コンパイラによって前記コード単位にコンパイルされるように構成され、
前記コード単位をリライタによって書き換えるべきであると決定するステップであって、前記リライタは、前記コード単位を書き換えるためにどのリライタを適用するかを識別すると共に前記リライタを前記コード単位に適用する順序を提供するリライタリストにアクセスするリライトマネージャによって決定されるステップと、
前記コード単位および前記リライタが信頼されるかどうかを決定するステップと、
前記コード単位に対して前記リライタを稼働させ、前記コード単位および前記リライタが信頼される場合、書き換えられたコード単位を生成するステップと、
前記コード単位に関連付けられている第1のデジタル署名を生成するステップと、
各々が前記構成可能な1組のリライタからの固有のリライタに関連付けられている1組の第2のデジタル署名を生成するステップと、
前記リライトマネージャは、
前記第1のデジタル署名に基づいて前記コード単位が信頼されるかどうかを決定し、
前記識別された1つ又は複数のリライタからの各リライタが前記1組の第2のデジタル署名からの対応する第2のデジタル署名に基づいて信頼されるかどうかを決定し、
前記コード単位および前記識別された1つ又は複数のリライタからの各リライタが信頼される場合にのみ前記識別された1つ又は複数のリライタを前記コード単位に対して実行するようにさらに構成されており、
前記第1のデジタル署名を前記書き換えられたコード単位に添付するステップと
前記書き換えられたコード単位をキャッシュに格納するステップと
を具えたことを特徴とする方法。 - 前記コード単位を実行する呼び出しを受け取るステップと、
前記コード単位が書き換えられていることを認識するステップと、
前記キャッシュから前記書き換えられたコード単位をロードするステップと、
前記書き換えられたコード単位に添付された前記デジタル署名を確認するステップと、
前記確認するステップにおいて前記書き換えられたコード単位は安全であることが示された場合、前記書き換えられたコード単位を実行するステップと
をさらに具えたことを特徴とする請求項7記載の方法。 - 前記リライタはアプリケーション互換リライタであり、前記コード単位を書き換えるべきであると決定するステップは、
前記コード単位をアプリケーションとして識別するステップと、
アプリケーション互換リライタデータベースを調べて、現在の実行環境との互換性のために前記アプリケーションの任意の部分を書き換える必要があるかどうかを決定するステップと
を含むことを特徴とする請求項7記載の方法。 - コンピュータに、請求項7ないし9のいずれかに記載の方法を実行させることが可能な命令を有するコンピュータプログラム。
- 請求項10記載のコンピュータプログラムを有するコンピュータ読取り可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/789,201 | 2004-02-27 | ||
US10/789,201 US7409675B2 (en) | 2004-02-27 | 2004-02-27 | Code rewriting |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005243004A JP2005243004A (ja) | 2005-09-08 |
JP2005243004A5 JP2005243004A5 (ja) | 2008-03-13 |
JP4851096B2 true 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) |
Families Citing this family (29)
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 |
CN101390050B (zh) * | 2005-12-22 | 2018-04-24 | 艾伦·J·薛比洛 | 通过相减性安装达成选择性分配软件资源的装置与方法 |
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 |
US8943482B2 (en) * | 2009-05-15 | 2015-01-27 | International Business Machines Corporation | Incrementally constructing executable code for component-based applications |
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 |
US9569184B2 (en) * | 2012-09-05 | 2017-02-14 | Microsoft Technology Licensing, Llc | Generating native code from intermediate language code for an application |
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 |
CN112905231B (zh) * | 2021-02-04 | 2024-06-11 | 浪潮电子信息产业股份有限公司 | 一种业务系统重构方法、系统及相关装置 |
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 |
CA2643234C (en) | 1993-10-29 | 2012-05-15 | Microsoft Corporation | 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
Also Published As
Publication number | Publication date |
---|---|
US7409675B2 (en) | 2008-08-05 |
KR20050087727A (ko) | 2005-08-31 |
JP2005243004A (ja) | 2005-09-08 |
KR100965706B1 (ko) | 2010-06-24 |
EP1577767A3 (en) | 2007-11-21 |
EP1577767B1 (en) | 2018-05-02 |
EP1577767A2 (en) | 2005-09-21 |
US20050193369A1 (en) | 2005-09-01 |
CN1661551A (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4851096B2 (ja) | コードの書き換え | |
US12008386B2 (en) | Conservative class preloading for real time java execution | |
JP5663006B2 (ja) | ランタイム環境を構築するためのシステムおよび方法 | |
KR102059705B1 (ko) | 적응식 이식가능 라이브러리 | |
JP6469028B2 (ja) | オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法 | |
US20200073657A1 (en) | Systems And Methods For Software Integrity Validation Using Blockchain | |
JP2004513412A (ja) | ハッシュによる結合 | |
US8060812B2 (en) | Methods, systems, and computer program products for class verification | |
US20150294114A1 (en) | Application randomization | |
Langiu et al. | Upkit: An open-source, portable, and lightweight update framework for constrained iot devices | |
JP2019502197A (ja) | ランタイム生成コードにおける悪意のあるコードの検出のためのシステムおよび方法 | |
CN106897587A (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虚拟机中执行 | |
US20120240106A1 (en) | Optional retargeting of library references | |
Tang et al. | Analysis of firmware vulnerabilities | |
Brady et al. | Dynamic Repair of Mission-Critical Applications with Runtime Snap-Ins | |
Wootton et al. | Programming in C Language | |
Eisenbach et al. | Component adaptation in contemporary execution environments | |
CN118245062A (zh) | 安卓应用的重打包方法及重打包工具 | |
CN113987518A (zh) | 可信计算的方法和装置 | |
Should | Understanding the Java ClassLoader |
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 |