JPWO2022078632A5 - - Google Patents
Download PDFInfo
- Publication number
- JPWO2022078632A5 JPWO2022078632A5 JP2023521921A JP2023521921A JPWO2022078632A5 JP WO2022078632 A5 JPWO2022078632 A5 JP WO2022078632A5 JP 2023521921 A JP2023521921 A JP 2023521921A JP 2023521921 A JP2023521921 A JP 2023521921A JP WO2022078632 A5 JPWO2022078632 A5 JP WO2022078632A5
- Authority
- JP
- Japan
- Prior art keywords
- property graph
- vulnerability
- code property
- state
- call
- 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
Description
本発明の実施形態によれば、拡充過程を実行するステップはwrite-state-analysisを含んでもよい。write-state-analysisは、スマートコントラクトの状態変数を変化させるすべてのステートメントを収集するステップと、収集されたステートメントおよびそれらを取り囲む関数にwrites-state-labelを割り当てるステップとを含んでもよい。write-state-analysisは、状態変数を更新する/書き込む関数を呼び出すすべての内部関数呼出しを収集するステップと、収集された内部関数呼出しおよびそれらを取り囲む関数にwrites-state-labelを割り当てるステップとをさらに含んでもよい。したがって、脆弱性検知過程において効率的に適用され、かつ使用されるための適切な情報を収集することが可能である。 According to an embodiment of the present invention, the step of performing the enrichment process may include a write-state-analysis. The write-state-analysis may include collecting all statements that change state variables of the smart contract and assigning a writes-state-label to the collected statements and their surrounding functions. The write-state-analysis may further include collecting all internal function calls that call functions that update/write state variables and assigning a writes-state-label to the collected internal function calls and their surrounding functions. Thus, it is possible to collect appropriate information to be efficiently applied and used in the vulnerability detection process.
本発明の実施形態によれば、脆弱性検知過程を実行するステップは、状態を書き込むステートメントswおよびそれを取り囲む関数fについてコードプロパティグラフを照会するステップを含んでもよい。次いで、関数fの制御フローを考慮に入れて、コードプロパティグラフにおいて、外部関数呼出しceからswに過渡的に通じるceが検索されてもよい。swによって扱われる状態変数svも取り込まれる。そのようなパターンが見つかったら、スマートコントラクトに属してsvに書き込むすべての関数fcに関する脆弱性検知過程において、コードプロパティグラフも照会されてもよい。したがって、リエントラント脆弱性が効率的に検知されてもよい。そのために、状態変数svと、状態変数svに書き込むステートメントswと、ステートメントsw を取り囲む関数fと、fの制御フローを考えると外部関数呼出しceからswに過渡的に通じるceと、svに書き込むクロス関数fcのセットとを含むリエントラント脆弱性パターンが検索されてもよい。 According to an embodiment of the present invention, the step of performing the vulnerability detection process may include querying the code property graph for the statement s w that writes the state and the function f that surrounds it . Then, taking into account the control flow of the function f, the code property graph may be searched for c e that transitively leads from the foreign function call c e to s w . The state variables s v handled by s w are also captured. If such a pattern is found, the code property graph may also be queried in the vulnerability detection process for all functions f c that belong to the smart contract and write to s v. Thus, reentrant vulnerabilities may be efficiently detected. To this end, a reentrant vulnerability pattern may be searched for, which includes the state variable s v , the statement s w that writes to the state variable s v , the function f that surrounds the statement s w , c e that transitively leads from the foreign function call c e to s w considering the control flow of f, and a set of cross functions f c that write to s v .
本発明の実施形態によれば、脆弱性検知過程において、状態を書き込むステートメントswおよびそれを取り囲む関数fについてコードプロパティグラフが照会されてもよい。生成ベースのリエントラント性検知は、外部呼出しの代わりに、fの制御フローを考えるとコンストラクタ呼出しccからswに過渡的に通じるccを検索してもよい。CPGベースの解析により、呼び出されているコンストラクタを解析することが可能になる。このようにして、この脆弱性が報告されるのは、コンストラクタが外部呼出しを含有している場合のみであってもよい。外部コールがなければリエントラント性が生じることはないので、これは有効である。コンストラクタが外部関数を呼び出す場合には、同一のコントラクトに属してsvにも書き込むすべての関数について、制御プロパティグラフが再び照会されてもよい。したがって、リエントラント脆弱性を効率的に検知することが可能である。 According to an embodiment of the present invention, during vulnerability detection, the code property graph may be queried for the state-writing statement s w and the surrounding function f. Instead of external calls, the generation-based reentrancy detection may search for c c that transitively lead to s w from the constructor call c c given the control flow of f. The CPG-based analysis allows to analyze the constructor being called. In this way, the vulnerability may be reported only if the constructor contains an external call. This is valid because reentrancy cannot occur without an external call. If the constructor calls an external function, the control property graph may be queried again for all functions that belong to the same contract and also write to s v. Thus, reentrancy vulnerabilities can be detected efficiently.
HCCは、すべての関数呼出しにラベルを付けた後に、適切な場合には、ContainsDelegateCall、ContainsExternalCallおよびContainsConstructorCallを用いてそれらを含有している関数にラベルを付ける。HCCがCPGにおけるすべての関数呼出しにわたって繰り返すこと、またそれらの関数呼出しを取り囲む関数は別のコントラクトの一部である場合があることに留意されたい。これは、Constructorcallによって呼び出される関数が、この解析の対象であるか、または関数呼出しを含有していないことを意味する。 After labeling all function calls, the HCC labels the functions that contain them with ContainsDelegateCall, ContainsExternalCall, and ContainsConstructorCall, where appropriate. Note that the HCC iterates over all function calls in the CPG, and that the functions surrounding those function calls may be part of another contract. This means that a function called by a Constructorcall is either subject to this analysis or does not contain the function call.
HCCは、第1の解析ステップにおいて、コントラクトの状態変数を変更するすべてのステートメントを収集する。次いで、収集されたステートメントおよびそれらを取り囲む関数にWritesStateのラベルが付けられ、扱われる状態変数に対してエッジが追加される。このエッジはWRITESのラベルを有する。 In the first analysis step, HCC collects all statements that modify the state variables of a contract. The collected statements and their surrounding functions are then labeled with WritesState, and edges are added to the state variables they handle. These edges are labeled with WRITES.
書込み状態解析の第2のステップにおいて、HCCは、コントラクト状態を更新する関数を呼び出す、すべての内部の関数呼出しを収集する。それらの呼出しおよびそれらを取り囲む関数は、上記のステートメントに類似のラベルおよびエッジを受け取るが、この第2のステップは、CPGに新規のラベルが追加されなくなるまで繰り返される。 In the second step of the write state analysis, the HCC collects all internal function calls that call functions that update the contract state. These calls and the functions surrounding them receive labels and edges similar to the above statement, but this second step is repeated until no new labels are added to the CPG.
リエントラント性の検知:リエントラント脆弱性の検知は次のように実施されてもよい。最初に、HCCは、状態を書き込むステートメントswおよびそれを取り囲む関数fについてCPGを照会する。次いで、HCCは、fの制御フローを考えると外部呼出しceからswに過渡的に通じるceを検索する。HCCは、swによって扱われる状態変数svも取り込む。そのようなパターンが見つかると、HCCは、同一のコントラクトに属してsvにも書き込むすべての関数fcについてCPGを照会する。この手法は、従来のリエントラント性ならびにクロス関数リエントラント性および代表型ケース(ii)のリエントラント性に有効である。 Reentrancy detection: Reentrancy vulnerability detection may be performed as follows: First, HCC queries the CPG for a state-writing statement s w and its surrounding functions f. Then, HCC searches for c e that transitively lead to s w from an external call c e given the control flow of f. HCC also captures state variables s v handled by s w . If such a pattern is found, HCC queries the CPG for all functions f c belonging to the same contract that also write to s v. This approach works for classical reentrancy as well as cross-function reentrancy and representative case (ii) reentrancy.
HCCにおける生成ベースのリエントラント性の検知は、ほぼ前述の基本的な検知のように実施されてもよい。状態を書き込むステートメントswおよびそれを取り囲む関数fについてCPGが照会される。生成ベースのリエントラント性検知は、外部コールの代わりに、fの制御フローを考えるとコンストラクタ呼出しccからswに過渡的に通じるccを検索する。しかしながら、CPGベースの解析により、HCCは、呼び出されているコンストラクタを解析することが可能になる。このようにして、コンストラクタが外部呼出しを含有している場合には、HCCが報告するのはこの脆弱性のみになる。外部コールがなければリエントラント性が生じることはないので、これは有効である。コンストラクタが外部関数を呼び出す場合には、HCCは、同一のコントラクトに属してsvにも書き込むすべての関数について、CPGを再び照会する。 Creation-based reentrancy detection in HCC may be performed much like the basic detection described above. The CPG is queried for a statement s w that writes state and for the function f that surrounds it . Instead of external calls, creation-based reentrancy detection searches for c c that transitively lead to s w from a constructor call c c given the control flow of f. However, the CPG-based analysis allows HCC to analyze the constructor being called. In this way, if a constructor contains an external call, HCC will only report this vulnerability. This is valid because reentrancy cannot occur without external calls. If the constructor calls an external function, HCC again queries the CPG for all functions that belong to the same contract and also write to sv.
リエントラント性は、状態変数svと、この状態変数に書き込むステートメントswと、外部関数呼出しceと、それを取り囲む関数fと、これもsvに書き込む、クロス関数fcのセットとから成ることを思い起こされたい。第1のステップとして、HCCは、状態変数としてのsvのロック変数(lsv)を生成する。これは、svが既にロック変数を有するかどうかの検査を含む。変数lsvのタイプはsv自体のタイプに依拠し、たとえば、svがuint256のような基本タイプを有する場合にはlsvはブールタイプになるが、マッピングタイプについては、値のタイプのみがブールタイプになる。
Recall that reentrancy consists of a state variable sv, a statement sw that writes to this state variable, a foreign function call ce , a surrounding function f, and a set of cross functions fc that also write to sv. As a first step, HCC creates a lock variable (l sv ) for sv as a state variable. This involves checking whether sv already has a lock variable. The type of the variable l sv depends on the type of sv itself, e.g., if sv has a basic type like uint256 then l sv will be of type Boolean, but for mapping types only the type of the value will be of type Boolean.
Claims (14)
スマートコントラクトのソースコードを抽象構文ツリーモデルに変換するステップと、
前記抽象構文ツリーモデルに基づいてコードプロパティグラフを生成するステップと、
前記抽象構文ツリーモデルから推測可能な情報を用いて前記コードプロパティグラフを拡充する拡充過程を実行するステップと、
脆弱性検知過程を実行するステップであって、前記コードプロパティグラフが、1つまたは複数の所定の脆弱性を見つけるために、1つまたは複数の所定の脆弱性パターンがあるかどうか検査される、ステップと、
脆弱性パッチング過程を実行するステップであって、前記脆弱性検知過程において見つかった脆弱性を修正するために1つまたは複数のパッチが適用され、パッチを適用されたコードプロパティグラフが生成されるように、前記コードプロパティグラフに前記パッチが挿入される、ステップと
を含み、前記拡充過程を実行するステップが呼出し解析を含み、前記呼出し解析が、
前記コードプロパティグラフにおける関数呼出し表現にわたって繰り返すステップと、
それぞれの外部関数呼出しに対して呼出しラベルを割り当てるステップと、
を含む、コンピュータ実施方法。 1. A computer-implemented method for supporting smart contracts in a blockchain network, comprising:
translating a source code of the smart contract into an abstract syntax tree model;
generating a code property graph based on the abstract syntax tree model;
performing an augmentation process to augment the code property graph using information inferable from the abstract syntax tree model;
performing a vulnerability detection process, wherein the code property graph is examined for one or more predefined vulnerability patterns to find one or more predefined vulnerabilities;
performing a vulnerability patching process, in which one or more patches are applied to fix vulnerabilities found in the vulnerability detection process, and the patches are inserted into the code property graph to generate a patched code property graph; and performing the enrichment process includes invocation analysis, the invocation analysis comprising:
iterating over function call representations in the code property graph;
assigning a call label to each external function call;
4. A computer-implemented method comprising :
関数呼出しを見つけるために、前記コードプロパティグラフにおけるステートメントのサブ表現を解析するステップと、
外部関数呼出しを有するそれぞれのステートメントに呼出しラベルを割り当てるステップと
を含む、請求項1から4のいずれか一項に記載の方法。 The step of performing the enrichment process includes a contains-call-analysis,
analyzing sub-expressions of statements in the code property graph to find function calls;
and assigning a call label to each statement having an external function call.
スマートコントラクトの状態変数を変更するステートメントを収集するステップと、
収集されたステートメントおよびそれらを取り囲む関数にwrites-state-labelを割り当てるステップと、
状態変数を更新する/書き込む関数を呼び出す内部関数呼出しを収集するステップと、
前記収集された内部関数呼出しおよびそれらを取り囲む関数にwrites-state-labelを割り当てるステップと
を含む、請求項1から5のいずれか一項に記載の方法。 The step of performing the enrichment process includes write-state-analysis,
collecting statements that modify state variables of a smart contract;
assigning a writes-state-label to the collected statements and their surrounding functions;
collecting internal function calls that call functions that update/write state variables;
and assigning a writes-state - label to the collected internal function calls and their surrounding functions.
状態を書き込むステートメントsw およびそれらを取り囲む関数fについてコードプロパティグラフを照会するステップと、
関数fの制御フローを考慮して外部関数呼出しceからswに過渡的に通じるceを検索するステップと、
swによって扱われる状態変数svを取り込むステップと、
前記スマートコントラクトに属してsvに書き込むすべての関数fc についてコードプロパティグラフを照会するステップと
を含む、請求項1から8のいずれか一項に記載の方法。 The step of performing the vulnerability detection process includes:
Querying a code property graph for state-writing statements s w and their surrounding functions f;
searching for a c e that transitionally leads from a foreign function call c e to s w by considering the control flow of a function f;
taking in the state variables sv handled by s w ;
9. The method of claim 1, further comprising: querying a code property graph for all functions f c that belong to the smart contract and write to sv.
状態を書き込むステートメントsw およびそれらを取り囲む関数fについてコードプロパティグラフを照会するステップと、
関数fの制御フローを考えるとコンストラクタ呼出しccからswに過渡的に通じ、外部関数呼出しceを呼び出す、コンストラクタ呼出しccを検索するステップと、
swによって扱われる状態変数svを取り込むステップと、
前記スマートコントラクトに属してsvに書き込むすべての関数fc についてコードプロパティグラフを照会するステップと
を含む、請求項1から9のいずれか一項に記載の方法。 The step of performing the vulnerability detection process includes:
Querying a code property graph for state-writing statements s w and their surrounding functions f;
Considering the control flow of a function f, there are steps of retrieving a constructor call c c that transitively passes from a constructor call c c to s w and invokes a foreign function call c e ;
taking in the state variables sv handled by s w ;
10. The method of claim 1, further comprising: querying a code property graph for all functions f c that belong to the smart contract and write to sv.
状態変数としてsvのロック変数lsvを与えるステップと、
lsvの前記状態を設定する割当てステートメントを生成するステップであって、ロックステートメントlock_lsvが前記状態の値をトルーに設定し、アンロックステートメントunlock_lsvが前記状態の値をフォールスに設定する、ステップと、
前記ロックステートメントと外部関数呼出しce、またはコンストラクタ呼出しccと前記アンロックステートメントが、lock_lsv→ce、またはcc→unlock_lsvと、互いに直接後続するように、関数fの制御フローを変更するステップと
を含む、請求項9または10に記載の方法。 executing the vulnerability patching process to apply a patch,
providing a lock variable l sv of sv as a state variable;
generating assignment statements that set the state of a lock_l sv , where a lock statement lock_l sv sets the value of the state to true and an unlock statement unlock_l sv sets the value of the state to false;
and modifying the control flow of function f such that the lock statement and the foreign function call c e , or the constructor call c c and the unlock statement, immediately follow each other: lock_l sv → c e , or c c → unlock_l sv .
スマートコントラクトのソースコードを抽象構文ツリーモデルに変換するステップと、
前記抽象構文ツリーモデルに基づいてコードプロパティグラフを生成するステップと、
前記抽象構文ツリーモデルから推測可能な情報を用いて前記コードプロパティグラフを拡充する拡充過程を実行するステップと、
脆弱性検知過程を実行するステップであって、前記コードプロパティグラフが、1つまたは複数の所定の脆弱性を見つけるために、1つまたは複数の所定の脆弱性パターンがあるかどうか検査される、ステップと、
脆弱性パッチング過程を実行するステップであって、前記脆弱性検知過程において見つかった脆弱性を修正するために1つまたは複数のパッチが適用され、パッチを適用されたコードプロパティグラフが生成されるように、前記コードプロパティグラフに前記パッチが挿入される、ステップと
を含む、コンピュータシステム。 A computer system for supporting smart contracts in a blockchain network, the computer system comprising a storage device and one or more processors configured to execute, alone or in combination, a method, in particular a method according to any one of claims 1 to 13 , the method comprising:
translating a source code of the smart contract into an abstract syntax tree model;
generating a code property graph based on the abstract syntax tree model;
performing an augmentation process to augment the code property graph using information inferable from the abstract syntax tree model;
performing a vulnerability detection process, wherein the code property graph is examined for one or more predefined vulnerability patterns to find one or more predefined vulnerabilities;
and performing a vulnerability patching process, wherein one or more patches are applied to fix vulnerabilities found in the vulnerability detection process, and the patches are inserted into the code property graph to generate a patched code property graph.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20201543.4 | 2020-10-13 | ||
EP20201543 | 2020-10-13 | ||
PCT/EP2021/054838 WO2022078632A1 (en) | 2020-10-13 | 2021-02-26 | Method and system for supporting smart contracts in a blockchain network |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2023545140A JP2023545140A (en) | 2023-10-26 |
JPWO2022078632A5 true JPWO2022078632A5 (en) | 2025-04-07 |
JP7711187B2 JP7711187B2 (en) | 2025-07-22 |
Family
ID=74871349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023521921A Active JP7711187B2 (en) | 2020-10-13 | 2021-02-26 | Method and system for supporting smart contracts in a blockchain network |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240020109A1 (en) |
JP (1) | JP7711187B2 (en) |
WO (1) | WO2022078632A1 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022108318A1 (en) | 2020-11-17 | 2022-05-27 | 주식회사 수호아이오 | Apparatus and method for analyzing smart contract code vulnerabilities |
WO2022256573A1 (en) * | 2021-06-02 | 2022-12-08 | The Johns Hopkins University | System and method for detecting vulnerabilities in object-oriented program code using an object property graph |
CN114996126B (en) * | 2022-05-17 | 2024-02-23 | 电子科技大学 | Vulnerability detection method and system for EOSIO intelligent contracts |
CN115017514B (en) * | 2022-05-31 | 2025-03-18 | 南京航空航天大学 | Method and application of smart contract vulnerability detection based on abstract syntax tree |
CN115033896B (en) * | 2022-08-15 | 2022-11-08 | 鹏城实验室 | Method, device, system and medium for detecting Ethernet intelligent contract vulnerability |
CN115470498A (en) * | 2022-09-23 | 2022-12-13 | 辽宁工程技术大学 | An optimization method for reentrancy attack vulnerabilities in smart contracts based on auction refund transactions |
CN115310100B (en) * | 2022-10-12 | 2023-02-03 | 鹏城实验室 | Intelligent contract vulnerability repairing method, equipment and medium |
CN115879945B (en) * | 2022-11-03 | 2024-12-03 | 北京邮电大学 | Intelligent contract read-after-write risk detection method and electronic equipment |
CN115828264A (en) * | 2022-12-19 | 2023-03-21 | 杭州云象网络技术有限公司 | Intelligent contract vulnerability detection method and system and electronic equipment |
CN116578988B (en) * | 2023-05-23 | 2024-01-23 | 海南大学 | Vulnerability detection method and device of intelligent contract and storage medium |
CN117614681B (en) * | 2023-11-24 | 2024-05-24 | 烟台大学 | Smart contract reentrancy vulnerability detection method, system, device and storage medium |
EP4564207A1 (en) * | 2023-12-01 | 2025-06-04 | Sooho.io Inc. | Apparatus and method for analyzing vulnerabilities of smart contract code |
CN117592989B (en) * | 2023-12-08 | 2024-06-28 | 聚合吧科技有限公司 | Payment information security management method and system based on blockchain |
CN117951710B (en) * | 2023-12-25 | 2025-05-27 | 杭州电子科技大学 | Cross-contract vulnerability detection method and system based on operation code |
WO2025172831A1 (en) * | 2024-02-16 | 2025-08-21 | Oneguard Llc | A security system |
CN118194294B (en) * | 2024-03-18 | 2024-08-20 | 烟台大学 | Intelligent contract vulnerability detection method, system and equipment based on intermediate representation |
CN118468282B (en) * | 2024-05-07 | 2025-03-25 | 中山大学 | Cross-chain bridge smart contract vulnerability detection method and related equipment |
CN118171290B (en) * | 2024-05-14 | 2024-07-19 | 烟台大学 | Intelligent contract vulnerability detection method and system based on source code and byte code |
CN118337529B (en) * | 2024-06-12 | 2024-09-13 | 烟台大学 | Intelligent contract vulnerability detection method and device based on execution path and stack event |
CN118626379A (en) * | 2024-06-17 | 2024-09-10 | 西安电子科技大学 | Smart contract vulnerability detection method and system for Hyperledger Fabric |
CN118860406A (en) * | 2024-06-28 | 2024-10-29 | 鹏城实验室 | Vulnerability detection method, device, computer equipment and readable storage medium |
CN119203156A (en) * | 2024-09-20 | 2024-12-27 | 浙江大学 | A NFT smart contract vulnerability detection method based on large language agent |
CN119902962B (en) * | 2025-04-02 | 2025-06-24 | 北京国信网联科技有限公司 | Code vulnerability detection method and system based on machine learning |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3155514A1 (en) * | 2014-06-13 | 2017-04-19 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for a database of software artifacts |
JP6952506B2 (en) * | 2017-06-13 | 2021-10-20 | 株式会社野村総合研究所 | Inspection equipment |
KR101947760B1 (en) * | 2018-09-04 | 2019-02-13 | 김종현 | Secure authentication server for smart contract |
CN110807195B (en) * | 2019-09-26 | 2023-08-25 | 图灵人工智能研究院(南京)有限公司 | Intelligent contract issuing method, issuing platform device and issuing system |
-
2021
- 2021-02-26 JP JP2023521921A patent/JP7711187B2/en active Active
- 2021-02-26 WO PCT/EP2021/054838 patent/WO2022078632A1/en active Application Filing
- 2021-02-26 US US18/031,164 patent/US20240020109A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2022078632A5 (en) | ||
Lattner et al. | Making context-sensitive points-to analysis with heap cloning practical for the real world | |
US7912877B2 (en) | Leveraging garbage collection to dynamically infer heap invariants | |
US20190102278A1 (en) | Memory leak profiling events | |
US20130290937A1 (en) | Efficient extraction of software dependencies from program code | |
US20080005208A1 (en) | Data structure path profiling | |
CN109032631B (en) | Application program patch package obtaining method and device, computer equipment and storage medium | |
CN102662825B (en) | Method for detecting memory leakage of heap operational program | |
US20060150168A1 (en) | Annotating graphs to allow quick loading and analysis of very large graphs | |
WO2014152093A1 (en) | Optimization of a software build | |
US20110087713A1 (en) | Associative references in a garbage collected programming environment | |
CN113312377A (en) | Automatic-association SQL query statement processing method and device and electronic equipment | |
US8458679B2 (en) | May-constant propagation | |
Haller et al. | Scalable data structure detection and classification for C/C++ binaries | |
US12430447B2 (en) | Using call graphs to identify an update when upgrading to a newer version | |
Qi et al. | LogicMEM: Automatic Profile Generation for Binary-Only Memory Forensics via Logic Inference. | |
CN101228509A (en) | Apparatus, method, program for generating and executing executable binary image, and computer-readable recording medium recording the program | |
US10649797B2 (en) | Online method handle deduplication | |
CN105824758B (en) | A kind of heap area object comparative approach based on execution index and access path | |
CN116719531B (en) | Object conversion method, system and medium based on runtime bytecode editing | |
CN114880673B (en) | Method and system for detecting privacy data leakage in mini program source code | |
Rodrigues et al. | Aspect-oriented webassembly transformation | |
CN116578282A (en) | Code generation method, device, electronic equipment and medium | |
JP7513116B2 (en) | Call graph creation device, call graph creation method, and program | |
US6578195B1 (en) | Process for data encapsulation in large scale legacy software |