JP7409197B2 - ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 - Google Patents
ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 Download PDFInfo
- Publication number
- JP7409197B2 JP7409197B2 JP2020058005A JP2020058005A JP7409197B2 JP 7409197 B2 JP7409197 B2 JP 7409197B2 JP 2020058005 A JP2020058005 A JP 2020058005A JP 2020058005 A JP2020058005 A JP 2020058005A JP 7409197 B2 JP7409197 B2 JP 7409197B2
- Authority
- JP
- Japan
- Prior art keywords
- repair
- violation
- pattern
- software program
- violations
- 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
- 230000008439 repair process Effects 0.000 title claims description 545
- 230000003068 static effect Effects 0.000 title description 28
- 238000004458 analytical method Methods 0.000 title description 27
- 238000000034 method Methods 0.000 claims description 42
- 238000005067 remediation Methods 0.000 claims description 34
- 230000009471 action Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 21
- 230000002950 deficient Effects 0.000 description 17
- 230000015654 memory Effects 0.000 description 17
- 238000013500 data storage Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000007670 refining Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013531 bayesian neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
[表1]例示的な違反の説明及びカテゴリ
(付記1) 修復パターンセットを読み出すステップであって、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習される、ステップと、
前記ソフトウェアプログラムの第2違反セットを読み出すステップであって、前記第2違反セットの各々は未確定違反である、ステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択するステップと、
前記修復パターンセットから修復パターンを選択するステップと、
前記修復パターンセットの精緻化のために第1動作セットを実行するステップであって、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含む、ステップと、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得するステップと、
を含む方法。
(付記2) 前記第2違反セットは同じ違反タイプである、付記1に記載の方法。
(付記3) 前記修復パターンセットの各々は、修復例としての、前記ソフトウェアプログラムの中の前記第1違反セット又は前記第2違反セットの対応する違反を修復する1つ以上の編集動作に対応する、付記1に記載の方法。
(付記4) 前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記修復パターンセットに対して前記第1動作セットを繰り返し実行するステップと、
前記読み出した第2違反セットの各々について前記第1動作セットを繰り返し実行する前記ステップに基づき、前記精緻化された修復パターンセットを取得するステップと、
を更に含む付記1に記載の方法。
(付記5) 前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、第2修復例セットを生成するステップ、を更に含み、
前記第1動作セットは、
前記適用した修復パターンに基づき、前記生成された修復結果が前記選択された未確定違反の修復に対応するか否かを決定するステップと、
前記生成された修復結果が前記選択された未確定違反の前記修復に対応するという決定に基づき、前記選択された未確定違反に関連付けられた修復例を生成するステップと、
前記生成された修復例を前記第2修復例セットに追加するステップと、
を更に含む、付記1に記載の方法。
(付記6) 前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記修復パターンセットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む付記5に記載の方法。
(付記7) 前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記第1動作セットを繰り返し実行することにより、前記第2修復例セットを生成するステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記ソフトウェアプログラムの前記読み出した第2違反セットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む付記5に記載の方法。
(付記8) データベースから、第2ソフトウェアプログラムの新たに発見した違反を受信するステップと、
前記受信した新たに発見した違反に前記精緻化された修復パターンセットのうちの1つを適用するステップと、
前記受信した新たに発見した違反への前記精緻化された修復パターンセットのうちの1つの適用に基づき、修復済み第2ソフトウェアプログラムを生成するステップと、
を更に含む付記1に記載の方法。
(付記9) 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、付記1に記載の方法。
(付記10) 命令を格納するよう構成された1つ以上の非一時的コンピュータか独記憶媒体であって、前記命令は、実行されることに応答して、システムに動作を実行させ、前記動作は、
修復パターンセットを読み出すステップであって、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習される、ステップと、
前記ソフトウェアプログラムの第2違反セットを読み出すステップであって、前記第2違反セットの各々は未確定違反である、ステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択するステップと、
前記修復パターンセットから修復パターンを選択するステップと、
前記修復パターンセットの精緻化のために第1動作セットを実行するステップであって、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含む、ステップと、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得するステップと、
を含む、1つ以上のコンピュータ可読記憶媒体。
(付記11) 前記第2違反セットは同じ違反タイプである、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記12) 前記修復パターンセットの各々は、修復例としての、前記ソフトウェアプログラムの中の前記第1違反セット又は前記第2違反セットの対応する違反を修復する1つ以上の編集動作に対応する、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記13) 前記動作は、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記修復パターンセットに対して前記第1動作セットを繰り返し実行するステップと、
前記読み出した第2違反セットの各々について前記第1動作セットを繰り返し実行する前記ステップに基づき、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記14) 前記動作は、
前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、第2修復例セットを生成するステップ、を更に含み、
前記第1動作セットは、
前記適用した修復パターンに基づき、前記生成された修復結果が前記選択された未確定違反の修復に対応するか否かを決定するステップと、
前記生成された修復結果が前記選択された未確定違反の前記修復に対応するという決定に基づき、前記選択された未確定違反に関連付けられた修復例を生成するステップと、
前記生成された修復例を前記第2修復例セットに追加するステップと、
を更に含む、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記15) 前記動作は、
前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記修復パターンセットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、付記14に記載の1つ以上のコンピュータ可読記憶媒体。
(付記16) 前記動作は、前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記第1動作セットを繰り返し実行することにより、前記第2修復例セットを生成するステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記ソフトウェアプログラムの前記読み出した第2違反セットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、付記14に記載の1つ以上のコンピュータ可読記憶媒体。
(付記17) 前記動作は、
データベースから、第2ソフトウェアプログラムの新たに発見した違反を受信するステップと、
前記受信した新たに発見した違反に前記精緻化された修復パターンセットのうちの1つを適用するステップと、
前記受信した新たに発見した違反への前記精緻化された修復パターンセットのうちの1つの適用に基づき、修復済み第2ソフトウェアプログラムを生成するステップと、
を更に含む、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記18) 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、付記10に記載の1つ以上のコンピュータ可読記憶媒体。
(付記19) 電子装置であって、プロセッサを含み、前記プロセッサは、
修復パターンセットを読み出し、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習され、
前記ソフトウェアプログラムの第2違反セットを読み出し、前記第2違反セットの各々は未確定違反であり、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択し、
前記修復パターンセットから修復パターンを選択し、
前記修復パターンセットの精緻化のために第1動作セットを実行し、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含み、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得する、
よう構成される、電子装置。
(付記20) 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、付記19に記載の電子装置。
102 電子装置
104 データベース
106 ユーザエンド装置
108 通信ネットワーク
110 修復パターンセット
112 第1違反セット
114 第1修復例セット
116 第2違反セット
118 ユーザ
Claims (20)
- 修復パターンセットを読み出すステップであって、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習される、ステップと、
前記ソフトウェアプログラムの第2違反セットを読み出すステップであって、前記第2違反セットの各々は未確定違反である、ステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択するステップと、
前記修復パターンセットから修復パターンを選択するステップと、
前記修復パターンセットの精緻化のために第1動作セットを実行するステップであって、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含む、ステップと、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得するステップと、
を含む方法。 - 前記第2違反セットは同じ違反タイプである、請求項1に記載の方法。
- 前記修復パターンセットの各々は、修復例としての、前記ソフトウェアプログラムの中の前記第1違反セット又は前記第2違反セットの対応する違反を修復する1つ以上の編集動作に対応する、請求項1に記載の方法。
- 前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記修復パターンセットに対して前記第1動作セットを繰り返し実行するステップと、
前記読み出した第2違反セットの各々について前記第1動作セットを繰り返し実行する前記ステップに基づき、前記精緻化された修復パターンセットを取得するステップと、
を更に含む請求項1に記載の方法。 - 前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、第2修復例セットを生成するステップ、を更に含み、
前記第1動作セットは、
前記適用した修復パターンに基づき、前記生成された修復結果が前記選択された未確定違反の修復に対応するか否かを決定するステップと、
前記生成された修復結果が前記選択された未確定違反の前記修復に対応するという決定に基づき、前記選択された未確定違反に関連付けられた修復例を生成するステップと、
前記生成された修復例を前記第2修復例セットに追加するステップと、
を更に含む、請求項1に記載の方法。 - 前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記修復パターンセットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む請求項5に記載の方法。 - 前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記第1動作セットを繰り返し実行することにより、前記第2修復例セットを生成するステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記ソフトウェアプログラムの前記読み出した第2違反セットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む請求項5に記載の方法。 - データベースから、第2ソフトウェアプログラムの新たに発見した違反を受信するステップと、
前記受信した新たに発見した違反に前記精緻化された修復パターンセットのうちの1つを適用するステップと、
前記受信した新たに発見した違反への前記精緻化された修復パターンセットのうちの1つの適用に基づき、修復済み第2ソフトウェアプログラムを生成するステップと、
を更に含む請求項1に記載の方法。 - 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、請求項1に記載の方法。
- 命令を格納するよう構成された1つ以上の非一時的コンピュータか独記憶媒体であって、前記命令は、実行されることに応答して、システムに動作を実行させ、前記動作は、
修復パターンセットを読み出すステップであって、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習される、ステップと、
前記ソフトウェアプログラムの第2違反セットを読み出すステップであって、前記第2違反セットの各々は未確定違反である、ステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択するステップと、
前記修復パターンセットから修復パターンを選択するステップと、
前記修復パターンセットの精緻化のために第1動作セットを実行するステップであって、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含む、ステップと、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得するステップと、
を含む、1つ以上のコンピュータ可読記憶媒体。 - 前記第2違反セットは同じ違反タイプである、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。
- 前記修復パターンセットの各々は、修復例としての、前記ソフトウェアプログラムの中の前記第1違反セット又は前記第2違反セットの対応する違反を修復する1つ以上の編集動作に対応する、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。
- 前記動作は、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記修復パターンセットに対して前記第1動作セットを繰り返し実行するステップと、
前記読み出した第2違反セットの各々について前記第1動作セットを繰り返し実行する前記ステップに基づき、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。 - 前記動作は、
前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、第2修復例セットを生成するステップ、を更に含み、
前記第1動作セットは、
前記適用した修復パターンに基づき、前記生成された修復結果が前記選択された未確定違反の修復に対応するか否かを決定するステップと、
前記生成された修復結果が前記選択された未確定違反の前記修復に対応するという決定に基づき、前記選択された未確定違反に関連付けられた修復例を生成するステップと、
前記生成された修復例を前記第2修復例セットに追加するステップと、
を更に含む、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。 - 前記動作は、
前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記修復パターンセットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、請求項14に記載の1つ以上のコンピュータ可読記憶媒体。 - 前記動作は、前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記第1動作セットを繰り返し実行することにより、前記第2修復例セットを生成するステップと、
前記ソフトウェアプログラムの前記読み出した第2違反セットの各々について、前記生成された第2修復例セットから少なくとも1つの修復例を選択するためのユーザ入力を受信するステップと、
前記選択された少なくとも1つの修復例を修復パターンとして前記ソフトウェアプログラムの前記読み出した第2違反セットに追加することにより、前記精緻化された修復パターンセットを取得するステップと、
を更に含む、請求項14に記載の1つ以上のコンピュータ可読記憶媒体。 - 前記動作は、
データベースから、第2ソフトウェアプログラムの新たに発見した違反を受信するステップと、
前記受信した新たに発見した違反に前記精緻化された修復パターンセットのうちの1つを適用するステップと、
前記受信した新たに発見した違反への前記精緻化された修復パターンセットのうちの1つの適用に基づき、修復済み第2ソフトウェアプログラムを生成するステップと、
を更に含む、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。 - 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、請求項10に記載の1つ以上のコンピュータ可読記憶媒体。
- 電子装置であって、プロセッサを含み、前記プロセッサは、
修復パターンセットを読み出し、前記修復パターンセットの各々は、ソフトウェアプログラムの第1違反セットに関連付けられた第1修復例セットに基づき学習され、
前記ソフトウェアプログラムの第2違反セットを読み出し、前記第2違反セットの各々は未確定違反であり、
前記ソフトウェアプログラムの前記読み出した第2違反セットから、第1ソフトウェアプログラムの未確定違反を選択し、
前記修復パターンセットから修復パターンを選択し、
前記修復パターンセットの精緻化のために第1動作セットを実行し、前記第1動作セットは、
前記選択された未確定違反に前記選択された修復パターンを適用して、修復結果を生成するステップと、
前記生成された修復結果が違反に対応するか否かを決定するステップと、
前記生成された修復結果が前記違反に対応するという結果に基づき、前記修復パターンセットから前記適用した修復パターンを削除するステップと、
前記修復パターンセットの中の次の修復パターンを前記選択された修復パターンとして再選択するステップと、を含み、
前記選択された修復パターンに基づき、前記修復パターンセットについて前記第1動作セットを繰り返し実行することにより、精緻化された修復パターンセットを取得する、
よう構成される、電子装置。 - 前記ソフトウェアプログラムの前記第2違反セットはデータベースから読み出される、請求項19に記載の電子装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/447,535 US10782941B1 (en) | 2019-06-20 | 2019-06-20 | Refinement of repair patterns for static analysis violations in software programs |
US16/447535 | 2019-06-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021002326A JP2021002326A (ja) | 2021-01-07 |
JP7409197B2 true JP7409197B2 (ja) | 2024-01-09 |
Family
ID=72516936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020058005A Active JP7409197B2 (ja) | 2019-06-20 | 2020-03-27 | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10782941B1 (ja) |
JP (1) | JP7409197B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11243746B2 (en) | 2019-07-01 | 2022-02-08 | X Development Llc | Learning and using programming styles |
CN114328168A (zh) * | 2020-10-09 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 异常检测方法、装置、计算机设备和存储介质 |
CN112800704B (zh) * | 2021-04-06 | 2021-06-25 | 深圳英集芯科技股份有限公司 | 基于功能buffer的芯片后端改版方法、装置及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236042A (ja) | 2005-02-25 | 2006-09-07 | Matsushita Electric Ind Co Ltd | ソースプログラム解析装置およびその方法 |
JP2008250914A (ja) | 2007-03-30 | 2008-10-16 | Canon Software Inc | プログラム修正装置及び方法、並びにプログラム |
JP2017151977A (ja) | 2016-02-23 | 2017-08-31 | 富士通株式会社 | ソフトウエアプログラムの修復のための方法及びプログラム |
JP2017519300A5 (ja) | 2015-06-10 | 2018-06-28 | ||
JP2018133081A (ja) | 2017-02-17 | 2018-08-23 | 富士通株式会社 | ソフトウェアプログラム修復のためのメソッド呼び出し合成 |
JP2019029015A (ja) | 2017-08-03 | 2019-02-21 | 富士通株式会社 | インタラクティブなソフトウェアプログラムの修復 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468497B2 (en) * | 2007-11-27 | 2013-06-18 | International Business Machines Corporation | Automated defect classification |
US8527955B2 (en) * | 2009-09-11 | 2013-09-03 | International Business Machines Corporation | System and method to classify automated code inspection services defect output for defect analysis |
US8924935B1 (en) * | 2012-09-14 | 2014-12-30 | Emc Corporation | Predictive model of automated fix handling |
WO2015191737A1 (en) | 2014-06-13 | 2015-12-17 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for software analysis |
US9513948B2 (en) * | 2015-02-05 | 2016-12-06 | International Business Machines Corporation | Automated virtual machine provisioning based on defect state |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US10521224B2 (en) * | 2018-02-28 | 2019-12-31 | Fujitsu Limited | Automatic identification of relevant software projects for cross project learning |
-
2019
- 2019-06-20 US US16/447,535 patent/US10782941B1/en active Active
-
2020
- 2020-03-27 JP JP2020058005A patent/JP7409197B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236042A (ja) | 2005-02-25 | 2006-09-07 | Matsushita Electric Ind Co Ltd | ソースプログラム解析装置およびその方法 |
JP2008250914A (ja) | 2007-03-30 | 2008-10-16 | Canon Software Inc | プログラム修正装置及び方法、並びにプログラム |
JP2017519300A5 (ja) | 2015-06-10 | 2018-06-28 | ||
JP2017151977A (ja) | 2016-02-23 | 2017-08-31 | 富士通株式会社 | ソフトウエアプログラムの修復のための方法及びプログラム |
JP2018133081A (ja) | 2017-02-17 | 2018-08-23 | 富士通株式会社 | ソフトウェアプログラム修復のためのメソッド呼び出し合成 |
JP2019029015A (ja) | 2017-08-03 | 2019-02-21 | 富士通株式会社 | インタラクティブなソフトウェアプログラムの修復 |
Also Published As
Publication number | Publication date |
---|---|
US10782941B1 (en) | 2020-09-22 |
JP2021002326A (ja) | 2021-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
JP7409197B2 (ja) | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 | |
JP6686529B2 (ja) | 脆弱性分析のための自律型推論システム | |
US9158538B2 (en) | User-extensible rule-based source code modification | |
US8387017B2 (en) | Black box testing optimization using information from white box testing | |
US10248537B2 (en) | Translation bug prediction classifier | |
US20210216288A1 (en) | Api-based software development platform | |
US20130125098A1 (en) | Transformation of Computer Programs | |
US9645800B2 (en) | System and method for facilitating static analysis of software applications | |
US9329979B2 (en) | Derivation of generalized test cases | |
JP2018505506A (ja) | 機械ベースの命令編集 | |
WO2020076726A1 (en) | Zero coding automation with natural language processing, such as for use in testing telecommunications software and resources | |
US20180129490A1 (en) | Object ordering preservation during lto link stage | |
US11349908B2 (en) | Generating templates for deployment of system services | |
WO2021086704A1 (en) | Rules generation using learned repetitive code edits | |
JP2023152843A (ja) | コード説明可能性のためのコードの強化 | |
US20210303272A1 (en) | Learning string edit actions from repair examples of software programs | |
US11861332B2 (en) | String localization for universal use | |
US20220318005A1 (en) | Generation of software program repair explanations | |
CN111796832B (zh) | 热补丁文件生成方法、装置、设备及存储介质 | |
EP3872663B1 (en) | Method and device for symbolic analysis of a software program | |
KR102117165B1 (ko) | 바이너리 분석을 위한 중간 언어 테스트 방법 및 장치 | |
CN114077447A (zh) | 静态分析违规的修复策略的自动改善和半自动改善 | |
US20230075295A1 (en) | Automatic denoising of machine learning projects | |
US10997056B1 (en) | Generation of explanatory and executable repair examples |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221208 |
|
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: 20231121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7409197 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |