JP6627658B2 - ソフトウェアプログラムを修復する方法、記憶媒体及びシステム - Google Patents
ソフトウェアプログラムを修復する方法、記憶媒体及びシステム Download PDFInfo
- Publication number
- JP6627658B2 JP6627658B2 JP2016125499A JP2016125499A JP6627658B2 JP 6627658 B2 JP6627658 B2 JP 6627658B2 JP 2016125499 A JP2016125499 A JP 2016125499A JP 2016125499 A JP2016125499 A JP 2016125499A JP 6627658 B2 JP6627658 B2 JP 6627658B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- software program
- condition
- control flow
- flow graph
- 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/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Description
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
ソフトウェアプログラムに関する第1プログラム表現を生成する工程;
テストスーツを利用して前記ソフトウェアプログラムにおける誤りを特定する工程;
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正する工程;
前記ソフトウェアプログラムを修正した後に、前記ソフトウェアプログラムに関する第2プログラム表現を生成する工程;
前記第1プログラム表現と前記第2プログラム表現との比較に基づいて、前記第1プログラム表現に対する前記第2プログラム表現の相違を検出する工程;
修正が不適切であるか否かを示すアンチパターン条件を、前記相違が充足することを判定する工程;及び
前記相違が前記アンチパターン条件を充足することに応じて、前記ソフトウェアプログラムの修正を不許可にする工程;
を有する方法。
(付記2)
前記第1プログラム表現は第1制御フローグラフを含み、前記第2プログラム表現は第2制御フローグラフを含む、付記1に記載の方法。
(付記3)
前記アンチパターン条件は、制御フローグラフのエグジットパスの削除を含む、付記2に記載の方法。
(付記4)
前記アンチパターン条件は、制御フローグラフのノードの削除を含む、付記2に記載の方法。
(付記5)
前記アンチパターン条件は、先行する制御フローグラフのリターンノードの前に、制御フローグラフのリターンパスを挿入することを含む、付記2に記載の方法。
(付記6)
前記第1プログラム表現は第1データフローグラフを含み、前記第2プログラム表現は第2データフローグラフを含む、付記1に記載の方法。
(付記7)
前記アンチパターン条件は、データフローノードの到来エッジの削除を含む、付記6に記載の方法。
(付記8)
前記アンチパターン条件は、第1データフローノード及び第2データフローノードを含むデータフローノードの中断を含み、前記第1データフローノードは前記ソフトウェアプログラムのループのループ条件ステートメントに対応し、前記第2データフローノードは、前記ソフトウェアプログラムのループ内に存在し且つ前記ループ条件ステートメントの変数に関連する指定ステートメントに対応する、付記6に記載の方法。
(付記9)
前記アンチパターン条件は:「リターン」ステートメントの削除;「エグジット」ステートメントの削除;正規の表現に合致する名称を有するメソッドコールを含むステートメントの削除;「アサート」ステートメントの削除;制御フローグラフノードに関する全てのステートメントの削除;経路の条件の述語の否定の追加;条件の検査をディセーブルにする「真」の述語の追加;条件をディセーブルにする「偽」の述語の追加;制御フローブロックにおいて最後のステートメントでないリターンステートメントの制御フローブロックへの挿入;変数の定義であって対応する変数が始めて使用される際に不定となってしまうものの削除;及び;ループのループ条件がループ変数に基づく場合における、ループ内のループ変数についての指定ステートメントの削除;のうちの1つ以上に基づく、付記1に記載の方法。
(付記10)
前記第1プログラム表現は、修正前の前記ソフトウェアプログラムの少なくとも一部分のコピー;及び、修正前の前記ソフトウェアプログラムの少なくとも一部分の抽象構文ツリー;のうちの1つ以上を含み、並びに、
前記第2プログラム表現は、修正後の前記ソフトウェアプログラムの少なくとも一部分のコピー;及び、修正後の前記ソフトウェアプログラムの少なくとも一部分の抽象構文ツリー;のうちの1つ以上を含む、付記1に記載の方法。
(付記11)
コンピュータ実行可能な命令を含むコンピュータ読み取り可能な記憶媒体であって、前記命令は、1つ以上のプロセッサによる実行に応答して、システムに動作を実行させるように構成され、前記動作は:
テストスーツを利用してソフトウェアプログラムにおける誤りを特定する工程;
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正する工程;
修正が不適切であるか否かを示すアンチパターン条件を、前記修正が充足するか否かを判定する工程;及び
前記修正が前記アンチパターン条件を充足することに応じて、前記修正を不許可にする、或いは、前記修正が前記アンチパターン条件を充足しないことに応じて、修正された前記ソフトウェアプログラムについて更なる検査を実行する工程;
を含む、コンピュータ読み取り可能な記憶媒体。
(付記12)
前記アンチパターン条件は:「リターン」ステートメントの削除;「エグジット」ステートメントの削除;正規の表現に合致する名称を有するメソッドコールを含むステートメントの削除;「アサート」ステートメントの削除;制御フローグラフノードに関する全てのステートメントの削除;経路の条件の述語の否定の追加;条件の検査をディセーブルにする「真」の述語の追加;条件をディセーブルにする「偽」の述語の追加;制御フローブロックにおいて最後のステートメントでないリターンステートメントの制御フローブロックへの挿入;変数の定義であって対応する変数が始めて使用される際に不定となってしまうものの削除;及び;ループのループ条件がループ変数に基づく場合における、ループ内のループ変数についての指定ステートメントの削除;のうちの1つ以上に基づく、付記11に記載のコンピュータ読み取り可能な記憶媒体。
(付記13)
前記ソフトウェアプログラムの修正がアンチパターン条件を充足するか否かの判定は:
前記ソフトウェアプログラムを修正する前に、前記ソフトウェアに関する第1フローグラフを生成すること;
前記ソフトウェアプログラムを修正した後に、前記ソフトウェアに関する第2フローグラフを生成すること;
前記第1フローグラフと前記第2フローグラフとの比較に基づいて、前記第1フローグラフに対する前記第2フローグラフの相違を検出すること;及び
前記相違が前記アンチパターン条件を充足することを確認すること;
を含む、付記11に記載のコンピュータ読み取り可能な記憶媒体。
(付記14)
前記第1フローグラフは第1制御フローグラフを含み、前記第2フローグラフは第2制御フローグラフを含む、付記13に記載のコンピュータ読み取り可能な記憶媒体。
(付記15)
前記アンチパターン条件は:制御フローグラフのエグジットパスの削除;制御フローグラフのノードの削除;及び;先行する制御フローグラフのリターンノードの前に、制御フローグラフのリターンパスを挿入すること;のうちの1つ以上を含む、付記14に記載のコンピュータ読み取り可能な記憶媒体。
(付記16)
前記第1フローグラフは第1データフローグラフを含み、前記第2フローグラフは第2データフローグラフを含む、付記13に記載のコンピュータ読み取り可能な記憶媒体。
(付記17)
前記アンチパターン条件は:データフローノードの到来エッジの削除;及び;第1データフローノード及び第2データフローノードを含むデータフローノードの中断;のうちの1つ以上を含み、前記第1データフローノードは前記ソフトウェアプログラムのループのループ条件ステートメントに対応し、前記第2データフローノードは、前記ソフトウェアプログラムのループ内に存在し且つ前記ループ条件ステートメントの変数に関連する指定ステートメントに対応する、付記16に記載のコンピュータ読み取り可能な記憶媒体。
(付記18)
1つ以上のプロセッサ;及び
前記1つ以上のプロセッサに通信可能に結合される1つ以上のコンピュータ読み取り可能な記憶媒体;
を有するシステムであって、前記記憶媒体はコンピュータ実行可能な命令を含み、前記命令は、前記1つ以上のプロセッサによる実行に応答して、前記システムに動作を実行させ、前記動作は:
ソフトウェアプログラムに関する第1プログラム表現を生成する工程;
テストスーツを利用して前記ソフトウェアプログラムにおける誤りを特定する工程;
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正する工程;
前記ソフトウェアプログラムを修正した後に、前記ソフトウェアプログラムに関する第2プログラム表現を生成する工程;
前記第1プログラム表現と前記第2プログラム表現との比較に基づいて、前記第1プログラム表現に対する前記第2プログラム表現の相違を検出する工程;
前記修正が不適切であるか否かを示すアンチパターン条件を、前記相違が充足するか否かを判定する工程であって、前記アンチパターン条件は、「リターン」ステートメントの削除;「エグジット」ステートメントの削除;正規の表現に合致する名称を有するメソッドコールを含むステートメントの削除;「アサート」ステートメントの削除;制御フローグラフノードに関する全てのステートメントの削除;経路の条件の述語の否定の追加;条件の検査をディセーブルにする「真」の述語の追加;条件をディセーブルにする「偽」の述語の追加;制御フローブロックにおいて最後のステートメントでないリターンステートメントの制御フローブロックへの挿入;変数の定義であって対応する変数が始めて使用される際に不定となってしまうものの削除;及び;ループのループ条件がループ変数に基づく場合における、ループ内のループ変数についての指定ステートメントの削除;のうちの1つ以上に基づく、工程;及び
前記修正が前記アンチパターン条件を充足することに応じて、前記修正を不許可にする、或いは、前記修正が前記アンチパターン条件を充足しないことに応じて、修正された前記ソフトウェアプログラムについて更なる検査を実行する工程;
を含む、システム。
(付記19)
前記第1プログラム表現は、前記ソフトウェアプログラムの少なくとも一部分の第1コピー;前記ソフトウェアプログラムの少なくとも一部分の第1抽象構文ツリー;第1制御フローグラフ;及び;第1データフローグラフのうちの1つ以上を含み、並びに、
前記第2プログラム表現は、前記ソフトウェアプログラムの少なくとも一部分の第2コピー;前記ソフトウェアプログラムの少なくとも一部分の第2抽象構文ツリー;第2制御フローグラフ;及び;第2データフローグラフのうちの1つ以上を含む、付記18に記載のシステム。
(付記20)
前記アンチパターン条件は:制御フローグラフのエグジットパスの削除;制御フローグラフのノードの削除;先行する制御フローグラフのリターンノードの前に、制御フローグラフのリターンパスを挿入すること;データフローノードの到来エッジの削除;第1データフローノード及び第2データフローノードを含むデータフローノードの中断;のうちの1つ以上を含み、前記第1データフローノードは、前記ソフトウェアプログラムのループのループ条件ステートメントに対応し、前記第2データフローノードは、前記ソフトウェアプログラムのループ内に存在し且つ前記ループ条件ステートメントの変数に関連する指定ステートメントに対応する、付記18に記載のシステム。
Claims (12)
- コンピュータが、
ソフトウェアプログラムに関する第1プログラム表現を生成し、
テストスーツを利用して前記ソフトウェアプログラムにおける誤りを特定し、
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正し、
前記ソフトウェアプログラムを修正した後に、前記ソフトウェアプログラムに関する第2プログラム表現を生成し、
前記第1プログラム表現と前記第2プログラム表現との比較に基づいて、前記第1プログラム表現に対する前記第2プログラム表現の相違を検出し、
修正が不適切であるか否かを示すアンチパターン条件を前記相違が充足することを判定し、
前記アンチパターン条件を前記相違が充足することに応じて、前記ソフトウェアプログラムの修正を不許可にすること、
を特徴とする方法。 - 前記第1プログラム表現は第1制御フローグラフを含み、前記第2プログラム表現は第2制御フローグラフを含むことを特徴とする、請求項1に記載の方法。
- 前記アンチパターン条件は、制御フローグラフのエグジットパスの削除を含むことを特徴とする、請求項2に記載の方法。
- 前記アンチパターン条件は、制御フローグラフのノードの削除を含むことを特徴とする、請求項2に記載の方法。
- 前記アンチパターン条件は、先行する制御フローグラフのリターンノードの前に、制御フローグラフのリターンパスを挿入することを含むことを特徴とする、請求項2に記載の方法。
- 前記第1プログラム表現は第1データフローグラフを含み、前記第2プログラム表現は第2データフローグラフを含むことを特徴とする、請求項1に記載の方法。
- 前記アンチパターン条件は、データフローノードの到来エッジの削除を含むことを特徴とする、請求項6に記載の方法。
- 前記アンチパターン条件は、第1データフローノード及び第2データフローノードを含むデータフローノードの中断を含み、前記第1データフローノードは前記ソフトウェアプログラムのループのループ条件ステートメントに対応し、前記第2データフローノードは、前記ソフトウェアプログラムのループ内に存在し且つ前記ループ条件ステートメントの変数に関連する指定ステートメントに対応することを特徴とする、請求項6に記載の方法。
- 前記アンチパターン条件は:「リターン」ステートメントの削除;「エグジット」ステートメントの削除;正規の表現に合致する名称を有するメソッドコールを含むステートメントの削除;「アサート」ステートメントの削除;制御フローグラフノードに関する全てのステートメントの削除;経路の条件の述語の否定の追加;条件の検査をディセーブルにする「真」の述語の追加;条件をディセーブルにする「偽」の述語の追加;制御フローブロックにおいて最後のステートメントでないリターンステートメントの制御フローブロックへの挿入;変数の定義であって対応する変数が始めて使用される際に不定となってしまうものの削除;及び、ループのループ条件がループ変数に基づく場合における、ループ内のループ変数についての指定ステートメントの削除;のうちの1つ以上に基づくことを特徴とする、請求項1に記載の方法。
- 前記第1プログラム表現は、修正前の前記ソフトウェアプログラムの少なくとも一部分のコピー;及び、修正前の前記ソフトウェアプログラムの少なくとも一部分の抽象構文ツリー;のうちの1つ以上を含み、
前記第2プログラム表現は、修正後の前記ソフトウェアプログラムの少なくとも一部分のコピー;及び、修正後の前記ソフトウェアプログラムの少なくとも一部分の抽象構文ツリー;のうちの1つ以上を含むことを特徴とする、請求項1に記載の方法。 - テストスーツを利用してソフトウェアプログラムにおける誤りを特定し、
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正し、
修正が不適切であるか否かを示すアンチパターン条件を前記修正が充足するか否かを判定し、
前記アンチパターン条件を前記修正が充足することに応じて、前記修正を不許可にし、
前記アンチパターン条件を前記修正が充足しないことに応じて、修正された前記ソフトウェアプログラムについて検査を実行する
処理をコンピュータに実行させることを特徴とするプログラム。 - ソフトウェアプログラムに関する第1プログラム表現を生成する第1生成部と、
テストスーツを利用して前記ソフトウェアプログラムにおける誤りを特定する誤り特定部と、
前記誤りの特定に応じて、前記ソフトウェアプログラムを、修復テンプレートを利用して修正する修正部と、
前記ソフトウェアプログラムを修正した後に、前記ソフトウェアプログラムに関する第2プログラム表現を生成する第2生成部と、
前記第1プログラム表現と前記第2プログラム表現との比較に基づいて、前記第1プログラム表現に対する前記第2プログラム表現の相違を検出する相違検出部と、
修正が不適切であるか否かを示すアンチパターン条件を前記相違が充足するか否かを判定する判定部と、
前記アンチパターン条件を前記相違が充足することに応じて、前記修正を不許可にする不許可部と、
前記アンチパターン条件を前記相違が充足しないことに応じて、修正された前記ソフトウェアプログラムについて検査を実行する検査部と
を備えることを特徴とする修復装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/835,561 | 2015-08-25 | ||
US14/835,561 US10152406B2 (en) | 2015-08-25 | 2015-08-25 | Software program repair |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017045446A JP2017045446A (ja) | 2017-03-02 |
JP2017045446A5 JP2017045446A5 (ja) | 2019-03-14 |
JP6627658B2 true JP6627658B2 (ja) | 2020-01-08 |
Family
ID=58104176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016125499A Active JP6627658B2 (ja) | 2015-08-25 | 2016-06-24 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10152406B2 (ja) |
JP (1) | JP6627658B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9823994B2 (en) | 2015-12-22 | 2017-11-21 | International Business Machines Corporation | Dynamically identifying performance anti-patterns |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US10706351B2 (en) | 2016-08-30 | 2020-07-07 | American Software Safety Reliability Company | Recurrent encoder and decoder |
US10802945B2 (en) * | 2016-12-07 | 2020-10-13 | Ab Initio Technology Llc | Differencing of executable dataflow graphs |
US20180240356A1 (en) * | 2017-02-21 | 2018-08-23 | Microsoft Technology Licensing, Llc | Data-driven feedback generator for programming assignments |
US10678673B2 (en) * | 2017-07-12 | 2020-06-09 | Fujitsu Limited | Software program fault localization |
US10268572B2 (en) | 2017-08-03 | 2019-04-23 | Fujitsu Limited | Interactive software program repair |
US10496459B2 (en) | 2017-11-24 | 2019-12-03 | Fujitsu Limited | Automated software program repair candidate selection |
US10606570B2 (en) * | 2018-03-08 | 2020-03-31 | Fujitsu Limited | Representing software with an abstract code graph |
US10664383B2 (en) * | 2018-08-22 | 2020-05-26 | Fujitsu Limited | Automated software program repair of similar code snippets |
US10761962B1 (en) * | 2019-02-07 | 2020-09-01 | Fujitsu Limited | Automated software program repair |
KR102610756B1 (ko) * | 2019-02-11 | 2023-12-07 | 현대자동차주식회사 | 소프트웨어 테스트를 위한 테스트케이스 관리 장치 및 관리 방법 |
CN109976799B (zh) * | 2019-02-19 | 2022-07-08 | 武大吉奥信息技术有限公司 | 一种基于树形结构软件配置模型的实现方法及装置 |
CN113282514B (zh) * | 2021-06-28 | 2023-08-15 | 中国平安人寿保险股份有限公司 | 问题数据的处理方法、装置、计算机设备和存储介质 |
KR102525344B1 (ko) * | 2021-10-06 | 2023-04-24 | 고려대학교 산학협력단 | 프로그램을 피드백 하는 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04270418A (ja) * | 1991-02-26 | 1992-09-25 | Hitachi Ltd | 比較結果表示方式 |
JPH11296366A (ja) * | 1998-04-07 | 1999-10-29 | Nec Corp | エラー検出装置及びエラー検出方法及び記録媒体 |
US6530079B1 (en) * | 1999-06-02 | 2003-03-04 | International Business Machines Corporation | Method for optimizing locks in computer programs |
WO2001025860A1 (en) * | 1999-10-05 | 2001-04-12 | Togethersoft Corporation | Method for generating and defining a pattern |
US6748584B1 (en) * | 1999-12-29 | 2004-06-08 | Veritas Operating Corporation | Method for determining the degree to which changed code has been exercised |
US7058941B1 (en) * | 2000-11-14 | 2006-06-06 | Microsoft Corporation | Minimum delta generator for program binaries |
JP2008250914A (ja) * | 2007-03-30 | 2008-10-16 | Canon Software Inc | プログラム修正装置及び方法、並びにプログラム |
JP5067317B2 (ja) * | 2008-08-27 | 2012-11-07 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
US9336331B2 (en) * | 2010-04-26 | 2016-05-10 | Ca, Inc. | Detecting, using, and sharing it design patterns and anti-patterns |
CN101866317B (zh) * | 2010-06-29 | 2012-07-25 | 南京大学 | 一种基于聚类分析的回归测试用例选择方法 |
WO2012105593A1 (ja) * | 2011-02-01 | 2012-08-09 | 日本電気株式会社 | データフローグラフ処理装置、データフローグラフ処理方法およびデータフローグラフ処理プログラム |
US20130055221A1 (en) * | 2011-08-26 | 2013-02-28 | Fujitsu Limited | Detecting Errors in Javascript Software Using a Control Flow Graph |
WO2013185098A1 (en) * | 2012-06-08 | 2013-12-12 | Massively Parallel Technologies, Inc. | System and method for automatic detection of decomposition errors |
US20130339929A1 (en) * | 2012-06-14 | 2013-12-19 | Microsoft Corporation | Program repair |
US20140089738A1 (en) * | 2012-09-27 | 2014-03-27 | Tata Consultancy Services Limited | System and method for identifying source of run-time execution failure |
US9361102B2 (en) * | 2014-06-09 | 2016-06-07 | Lehigh University | Methods for enforcing control flow of a computer program |
US9983975B2 (en) * | 2014-12-29 | 2018-05-29 | International Business Machines Corporation | Fixing anti-patterns in javascript |
US10241891B2 (en) * | 2015-06-29 | 2019-03-26 | International Business Machines Corporation | Dynamic ranking of performance issues for applications |
-
2015
- 2015-08-25 US US14/835,561 patent/US10152406B2/en active Active
-
2016
- 2016-06-24 JP JP2016125499A patent/JP6627658B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20170060735A1 (en) | 2017-03-02 |
JP2017045446A (ja) | 2017-03-02 |
US10152406B2 (en) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6627658B2 (ja) | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム | |
US10296447B2 (en) | Automated software program repair | |
JP6878933B2 (ja) | ソフトウエアプログラムの修復のための方法及びプログラム | |
US8589892B2 (en) | Verification of speculative execution | |
JP7110789B2 (ja) | 自動化されたソフトウェアプログラム修復候補の選択 | |
JP2017045446A5 (ja) | ||
US10664383B2 (en) | Automated software program repair of similar code snippets | |
US20150143179A1 (en) | System and Method for Progressive Fault Injection Testing | |
JP7318516B2 (ja) | コンピュータ可読プログラム検査のための入力の生成 | |
JP7070195B2 (ja) | インタラクティブなソフトウェアプログラムの修復 | |
JP6891703B2 (ja) | 自動ソフトウェアプログラム修復 | |
JP7384054B2 (ja) | 自動化されたソフトウェアプログラム修復 | |
US10761962B1 (en) | Automated software program repair | |
JP6723483B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JP5464031B2 (ja) | プログラム検証装置、方法及びプログラム | |
US11740895B2 (en) | Generation of software program repair explanations | |
WO2012103955A1 (en) | A system and a method for analyzing a piece of code | |
CN106294130A (zh) | 一种单元测试方法及装置 | |
Aoki et al. | A method for detecting defects in source codes using model checking techniques | |
EP3933632B1 (en) | Verifying a correct implementation of a confidentiality and integrity policy by a software | |
JP2021124852A (ja) | 修正パターンのデータ駆動型合成 | |
CN113971042A (zh) | 自动化软件程序修复 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190128 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191016 |
|
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: 20191105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6627658 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |