JP6965202B2 - Analytical equipment, analysis method and program - Google Patents
Analytical equipment, analysis method and program Download PDFInfo
- Publication number
- JP6965202B2 JP6965202B2 JP2018078398A JP2018078398A JP6965202B2 JP 6965202 B2 JP6965202 B2 JP 6965202B2 JP 2018078398 A JP2018078398 A JP 2018078398A JP 2018078398 A JP2018078398 A JP 2018078398A JP 6965202 B2 JP6965202 B2 JP 6965202B2
- Authority
- JP
- Japan
- Prior art keywords
- compile
- information
- source code
- code
- switch
- 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.)
- Active
Links
Images
Description
本発明の実施形態は解析装置、解析方法及びプログラムに関する。 Embodiments of the present invention relate to analyzers, analysis methods and programs.
C言語等のコンピュータプログラムのソースコードでは、プリプロセッサ命令を使用した条件付きコンパイル(コンパイルスイッチ)のための記述が、従来から利用されている。所定の条件を示すコンパイルスイッチを利用することによって、コンピュータプログラムの動作を変更することができる。 In the source code of a computer program such as C language, a description for conditional compilation (compile switch) using a preprocessor instruction has been conventionally used. The behavior of a computer program can be changed by using a compile switch that indicates a predetermined condition.
条件付きコンパイル(コンパイルスイッチ)のための記述とは、C言語のコンピュータプログラムのソースコードにおいては、#ではじまるプリプロセッサディレクティブの中で、#ifdef、#ifndef、#endif、#if、#elif、#elseから始まる文を意味する。その他の、#include、#define、#undefなどから始まるプリプロセッサディレクティブは除く。 The description for conditional compilation (compile switch) is, in the source code of a computer program in C language, in the preprocessor directives starting with #, #ifdef, #ifndef, #endif, #if, #elif, # It means a sentence starting with else. Other preprocessor directives starting with #include, #define, #undef, etc. are excluded.
しかしながら、従来の技術では、条件付きコンパイルに使用される条件が多いほど、ソースコードを解析することが難しかった。例えば、ソースコードを解析する際には、条件の組み合わせを考慮する必要があるため、条件付きコンパイルに使用される条件が多いほど、解析回数及び解析時間を要していた。 However, with conventional techniques, the more conditions used for conditional compilation, the more difficult it is to analyze the source code. For example, when analyzing the source code, it is necessary to consider the combination of conditions. Therefore, the more conditions used for conditional compilation, the more the number of analyzes and the analysis time are required.
実施形態の解析装置は、ソースコードを、コンパイルスイッチの状態制御を示すコンパイルスイッチコード情報と、前記コンパイルスイッチコード情報を含まない本体コード情報とに分割する分割部と、前記コンパイルスイッチコード情報から、前記ソースコードの行毎の前記コンパイルスイッチの状態を示す状態情報を生成する生成部と、前記状態情報から、前記コンパイルスイッチの組み合わせを解析する解析部と、を備える。 The analysis device of the embodiment is based on a division unit that divides the source code into compile switch code information indicating the state control of the compile switch and main body code information that does not include the compile switch code information, and the compile switch code information. It includes a generation unit that generates state information indicating the state of the compile switch for each line of the source code, and an analysis unit that analyzes the combination of the compile switches from the state information.
以下に添付図面を参照して、解析装置、解析方法及びプログラムの実施形態を詳細に説明する。 An analyzer, an analysis method, and an embodiment of a program will be described in detail with reference to the accompanying drawings.
[機能構成の例]
図1は実施形態の解析装置10の機能構成の例を示す図である。実施形態の解析装置10は、分割部1、生成部2及び解析部3を備える。
[Example of functional configuration]
FIG. 1 is a diagram showing an example of a functional configuration of the
分割部1は、ソースコード101を受け付ける。ソースコード101の種類は任意でよい。ソースコード101は、例えば自動車を制御するC言語プログラムのソースコードである。
The
図2は実施形態のソースコード101の例を示す図である。図2の例は、ソースコード101がC言語である場合を示す。例えば、9行目に記述されたint型変数t_1の定義は、コンパイルスイッチTYPE_Aが指定されている場合に有効になる。TYPE_Aは、例えばソースコード101のコンパイル時に指定される。
FIG. 2 is a diagram showing an example of the
それぞれのコンパイルスイッチは、所定の条件を示す。所定の条件は任意でよい。所定の条件は、例えばプログラムの仕向け毎に定められる。具体的には、所定の条件は、例えばプログラムが動作する製品の種類、及び、当該製品の販売地域等である。 Each compile switch indicates a predetermined condition. The predetermined conditions may be arbitrary. Predetermined conditions are determined, for example, for each program destination. Specifically, the predetermined conditions are, for example, the type of product on which the program operates, the sales area of the product, and the like.
図1に戻り、分割部1は、ソースコード101を受け付けると、当該ソースコード101を、コンパイルスイッチの状態制御を示すコンパイルスイッチコード情報103と、コンパイルスイッチコード情報103を含まない本体コード情報102とに分割する。
Returning to FIG. 1, when the
図3は実施形態の本体コード情報102の例を示す図である。図3の例では、ソースコード101から、#ではじまるプリプロセッサディレクティブの記述(コンパイルスイッチコード情報103)が削除されている。
FIG. 3 is a diagram showing an example of the main
図4は実施形態のコンパイルスイッチコード情報103の例を示す図である。図4の例では、ソースコード101から、#ではじまるプリプロセッサディレクティブ以外の記述(本体コード情報102)が削除されている。
FIG. 4 is a diagram showing an example of the compile
図1に戻り、分割部1は、本体コード情報102を生成部2に入力し、コンパイルスイッチコード情報103を解析部3に入力する。
Returning to FIG. 1, the
生成部2は、分割部1からコンパイルスイッチコード情報103を受け付けると、ソースコード101の行毎のコンパイルスイッチの状態(有効/無効)を示す状態情報を生成する。
When the
図5は実施形態の状態情報104の例を示す図である。図5の例では、生成部2は、コンパイルスイッチの状態を制御するif条件及びelse条件の組み合わせ(コンパイルスイッチの組み合わせ)を計算する。例えば、生成部2は、ソースコード101の13行目〜26行目のように、入れ子になった記述等を解析することにより、コンパイルスイッチの組み合わせを、ソースコード101の行毎に特定する。そして、生成部2は、コンパイルスイッチの状態(有効/無効)をソースコード101の行毎に特定する。
FIG. 5 is a diagram showing an example of the
図5の例では、状態情報104は、例えば1行目から8行目には、有効なコンパイルスイッチがないことを示す。また例えば、状態情報104は、9行目及び10行目では、コンパイルスイッチTYPE_Aが有効であることを示す。また例えば、状態情報104は、11行目及び12行目には、有効なコンパイルスイッチがないことを示す。また例えば、状態情報104は、13行目では、コンパイルスイッチTYPE_Aが有効であることを示す。また例えば、状態情報104は、14行目及び15行目では、コンパイルスイッチTYPE_A及びコンパイルスイッチTYPE_Bが有効であることを示す。以下、同様に、16行目から27行目についても、状態情報104からコンパイルスイッチの状態を特定することができる。
In the example of FIG. 5, the
図1に戻り、解析部3は、分割部1から本体コード情報102を受け付け、生成部2から状態情報104を受け付ける。解析部3は、本体コード情報102と、状態情報104とを使用して、ソースコード101を解析する。
Returning to FIG. 1, the
図6は実施形態の解析結果105の例を示す図である。解析部3は、本体コード情報102と、状態情報104とを照らし合わせることにより、解析結果105を取得する。図6の例では、解析結果105は、コンパイルスイッチの組み合わせ毎に、コンパイルスイッチの組み合わせに依存する依存情報が抽出されている。
FIG. 6 is a diagram showing an example of the
図6の解析結果105の例では、例えば、コンパイルスイッチTYPE_Aが有効であり、かつ、コンパイルスイッチTYPE_Bが無効の場合は、入力変数in_1〜in_3が有効になり、入力変数in_4が無効になり、出力変数out_1及びt_1が有効になり、利用関数func2が有効になり、利用関数func3及びfunc4が無効になることが示されている。
In the example of the
なお、図6の例では、コンパイルスイッチの組み合わせ(プリプロセッサの条件)が4通りである場合を例示しているが、コンパイルスイッチの種類が多いほど、コンパイルスイッチの組み合わせは複雑になる。 In the example of FIG. 6, the case where there are four combinations of compile switches (preprocessor conditions) is illustrated, but the more types of compile switches, the more complicated the combinations of compile switches.
図6の解析結果105の例では、依存情報として、入力変数、出力変数及び利用関数が抽出されているが、入力変数、出力変数及び利用関数以外の情報が、依存情報として抽出されてもよい。
In the example of the
例えば、変数の型(例えば、int型等)が依存情報に含まれていてもよい。また例えば、変数の種類(例えば、ローカル変数又はグローバル変数等)が、依存情報に含まれていてもよい。なお、図6の解析結果105の例では、変数の種類として、入力又は出力が示されている。また例えば、変数のコメント行に含まれる情報(例えば、変数が取り得る値の範囲、及び、当該値の説明等)が含まれていてもよい。変数が取り得る値の説明は、例えば値の単位(例えば、値が距離であればkm等)等である。
For example, the type of the variable (for example, int type) may be included in the dependency information. Further, for example, the type of variable (for example, a local variable or a global variable) may be included in the dependency information. In the example of the
また例えば、関数の定義(例えば、戻り値及び引数等)が、依存情報に含まれていてもよい。また例えば、関数のコメント行に含まれる情報(例えば、関数の説明等)が依存情報に含まれていてもよい。関数の説明は、例えば戻り値として取り得る値の説明、及び、引数として取り得る値の説明等である。 Further, for example, the definition of the function (for example, the return value and the argument) may be included in the dependency information. Further, for example, the information included in the comment line of the function (for example, the description of the function) may be included in the dependency information. The description of the function is, for example, a description of a value that can be taken as a return value, a description of a value that can be taken as an argument, and the like.
また、図6の解析結果105は、コンパイルスイッチの組み合わせ毎のテーブル形式で表されているが、解析結果105のデータ形式は、テーブル形式以外のデータ形式でもよい。
Further, although the
図6の解析結果105のように、コンパイルスイッチの組み合わせ(プリプロセッサの条件)毎に、上述の依存情報の一覧が取得されることにより、ソースコード101をより容易に確認することができる。例えば、解析結果105を使用して、プリプロセッサの条件の正しさを確認することができる。また例えば、解析結果105をソースコード101のテスト工程で活用することができる。具体的には、解析結果105を、例えばコンパイルスイッチの組み合わせ毎のテスト項目(例えば、入出力に関するテスト項目等)の洗い出しに活用することができる。また例えば、解析結果105を、コンパイルスイッチの組み合わせ毎の仕様(機能)の確認に活用することができる。
As shown in the
以上、説明したように、実施形態の解析装置10では、分割部1が、ソースコード101を、コンパイルスイッチの状態制御を示すコンパイルスイッチコード情報103と、コンパイルスイッチコード情報103を含まない本体コード情報102とに分割する。生成部2が、コンパイルスイッチコード情報103から、ソースコード101の行毎のコンパイルスイッチの状態を示す状態情報104を生成する。そして、解析部3が、状態情報104から、コンパイルスイッチの組み合わせを解析する。
As described above, in the
これにより実施形態の解析装置10によれば、条件付きコンパイルに使用される条件(コンパイルスイッチ)が複数ある場合でも、ソースコード101をより容易に解析することができる。
As a result, according to the
[効果の説明]
次に、実施形態の解析装置10の効果について、従来の解析方法と対比させることにより、具体的に説明する。
[Explanation of effect]
Next, the effect of the
図7は実施形態の解析方法と、従来の解析方法との差異を説明するための図である。図7に示すように、従来の解析方法では、仕向け毎にソースコード101を解析する必要があった。具体的には、例えばプリプロセッサの条件が4通りの場合、まず、プリプロセッサの条件毎に条件別ソースコード201a〜201dを用意する必要があった。
FIG. 7 is a diagram for explaining the difference between the analysis method of the embodiment and the conventional analysis method. As shown in FIG. 7, in the conventional analysis method, it is necessary to analyze the
図8Aは従来の条件別ソースコード201aの例を示す図である。図8Aは、仕向けa用のソースコード101を示す。具体的には、条件別ソースコード201aは、コンパイルスイッチTYPE_Aが無効であり、かつ、コンパイルスイッチTYPE_Bが無効の場合のソースコード101を示す。
FIG. 8A is a diagram showing an example of the conventional
図8Bは従来の条件別ソースコード201bの例を示す図である。図8Bは、仕向けb用のソースコード101を示す。具体的には、条件別ソースコード201bは、コンパイルスイッチTYPE_Aが有効であり、かつ、コンパイルスイッチTYPE_Bが無効の場合のソースコード101を示す。
FIG. 8B is a diagram showing an example of the conventional
図8Cは従来の条件別ソースコード201cの例を示す図である。図8Cは、仕向けc用のソースコード101を示す。具体的には、条件別ソースコード201cは、コンパイルスイッチTYPE_Aが無効であり、かつ、コンパイルスイッチTYPE_Bが有効の場合のソースコード101を示す。
FIG. 8C is a diagram showing an example of the conventional
図8Dは従来の条件別ソースコード201dの例を示す図である。図8Dは、仕向けd用のソースコード101を示す。具体的には、条件別ソースコード201dは、コンパイルスイッチTYPE_Aが有効であり、かつ、コンパイルスイッチTYPE_Bが有効の場合のソースコード101を示す。
FIG. 8D is a diagram showing an example of the conventional
図9は従来の解析方法を示す図である。図9に示すように、従来は、条件別ソースコード201a〜201dを別々に解析することにより得られた解析結果202a〜202dを集計することにより、集計結果203(実施形態の解析結果105に相当)が得られていた。そのため、コンパイルスイッチがN種の場合、2のN乗通りの組み合わせを特定後、2のN乗通りの条件別ソースコード201のコード解析が必要だった。
FIG. 9 is a diagram showing a conventional analysis method. As shown in FIG. 9, conventionally, by aggregating the
実施形態の解析装置10によれば、条件付きコンパイルに使用される条件(コンパイルスイッチ)の組み合わせが2のN乗通りである場合であっても、ソースコード101の解析は、1回で済む。そのため、実施形態の解析装置10によれば、条件付きコンパイルに使用される条件が多いほど、従来の解析方法に比べて、解析回数及び解析時間を削減することができる。
According to the
最後に実施形態の解析装置10のハードウェア構成の例について説明する。
Finally, an example of the hardware configuration of the
[ハードウェア構成の例]
図10は実施形態の解析装置10のハードウェア構成の例を示す図である。実施形態の解析装置10は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
[Example of hardware configuration]
FIG. 10 is a diagram showing an example of the hardware configuration of the
制御装置301は、補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。主記憶装置302は、ROM(Read Only Memory)、及び、RAM(Random Access Memory)等のメモリである。補助記憶装置303は、HDD(Hard Disk Drive)、及び、メモリカード等である。
The
表示装置304は、解析装置10の状態等を表示する。表示装置304は、例えば液晶ディスプレイ等である。入力装置305は、解析装置10を操作するためのインタフェースである。入力装置305は、例えばキーボードやマウス等である。解析装置10がスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置304及び入力装置305は、例えばタッチパネルである。通信装置306は、他の装置と通信するためのインタフェースである。
The
実施形態の解析装置10で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、メモリカード、CD−R及びDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
The program executed by the
また実施形態の解析装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また実施形態の解析装置10で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
Further, the program executed by the
また実施形態の解析装置10のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
Further, the program of the
実施形態の解析装置10で実行されるプログラムは、上述した図1の解析装置10の機能ブロックのうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置301が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置302上にロードされる。すなわち上記各機能ブロックは主記憶装置302上に生成される。
The program executed by the
なお上述した図1の各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC等のハードウェアにより実現してもよい。 It should be noted that a part or all of each functional block of FIG. 1 described above may not be realized by software, but may be realized by hardware such as an IC.
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。 Further, when each function is realized by using a plurality of processors, each processor may realize one of each function, or may realize two or more of each function.
また実施形態の解析装置10の動作形態は任意でよい。実施形態の解析装置10を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
Further, the operation mode of the
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
1 分割部
2 生成部
3 解析部
10 解析装置
101 ソースコード
102 本体コード情報
103 コンパイルスイッチコード情報
104 状態情報
105 解析結果
201 条件別ソースコード
202 解析結果
203 集計結果
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス
1
Claims (8)
前記コンパイルスイッチコード情報から、前記ソースコードの行毎の前記コンパイルスイッチの状態を示す状態情報を生成する生成部と、
前記状態情報から、前記コンパイルスイッチの組み合わせを解析する解析部と、
を備える解析装置。 A division unit that divides the source code into compile switch code information indicating the state control of the compile switch and main body code information that does not include the compile switch code information.
A generator that generates state information indicating the state of the compile switch for each line of the source code from the compile switch code information.
An analysis unit that analyzes the combination of the compile switches from the state information,
An analyzer equipped with.
請求項1に記載の解析装置。 The analysis unit further analyzes the dependency information depending on the combination of the compile switches from the main body code information and the state information for each combination of the compile switches.
The analyzer according to claim 1.
請求項2に記載の解析装置。 The dependency information includes variable information indicating whether or not the variables included in the source code are valid for each combination of the compile switches.
The analyzer according to claim 2.
請求項3に記載の解析装置。 The variable information further includes at least one of the type of the variable, the type of the variable, and the information contained in the comment line of the variable.
The analyzer according to claim 3.
請求項2乃至4のいずれか1項に記載の解析装置。 The dependency information includes function information indicating whether or not the function included in the source code is valid for each combination of the compile switches.
The analyzer according to any one of claims 2 to 4.
請求項5に記載の解析装置。 The function information further includes at least one of the definition of the function and the information contained in the comment line of the function.
The analyzer according to claim 5.
生成部が、前記コンパイルスイッチコード情報から、前記ソースコードの行毎の前記コンパイルスイッチの状態を示す状態情報を生成するステップと、
解析部が、前記状態情報から、前記コンパイルスイッチの組み合わせを解析するステップと、
を含む解析方法。 The step of dividing the source code into the compile switch code information indicating the state control of the compile switch and the main body code information not including the compile switch code information.
A step in which the generation unit generates state information indicating the state of the compile switch for each line of the source code from the compile switch code information.
A step in which the analysis unit analyzes the combination of the compile switches from the state information,
Analysis method including.
ソースコードを、コンパイルスイッチの状態制御を示すコンパイルスイッチコード情報と、前記コンパイルスイッチコード情報を含まない本体コード情報とに分割する分割部と、
前記コンパイルスイッチコード情報から、前記ソースコードの行毎の前記コンパイルスイッチの状態を示す状態情報を生成する生成部と、
前記状態情報から、前記コンパイルスイッチの組み合わせを解析する解析部、
として機能させるためのプログラム。 Computer,
A division unit that divides the source code into compile switch code information indicating the state control of the compile switch and main body code information that does not include the compile switch code information.
A generator that generates state information indicating the state of the compile switch for each line of the source code from the compile switch code information.
An analysis unit that analyzes the combination of the compile switches from the state information.
A program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018078398A JP6965202B2 (en) | 2018-04-16 | 2018-04-16 | Analytical equipment, analysis method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018078398A JP6965202B2 (en) | 2018-04-16 | 2018-04-16 | Analytical equipment, analysis method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185593A JP2019185593A (en) | 2019-10-24 |
JP6965202B2 true JP6965202B2 (en) | 2021-11-10 |
Family
ID=68341450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018078398A Active JP6965202B2 (en) | 2018-04-16 | 2018-04-16 | Analytical equipment, analysis method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6965202B2 (en) |
-
2018
- 2018-04-16 JP JP2018078398A patent/JP6965202B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019185593A (en) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9081586B2 (en) | Systems and methods for customizing optimization/transformation/ processing strategies | |
US20140013299A1 (en) | Generalization and/or specialization of code fragments | |
US11481200B1 (en) | Checking source code validity at time of code update | |
CN110058861B (en) | Source code processing method and device, storage medium and electronic equipment | |
CN107015904B (en) | Stack protection method and device | |
US10241759B2 (en) | Detecting open source components built into mobile applications | |
CN111459499A (en) | Program compiling method and device, computer storage medium and electronic equipment | |
US20180267783A1 (en) | Apparatus and method to facilitate extraction of unused symbols in a program source code | |
US20220244931A1 (en) | Image file obtaining method and apparatus | |
JP6440895B2 (en) | Software analysis apparatus and software analysis method | |
CN112835587B (en) | Compiling integration method and device | |
JP6965202B2 (en) | Analytical equipment, analysis method and program | |
US10133652B2 (en) | Debugging optimized code using FAT binary | |
US11947966B2 (en) | Identifying computer instructions enclosed by macros and conflicting macros at build time | |
CN112953721B (en) | IPA file analysis method, IPA file analysis device, IPA file analysis equipment and storage medium | |
JP6111150B2 (en) | Source code analysis apparatus, source code analysis method, and program | |
CN115777096A (en) | Data analysis program creation support device, data analysis program creation support method, and data analysis program creation support program | |
CN111258910B (en) | Static link library function verification method and device, electronic equipment and storage medium | |
CN111596906B (en) | MVPVM-based Android application development method, device, equipment and medium | |
CN116991735A (en) | Front-end component change testing system, method, device, equipment and storage medium | |
JP2018147114A (en) | Test case generation method, computer, and program | |
US20240135253A1 (en) | Computer-readable recording medium storing machine learning support program, machine learning support method, and information processing apparatus | |
US10761840B2 (en) | Software analysis device, software analysis method, and recording medium | |
CN116755703A (en) | Method, device, computer equipment and storage medium for flexibly deploying SDK package | |
CN116166254A (en) | System development method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200924 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210908 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211020 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6965202 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |