JP2021002326A - ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 - Google Patents
ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 Download PDFInfo
- Publication number
- JP2021002326A JP2021002326A JP2020058005A JP2020058005A JP2021002326A JP 2021002326 A JP2021002326 A JP 2021002326A JP 2020058005 A JP2020058005 A JP 2020058005A JP 2020058005 A JP2020058005 A JP 2020058005A JP 2021002326 A JP2021002326 A JP 2021002326A
- Authority
- JP
- Japan
- Prior art keywords
- repair
- violation
- repair pattern
- pattern
- software program
- 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
- 230000008439 repair process Effects 0.000 title claims abstract description 590
- 230000003068 static effect Effects 0.000 title abstract description 28
- 238000004458 analytical method Methods 0.000 title abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000007670 refining Methods 0.000 claims abstract description 15
- 230000009471 action Effects 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 22
- 230000015654 memory Effects 0.000 description 17
- 230000002950 deficient Effects 0.000 description 15
- 238000013500 data storage Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000007547 defect Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000002730 additional effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 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
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013531 bayesian neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function 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
- 238000012545 processing Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000013522 software testing 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)
Abstract
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/447535 | 2019-06-20 | ||
US16/447,535 US10782941B1 (en) | 2019-06-20 | 2019-06-20 | Refinement of repair patterns for static analysis violations in software programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021002326A true JP2021002326A (ja) | 2021-01-07 |
JP7409197B2 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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11243746B2 (en) | 2019-07-01 | 2022-02-08 | X Development Llc | Learning and using programming styles |
CN112800704B (zh) * | 2021-04-06 | 2021-06-25 | 深圳英集芯科技股份有限公司 | 基于功能buffer的芯片后端改版方法、装置及计算机设备 |
Family Cites Families (12)
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 | プログラム修正装置及び方法、並びにプログラム |
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 |
WO2015191746A1 (en) | 2014-06-13 | 2015-12-17 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for a database of software artifacts |
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 |
US10133657B2 (en) | 2016-02-23 | 2018-11-20 | Fujitsu Limited | Textual similarity based software program repair |
US10496519B2 (en) | 2017-02-17 | 2019-12-03 | Fujitsu Limited | Method invocation synthesis for software program repair |
US10268572B2 (en) | 2017-08-03 | 2019-04-23 | Fujitsu Limited | Interactive software program repair |
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
Also Published As
Publication number | Publication date |
---|---|
JP7409197B2 (ja) | 2024-01-09 |
US10782941B1 (en) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3032425B1 (en) | Integrated automated test case generation for safety-critical software | |
US11200033B2 (en) | Application programming interface (API) based object oriented software development and textual analysis | |
US8387017B2 (en) | Black box testing optimization using information from white box testing | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
US10248537B2 (en) | Translation bug prediction classifier | |
EP3234851B1 (en) | A system and method for facilitating static analysis of software applications | |
CN112154420A (zh) | 自动智能云服务测试工具 | |
US9329979B2 (en) | Derivation of generalized test cases | |
US11726903B2 (en) | Zero coding automation with natural language processing, such as for use in testing telecommunications software and resources | |
JP7409197B2 (ja) | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 | |
CN110929883A (zh) | 一种在TensorFlow中支持FPGA训练的方法和装置 | |
US11663113B2 (en) | Real time fault localization using combinatorial test design techniques and test case priority selection | |
CN113127357B (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
US11349908B2 (en) | Generating templates for deployment of system services | |
US20210303272A1 (en) | Learning string edit actions from repair examples of software programs | |
CN115951916A (zh) | 一种组件的处理方法、装置、电子设备及存储介质 | |
US9996799B2 (en) | Migrating a legacy system by inferring context-sensitive business rules from legacy source code | |
KR102201845B1 (ko) | 멀티 태스크 기반 소프트웨어의 자동화 단위 테스트 방법 및 그를 위한 시스템 | |
CN114077447A (zh) | 静态分析违规的修复策略的自动改善和半自动改善 | |
US20230075295A1 (en) | Automatic denoising of machine learning projects | |
JP2018121245A (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム | |
US10997056B1 (en) | Generation of explanatory and executable repair examples | |
CN116107552A (zh) | 一种表达式语法分析方法、系统、存储介质、电子设备 | |
CN115951870A (zh) | 一种镜像文件编译方法、系统、设备及介质 | |
US20140067359A1 (en) | Automated iterative error simulation |
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 |