JP7070195B2 - インタラクティブなソフトウェアプログラムの修復 - Google Patents
インタラクティブなソフトウェアプログラムの修復 Download PDFInfo
- Publication number
- JP7070195B2 JP7070195B2 JP2018138230A JP2018138230A JP7070195B2 JP 7070195 B2 JP7070195 B2 JP 7070195B2 JP 2018138230 A JP2018138230 A JP 2018138230A JP 2018138230 A JP2018138230 A JP 2018138230A JP 7070195 B2 JP7070195 B2 JP 7070195B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- repair
- augmented
- human
- suite
- 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
Classifications
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
int median(int n1,int n2,int n3){
//n1が中間値である
if(n2<=n1 && n1<=n3)
return n1;
//n2が中間値である
if((n1<n2 && n2<=n3)||(n3<=n2 && n2<n1))
return n2;
//上記以外で、n3が中間値である
return n3;
}
上記の欠陥のあるソフトウェアプログラムは、3つの整数の中間値を返す関数を含み、欠陥(例えば、欠陥は、if(n2<=n1 && n1<=n3) return n1の記述である。)を含む。欠陥及び対応する欠陥位置(例えば、上記の欠陥位置)は、以下のテストスイートを用いて特定され得る:
void test1(){
//テスト3つの異なる数
assert(median(2,6,8)==6);
}
void test2(){
//テスト3つの異なる数
assert(median(9,9,9)==9);
}
void test3(){
//テスト3つの異なる値
assert(median(8,8,2)==8);
}
例えば、上記のテストスイートを適用すると、関数は、テスト“median(8,8,2)”に応答して値“8”の代わりに値“2”を返し、アサーション“assert(median(8,8,2)==8)”に落第する。
replace
if((n1<n2 && n2<=n3)||(n3<=n2 && n2<n1))
return n2;
with
if((n1<n2 && n2<=n3)||(n1==n2))
return n2; [1]
修復モジュールは、可能な修復[1]を含む関数をテストスイートに対してテストしてよい。可能な修復[1]を含む関数は、テストスイートの中の3つのテストを通過する。可能な修復[1]を適切な修復として受け入れることよりむしろ、修復モジュールは、可能な修復[1]を更にテストするように追加のテストを生成しようと試みてよい。
void test1(){
//テスト3つの異なる数
assert(median(2,6,8)==6);
}
void test2(){
//テスト3つの異なる数
assert(median(9,9,9)==9);
}
void test3(){
//テスト3つの異なる値
assert(median(8,8,2)==8);
}
void test4(){
//test1の引数が置換されたテスト
assert(median(8,6,2)==6);
}
replace
if(n2<=n1 && n1<=n3)
return n1
with
if((n2<=n1 && n1<=n3)||(n1==n2))
return n1; [2]
修復モジュールは、可能な修復[2]を含む関数を、第1の人間が提供したテストオラクルを伴った第1の拡張されたテストを含む増補されたテストスイートに対してテストしてよい。可能な修復[2]を含む関数は、増補されたテストスイートの中の4つのテストを通過する。可能な修復[2]を適切な修復として受け入れることよりむしろ、修復モジュールは、可能な修復[2]を更にテストするように他の追加のテストを生成しようと試みてよい。
void test1(){
//テスト3つの異なる数
assert(median(2,6,8)==6);
}
void test2(){
//テスト3つの異なる数
assert(median(9,9,9)==9);
}
void test3(){
//テスト3つの異なる値
assert(median(8,8,2)==8);
}
void test4(){
//test1の引数が置換されたテスト
assert(median(8,6,2)==6);
}
void test5(){
//test1の引数が置換されたテスト
assert(median(6,8,2)==6);
}
修復モジュールは、次いで、可能な修復[2]を含む関数を、増補されたテストスイート(例えば、前から存在する4つのテストに加えて第5のテストを含む。)に対してテストしてよい。増補されたテストスイートに対してテストされると、関数(例えば、可能な修復[2])は、第2の追加のテスト(median(6,8,2))に応答して値“6”の代わりに値“2”を返し、第2の人間が提供したテストオラクル“assert(median(6,8,2)==6)”に落第する。関数が増補されたテストスイートに落第した結果として、修復モジュールは、可能な修復[2]を不適切な修復として捨ててよい。
replace
if(n2<=n1 && n1<=n3)
return n1
with
if((n2<=n1 && n1<=n3)||(n3<=n1 && n1<=n2))
return n1; [3]
修復モジュールは、可能な修復[3]を含む関数を、第2の人間が提供したテストオラクルを伴った第2の追加のテスト(例えば、第5のテスト)を含む増補されたテストスイートに対してテストしてよい。可能な修復[3]を含む関数は、増補されたテストスイートの中の5つのテストを通過する。修復モジュールは、次いで、可能な修復[3]を含む関数を更にテストするために追加のテストが必要とされないと決定してよい。例えば、修復モジュールは、増補されたテストスイートが十分にロバストであると決定してよい。然るに、修復モジュールは、可能な修復[3]を欠陥位置での適切な修復(パッチ)として受け入れてよい。
(付記1)
人間が生み出した1つ以上のテストオラクルを用いてソフトウェアプログラムをインタラクティブに修復する方法であって、
ソフトウェアプログラム内の欠陥箇所を特定し、
修復候補に基づき、前記欠陥箇所で、可能な修復を生成し、
前記可能な修復をテストするよう第1テストを自動生成し、
前記第1テストに基づき、第1テストオラクルのための第1クエリを生成し、
前記第1クエリに対する応答を人間から取得し、
前記第1クエリ及び該第1クエリに対する前記取得された応答に基づき、人間が提供した第1テストオラクルを生成し、
拡張された第1テストを生成するよう、前記人間が提供した第1テストオラクルを前記第1テストに加え、
前記拡張された第1テストを含むようテストスイートを増補し、
前記増補されたテストスイートを用いて、前記可能な修復をテストする
ことを有する方法。
(付記2)
前記拡張された第1テストを含む前記増補されたテストスイートを前記可能な修復が通過することに応答して、前記可能な修復を適切な修復として受け入れる
ことを更に有する、付記1に記載の方法。
(付記3)
前記拡張された第1テストを含む前記増補されたテストスイートを前記可能な修復が通過しないことに応答して、前記可能な修復を不適切な修復として拒絶する
ことを更に有する、付記1に記載の方法。
(付記4)
前記可能な修復が前記増補されたテストスイートを通過することに応答して、
前記可能な修復をテストするよう第2テストを自動生成し、
前記第2テストに基づき、第2テストオラクルのための第2クエリを生成し、
前記第2クエリに対する応答を人間から取得し、
前記第2クエリ及び該第2クエリに対する前記取得された応答に基づき、人間が提供した第2テストオラクルを生成し、
拡張された第2テストを生成するよう、前記人間が提供した第2テストオラクルを前記第2テストに加え、
前記拡張された第2テストを含むよう、前記増補されたテストスイートを増補する
ことを更に有する、付記1に記載の方法。
(付記5)
前記拡張された第2テストを含む前記増補されたテストスイートを用いて、前記可能な修復をテストする
ことを更に有する、付記4に記載の方法。
(付記6)
前記拡張された第2テストを含む前記増補されたテストスイートを前記可能な修復が通過することに応答して、前記可能な修復を適切な修復として受け入れる
ことを更に有する、付記5に記載の方法。
(付記7)
前記拡張された第2テストを含む前記増補されたテストスイートを前記可能な修復が通過しないことに応答して、前記可能な修復を不適切な修復として拒絶する
ことを更に有する、付記5に記載の方法。
(付記8)
前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストする
ことを更に有する、付記1に記載の方法。
(付記9)
人間が生み出したテストオラクルに基づきソフトウェアプログラムに対する修復をインタラクティブに生成する方法であって、
ソフトウェアプログラム内の欠陥箇所で、第1修復候補に基づく第1の可能な修復をテストするよう、テストを自動生成し、
前記テストに基づき、テストオラクルのためのクエリを生成し、
前記クエリに対する応答を人間から取得し、
前記クエリ及び該クエリに対する前記取得された応答に基づき、人間が提供したテストオラクルを生成し、
拡張されたテストを生成するよう、前記人間が提供したテストオラクルを前記テストに加え、
前記拡張されたテストを含むようテストスイートを増補し、
前記拡張されたテストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストする
ことを有する方法。
(付記10)
前記拡張されたテストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、前記第1の可能な修復を第1の適切な修復として受け入れる
ことを更に有する、付記9に記載の方法。
(付記11)
前記ソフトウェアプログラム内の前記欠陥箇所で、第2修復候補に基づく第2の可能な修復を生成し、
前記拡張されたテストを含む前記増補されたテストスイートを用いて、前記第2の可能な修復をテストし、
前記拡張されたテストを含む前記増補されたテストスイートを前記第2の可能な修復が通過することに応答して、前記第2の可能な修復を第2の適切な修復として受け入れる
ことを更に有する、付記10に記載の方法。
(付記12)
前記拡張されたテストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストする
ことを更に有する、付記9に記載の方法。
(付記13)
人間が生み出した1つ以上のテストオラクルを用いてソフトウェアプログラムをインタラクティブに修復するよう構成されるシステムであって、
命令を記憶するよう構成される1つ以上のコンピュータ可読記憶媒体と、
前記命令を実行するよう構成される1つ以上のプロセッサと
を有し、
前記命令の実行は、当該システムに、
ソフトウェアプログラム内の欠陥箇所を特定し、
第1修復候補に基づき、前記欠陥箇所で、第1の可能な修復を生成し、
前記第1の可能な修復をテストするよう第1テストを生成し、
前記第1テストに基づき、第1テストオラクルのための第1クエリを生成し、
前記第1クエリに対する応答を人間から取得し、
前記第1クエリ及び該第1クエリに対する前記取得された応答に基づき、人間が提供した第1テストオラクルを生成し、
拡張された第1テストを生成するよう、前記人間が提供した第1テストオラクルを前記第1テストに加え、
前記拡張された第1テストを含むようテストスイートを増補し、
前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストする
ことを含む動作を実行させる、システム。
(付記14)
前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、前記第1の可能な修復を第1の適切な修復として受け入れることを更に含む、
付記13に記載のシステム。
(付記15)
前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過しないことに応答して、前記第1の可能な修復を不適切な修復として拒絶することを更に含む、
付記13に記載のシステム。
(付記16)
前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、
前記第1の可能な修復をテストするよう第2テストを生成し、
前記第2テストに基づき、第2テストオラクルのための第2クエリを生成し、
前記第2クエリに対する応答を人間から取得し、
前記第2クエリ及び該第2クエリに対する前記取得された応答に基づき、人間が提供した第2テストオラクルを生成し、
拡張された第2テストを生成するよう、前記人間が提供した第2テストオラクルを前記第2テストに加え、
前記拡張された第2テストを含むよう、前記増補されたテストスイートを増補する
ことを更に含む、
付記13に記載のシステム。
(付記17)
前記動作は、前記拡張された第2テストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストすることを更に含む、
付記16に記載のシステム。
(付記18)
前記動作は、
第2修復候補に基づき、前記欠陥箇所で、第2の可能な修復を生成し、
前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前記第2の可能な修復をテストする
ことを更に含む、
付記13に記載のシステム。
(付記19)
前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第2の可能な修復が通過することに応答して、前記第2の可能な修復を第2の適切な修復として受け入れることを更に含む、
付記18に記載のシステム。
(付記20)
前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストすることを更に含む、
付記13に記載のシステム。
102 人間
114 被試験コード(code under test)
106 修復モジュール
108 増補されたテストスイート
110 パッチ
112 テストスイート
202 コンピュータシステム
250 プロセッサ
252 メモリ
254 データストレージ
Claims (20)
- 人間が生み出した1つ以上のテストオラクルを用いてソフトウェアプログラムをインタラクティブに修復する方法であって、
ソフトウェアプログラム内の欠陥箇所を特定し、
修復候補に基づき、前記欠陥箇所で、可能な修復を生成し、
前記可能な修復をテストするよう第1テストを自動生成し、
前記第1テストに基づき、第1テストオラクルのための第1クエリを生成し、
前記第1クエリに対する応答を人間から取得し、
前記第1クエリ及び該第1クエリに対する前記取得された応答に基づき、人間が提供した第1テストオラクルを生成し、
拡張された第1テストを生成するよう、前記人間が提供した第1テストオラクルを前記第1テストに加え、
前記拡張された第1テストを含むようテストスイートを増補し、
前記増補されたテストスイートを用いて、前記可能な修復をテストする
ことを有する方法。 - 前記拡張された第1テストを含む前記増補されたテストスイートを前記可能な修復が通過することに応答して、前記可能な修復を適切な修復として受け入れる
ことを更に有する、請求項1に記載の方法。 - 前記拡張された第1テストを含む前記増補されたテストスイートを前記可能な修復が通過しないことに応答して、前記可能な修復を不適切な修復として拒絶する
ことを更に有する、請求項1に記載の方法。 - 前記可能な修復が前記増補されたテストスイートを通過することに応答して、
前記可能な修復をテストするよう第2テストを自動生成し、
前記第2テストに基づき、第2テストオラクルのための第2クエリを生成し、
前記第2クエリに対する応答を人間から取得し、
前記第2クエリ及び該第2クエリに対する前記取得された応答に基づき、人間が提供した第2テストオラクルを生成し、
拡張された第2テストを生成するよう、前記人間が提供した第2テストオラクルを前記第2テストに加え、
前記拡張された第2テストを含むよう、前記増補されたテストスイートを増補する
ことを更に有する、請求項1に記載の方法。 - 前記拡張された第2テストを含む前記増補されたテストスイートを用いて、前記可能な修復をテストする
ことを更に有する、請求項4に記載の方法。 - 前記拡張された第2テストを含む前記増補されたテストスイートを前記可能な修復が通過することに応答して、前記可能な修復を適切な修復として受け入れる
ことを更に有する、請求項5に記載の方法。 - 前記拡張された第2テストを含む前記増補されたテストスイートを前記可能な修復が通過しないことに応答して、前記可能な修復を不適切な修復として拒絶する
ことを更に有する、請求項5に記載の方法。 - 前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストする
ことを更に有する、請求項1に記載の方法。 - 人間が生み出したテストオラクルに基づきソフトウェアプログラムに対する修復をインタラクティブに生成する方法であって、
ソフトウェアプログラム内の欠陥箇所で、第1修復候補に基づく第1の可能な修復をテストするよう、テストを自動生成し、
前記テストに基づき、テストオラクルのためのクエリを生成し、
前記クエリに対する応答を人間から取得し、
前記クエリ及び該クエリに対する前記取得された応答に基づき、人間が提供したテストオラクルを生成し、
拡張されたテストを生成するよう、前記人間が提供したテストオラクルを前記テストに加え、
前記拡張されたテストを含むようテストスイートを増補し、
前記拡張されたテストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストする
ことを有する方法。 - 前記拡張されたテストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、前記第1の可能な修復を第1の適切な修復として受け入れる
ことを更に有する、請求項9に記載の方法。 - 前記ソフトウェアプログラム内の前記欠陥箇所で、第2修復候補に基づく第2の可能な修復を生成し、
前記拡張されたテストを含む前記増補されたテストスイートを用いて、前記第2の可能な修復をテストし、
前記拡張されたテストを含む前記増補されたテストスイートを前記第2の可能な修復が通過することに応答して、前記第2の可能な修復を第2の適切な修復として受け入れる
ことを更に有する、請求項10に記載の方法。 - 前記拡張されたテストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストする
ことを更に有する、請求項9に記載の方法。 - 人間が生み出した1つ以上のテストオラクルを用いてソフトウェアプログラムをインタラクティブに修復するよう構成されるシステムであって、
命令を記憶するよう構成される1つ以上のコンピュータ可読記憶媒体と、
前記命令を実行するよう構成される1つ以上のプロセッサと
を有し、
前記命令の実行は、当該システムに、
ソフトウェアプログラム内の欠陥箇所を特定し、
第1修復候補に基づき、前記欠陥箇所で、第1の可能な修復を生成し、
前記第1の可能な修復をテストするよう第1テストを生成し、
前記第1テストに基づき、第1テストオラクルのための第1クエリを生成し、
前記第1クエリに対する応答を人間から取得し、
前記第1クエリ及び該第1クエリに対する前記取得された応答に基づき、人間が提供した第1テストオラクルを生成し、
拡張された第1テストを生成するよう、前記人間が提供した第1テストオラクルを前記第1テストに加え、
前記拡張された第1テストを含むようテストスイートを増補し、
前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストする
ことを含む動作を実行させる、システム。 - 前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、前記第1の可能な修復を第1の適切な修復として受け入れることを更に含む、
請求項13に記載のシステム。 - 前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過しないことに応答して、前記第1の可能な修復を不適切な修復として拒絶することを更に含む、
請求項13に記載のシステム。 - 前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第1の可能な修復が通過することに応答して、
前記第1の可能な修復をテストするよう第2テストを生成し、
前記第2テストに基づき、第2テストオラクルのための第2クエリを生成し、
前記第2クエリに対する応答を人間から取得し、
前記第2クエリ及び該第2クエリに対する前記取得された応答に基づき、人間が提供した第2テストオラクルを生成し、
拡張された第2テストを生成するよう、前記人間が提供した第2テストオラクルを前記第2テストに加え、
前記拡張された第2テストを含むよう、前記増補されたテストスイートを増補する
ことを更に含む、
請求項13に記載のシステム。 - 前記動作は、前記拡張された第2テストを含む前記増補されたテストスイートを用いて、前記第1の可能な修復をテストすることを更に含む、
請求項16に記載のシステム。 - 前記動作は、
第2修復候補に基づき、前記欠陥箇所で、第2の可能な修復を生成し、
前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前記第2の可能な修復をテストする
ことを更に含む、
請求項13に記載のシステム。 - 前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを前記第2の可能な修復が通過することに応答して、前記第2の可能な修復を第2の適切な修復として受け入れることを更に含む、
請求項18に記載のシステム。 - 前記動作は、前記拡張された第1テストを含む前記増補されたテストスイートを用いて、前に受け入れられた可能な修復をテストすることを更に含む、
請求項13に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/668,065 US10268572B2 (en) | 2017-08-03 | 2017-08-03 | Interactive software program repair |
US15/668065 | 2017-08-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019029015A JP2019029015A (ja) | 2019-02-21 |
JP7070195B2 true JP7070195B2 (ja) | 2022-05-18 |
Family
ID=65229560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018138230A Active JP7070195B2 (ja) | 2017-08-03 | 2018-07-24 | インタラクティブなソフトウェアプログラムの修復 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10268572B2 (ja) |
JP (1) | JP7070195B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761961B2 (en) * | 2018-12-21 | 2020-09-01 | Fujitsu Limited | Identification of software program fault locations |
US10782941B1 (en) | 2019-06-20 | 2020-09-22 | Fujitsu Limited | Refinement of repair patterns for static analysis violations in software programs |
US11748086B2 (en) * | 2021-01-22 | 2023-09-05 | Dell Products L.P. | Automated software upgrade download control based on device issue analysis |
CN113590477B (zh) * | 2021-07-16 | 2023-06-09 | 四川大学 | 一种移动应用功能测试用例生成方法 |
KR102619048B1 (ko) * | 2023-05-12 | 2023-12-27 | 쿠팡 주식회사 | 오류 처리 방법 및 그 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250914A (ja) | 2007-03-30 | 2008-10-16 | Canon Software Inc | プログラム修正装置及び方法、並びにプログラム |
JP2017045446A (ja) | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
JP2017102912A (ja) | 2015-12-02 | 2017-06-08 | 富士通株式会社 | 機械学習ベースのソフトウェアプログラム修復 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1115693A (ja) * | 1997-05-01 | 1999-01-22 | Nippon Steel Corp | ソフトウェアのテスト装置および記録媒体 |
US6173440B1 (en) * | 1998-05-27 | 2001-01-09 | Mcdonnell Douglas Corporation | Method and apparatus for debugging, verifying and validating computer software |
US6907546B1 (en) * | 2000-03-27 | 2005-06-14 | Accenture Llp | Language-driven interface for an automated testing framework |
US6574764B2 (en) * | 2001-04-25 | 2003-06-03 | Agilent Technologies, Inc. | Algorithmically programmable memory tester with history FIFO's that aid in error analysis and recovery |
US7121639B2 (en) * | 2002-12-02 | 2006-10-17 | Silverbrook Research Pty Ltd | Data rate equalisation to account for relatively different printhead widths |
US7386434B1 (en) * | 2004-02-20 | 2008-06-10 | Unisys Corporation | Method and apparatus for creating integrated circuit simulator test source files |
US20060010426A1 (en) * | 2004-07-09 | 2006-01-12 | Smartware Technologies, Inc. | System and method for generating optimized test cases using constraints based upon system requirements |
US7599688B2 (en) * | 2005-11-29 | 2009-10-06 | Alcatel-Lucent Usa Inc. | Methods and apparatus for passive mid-stream monitoring of real-time properties |
US20090292941A1 (en) * | 2008-05-22 | 2009-11-26 | Nec Laboratories America, Inc. | Proof-guided error diagnosis (ped) by triangulation of program error causes |
US8195983B2 (en) * | 2008-10-22 | 2012-06-05 | International Business Machines Corporation | Method and system for evaluating software quality |
US9043761B2 (en) * | 2010-09-01 | 2015-05-26 | International Business Machines Corporation | Fault localization using condition modeling and return value modeling |
US8645761B2 (en) * | 2011-01-13 | 2014-02-04 | International Business Machines Corporation | Precise fault localization |
IN2013MU01495A (ja) * | 2013-04-22 | 2015-04-17 | Tata Consultancy Services Ltd | |
WO2015135043A1 (en) * | 2014-03-13 | 2015-09-17 | Bugwolf Pty Ltd | Evaluation system and method |
US20160321594A1 (en) * | 2015-04-30 | 2016-11-03 | Optimal Plus Ltd. | Correlation between manufacturing segment and end- user device performance |
US10133657B2 (en) * | 2016-02-23 | 2018-11-20 | Fujitsu Limited | Textual similarity based software program repair |
US10180897B2 (en) * | 2016-09-26 | 2019-01-15 | Fujitsu Limited | Automated software program repair |
-
2017
- 2017-08-03 US US15/668,065 patent/US10268572B2/en active Active
-
2018
- 2018-07-24 JP JP2018138230A patent/JP7070195B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250914A (ja) | 2007-03-30 | 2008-10-16 | Canon Software Inc | プログラム修正装置及び方法、並びにプログラム |
JP2017045446A (ja) | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
JP2017102912A (ja) | 2015-12-02 | 2017-06-08 | 富士通株式会社 | 機械学習ベースのソフトウェアプログラム修復 |
Also Published As
Publication number | Publication date |
---|---|
US20190042398A1 (en) | 2019-02-07 |
US10268572B2 (en) | 2019-04-23 |
JP2019029015A (ja) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7070195B2 (ja) | インタラクティブなソフトウェアプログラムの修復 | |
JP4266226B2 (ja) | 選択的に有効にされるチェッカーを用いた設計検証システムおよび方法 | |
US8589892B2 (en) | Verification of speculative execution | |
US8621441B2 (en) | System and method for software immunization based on static and dynamic analysis | |
JP7172435B2 (ja) | 抽象コードグラフを用いたソフトウェアの表現 | |
US10296447B2 (en) | Automated software program repair | |
US10152406B2 (en) | Software program repair | |
US9208451B2 (en) | Automatic identification of information useful for generation-based functional verification | |
JP6520074B2 (ja) | テストダブルの生成 | |
JP7110789B2 (ja) | 自動化されたソフトウェアプログラム修復候補の選択 | |
US10049031B2 (en) | Correlation of violating change sets in regression testing of computer software | |
US20150143179A1 (en) | System and Method for Progressive Fault Injection Testing | |
JP2017151977A (ja) | ソフトウエアプログラムの修復のための方法及びプログラム | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
US20200065226A1 (en) | Automated software program repair of similar code snippets | |
JP6891703B2 (ja) | 自動ソフトウェアプログラム修復 | |
JP2020102209A (ja) | ソフトウェアプログラム不良位置の識別 | |
JP2020144842A (ja) | コンピュータ可読プログラム検査のための入力の生成 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
WO2017015955A1 (en) | Application testing | |
JP7384054B2 (ja) | 自動化されたソフトウェアプログラム修復 | |
US10761962B1 (en) | Automated software program repair | |
US20140281719A1 (en) | Explaining excluding a test from a test suite | |
JP2020126603A (ja) | 自動候補修正パッチ生成 | |
KR100777103B1 (ko) | 테스트 드라이버 생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210408 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220323 |
|
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: 20220405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7070195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |