JP4684573B2 - 無効なコールシーケンスを識別するための方法およびプログラム - Google Patents
無効なコールシーケンスを識別するための方法およびプログラム Download PDFInfo
- Publication number
- JP4684573B2 JP4684573B2 JP2004119505A JP2004119505A JP4684573B2 JP 4684573 B2 JP4684573 B2 JP 4684573B2 JP 2004119505 A JP2004119505 A JP 2004119505A JP 2004119505 A JP2004119505 A JP 2004119505A JP 4684573 B2 JP4684573 B2 JP 4684573B2
- Authority
- JP
- Japan
- Prior art keywords
- exception
- call sequence
- parameter
- operations
- invalid
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Description
101 オペレーション生成モジュール
102 パラメータ生成モジュール
103 コールシーケンス生成モジュール
104 実行モジュール
105 オブジェクト
106 最小化モジュール
111 メソッド
112 パラメータタイプ
113 パラメータ
114 オペレーションセット
115 コールシーケンス
115F コールシーケンス
116 データ
Claims (10)
- オブジェクトを実行することのできるコンピューティングシステムにおいて、前記オブジェクトに対する適切な例外の投入のために、例外を発生させる無効なコールシーケンスを識別する方法であって、前記オブジェクトは、各メソッドがゼロまたはそれ以上のパラメータに関連付けられた、1つまたは複数のメソッドを有し、該方法は、前記コンピューティングシステムのメモリ上に格納されたプログラムモジュールが、該コンピューティングシステムのプロセッサに実行させるものであり、
前記オブジェクトの各メソッドについて、該メソッドに関連付けられた前記パラメータのパラメータタイプに基づいて前記オブジェクトに対して投入されるべき例外を発生させる見込が高い1つまたは複数のパラメータ値を生成し、各オペレーションが前記1つまたは複数のメソッドのいずれか1つのメソッドと、該メソッドについて生成された前記1つまたは複数のパラメータ値のいずれか1つのパラメータ値とを含む、前記オブジェクトによって実行可能なオペレーションのセットを生成するステップであって、前記1つまたは複数のパラメータ値はそれぞれ、各メソッドに関連付けられた前記パラメータのうち同一のパラメータタイプのパラメータで構成されるステップと、
前記オペレーションのセットに含まれるオペレーションのうちの1つまたは複数のオペレーションを含むコールシーケンスを構築するステップと、
前記オブジェクトを使用して前記コールシーケンスを実行するステップと、
前記オブジェクトを使用して前記コールシーケンスを実行した結果、前記オブジェクトにおいて例外が投入されたかどうかを判断するステップと、
前記コールシーケンスを実行した結果、前記オブジェクトにおいて前記例外が投入されたとき、前記コールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップと、
前記例外を発生させた前記無効なコールシーケンスおよび該無効なコールシーケンスによって前記例外が発生したことを報告するステップと
を備えることを特徴とする方法。 - 前記コールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップは、
前記例外を発生させた前記コールシーケンスから、少なくとも1つのオペレーションを除去して、前記コールシーケンスよりも少ないオペレーションを含む新たなコールシーケンスを構築するステップ、
前記オブジェクトを使用して前記新たなコールシーケンスを実行するステップ、および
前記新たなコールシーケンスが前記例外と同じ例外を発生させたかどうかを識別するステップ
を、新たなコールシーケンスが前記例外と同じ例外を発生させないと識別されるまで反復するステップと、
新たなコールシーケンスが前記例外と同じ例外を発生させないと識別されたとき、該新たなコールシーケンスの前に構築されたコールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップと
を含むことを特徴とする請求項1に記載の方法。 - 前記オペレーションのセットから、各コールシーケンスが、前記オペレーションのセットに含まれるオペレーションのうちの1つまたは複数のオペレーションを含む、複数のコールシーケンスを構築するステップと、
構築された前記複数のコールシーケンスのそれぞれについて、前記実行するステップ、前記判断するステップ、前記識別するステップ、および前記報告するステップを反復するステップと
をさらに備えることを特徴とする請求項1に記載の方法。 - 前記オブジェクトの各メソッドについて、該メソッドに関連付けられた前記パラメータのパラメータタイプに基づいて、前記オブジェクトに対して投入されるべき例外を発生させる見込が高い1つまたは複数のパラメータ値を生成することは、
前記オブジェクトの各メソッドについて、該メソッドに関連付けられた前記パラメータのパラメータタイプに基づいて、パラメータのセットを生成することと、
前記生成されたパラメータのセットに対して前記パラメータタイプに応じて所定の演算を実行して、前記オブジェクトに対して投入されるべき例外を発生させる見込が高い前記1つまたは複数のパラメータ値を生成することと
を含むことを特徴とする請求項1に記載の方法。 - 各パラメータタイプは、整数タイプ、浮動小数点数、配列、文字列、およびブール値のいずれかであることを特徴とする請求項4に記載の方法。
- パラメータタイプが整数タイプのとき、前記パラメータのセットは、「−1」、「+1」、「0」、および「+20,000,000,000」であり、前記所定の演算は、加法、減法、除法、および乗法の少なくとも1つであることを特徴とする請求項5に記載の方法。
- パラメータタイプが浮動小数点数タイプのとき、前記パラメータのセットは、「1E1000」および「1E−1000」を含み、前記所定の演算は、加法、減法、除法、および乗法を含むことを特徴とする請求項5に記載の方法。
- オブジェクトを実行することのできるコンピューティングシステムに、前記オブジェクトに対する適切な例外の投入のために、例外を発生させる無効なコールシーケンスを識別するための処理を実行させるプログラムであって、前記オブジェクトは、各メソッドがゼロまたはそれ以上のパラメータに関連付けられた、1つまたは複数のメソッドを有し、前記処理は、
前記オブジェクトの各メソッドについて、該メソッドに関連付けられた前記パラメータのパラメータタイプに基づいて、前記オブジェクトに対して投入されるべき例外を発生させる見込が高い1つまたは複数のパラメータ値を生成し、各オペレーションが前記1つまたは複数のメソッドのいずれか1つのメソッドと、該メソッドについて生成された前記1つまたは複数のパラメータ値のいずれか1つのパラメータ値とを含む、前記オブジェクトによって実行可能なオペレーションのセットを生成するステップであって、前記1つまたは複数のパラメータ値はそれぞれ、各メソッドに関連付けられた前記パラメータのうち同一のパラメータタイプのパラメータで構成されるステップと、
前記オペレーションのセットに含まれるオペレーションのうちの1つまたは複数のオペレーションを含むコールシーケンスを構築するステップと、
前記オブジェクトを使用して前記コールシーケンスを実行するステップと、
前記オブジェクトを使用して前記コールシーケンスを実行した結果、前記オブジェクトに対して例外が投入されたかどうかを判断するステップと、
前記コールシーケンスを実行した結果、前記オブジェクトに対して例外が投入されたとき、前記コールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップと、
前記例外を発生させた前記無効なコールシーケンスおよび該無効なコールシーケンスによって前記例外が発生したことを報告するステップと
を含むことを特徴とするプログラム。 - 前記コールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップは、
前記例外を発生させた前記コールシーケンスから、少なくとも1つのオペレーションを除去して、前記コールシーケンスよりも少ないオペレーションを含む新たなコールシーケンスを構築するステップ、
前記オブジェクトを使用して前記新たなコールシーケンスを実行するステップ、および
前記新たなコールシーケンスが前記例外と同じ例外を発生させるかどうかを識別するステップ
を、新たなコールシーケンスが前記例外と同じ例外を発生させないと識別されるまで反復するステップと、
新たなコールシーケンスが前記例外と同じ例外を発生させないと識別されたとき、該新たなコールシーケンスの前に構築されたコールシーケンスを、前記例外を発生させた無効なコールシーケンスとして識別するステップと
を含むことを特徴とする請求項8に記載のプログラム。 - 前記処理は、
前記オペレーションのセットから、各コールシーケンスが、前記オペレーションのセットに含まれるオペレーションのうちの1つまたは複数のオペレーションを含む、複数のコールシーケンスを構築するステップと、
構築された前記複数のコールシーケンスのそれぞれについて、前記実行するステップ、前記判断するステップ、前記識別するステップ、および前記報告するステップを反復するステップ
をさらに備えることを特徴とする請求項8に記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/413,276 US7216337B2 (en) | 2003-04-14 | 2003-04-14 | Automatic determination of invalid call sequences in software components |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004318887A JP2004318887A (ja) | 2004-11-11 |
JP4684573B2 true JP4684573B2 (ja) | 2011-05-18 |
Family
ID=32908296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004119505A Expired - Fee Related JP4684573B2 (ja) | 2003-04-14 | 2004-04-14 | 無効なコールシーケンスを識別するための方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7216337B2 (ja) |
EP (1) | EP1469392A3 (ja) |
JP (1) | JP4684573B2 (ja) |
KR (1) | KR101066706B1 (ja) |
CN (1) | CN100454271C (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7334154B2 (en) * | 2004-06-18 | 2008-02-19 | Microsoft Corporation | Efficient changing of replica sets in distributed fault-tolerant computing system |
CN100373326C (zh) * | 2005-09-13 | 2008-03-05 | 华为技术有限公司 | 一种自动化测试系统及其方法 |
CN100407668C (zh) * | 2005-12-09 | 2008-07-30 | 华为技术有限公司 | 测试命令字测试序列调度方法 |
CN100405324C (zh) * | 2006-05-12 | 2008-07-23 | 中国科学院计算技术研究所 | 在微处理器用户态随机验证中实现核心态程序验证的方法 |
CN100454272C (zh) * | 2006-05-30 | 2009-01-21 | 上海科泰世纪科技有限公司 | 软件构件处理错误信息的方法 |
US9021417B2 (en) * | 2007-07-06 | 2015-04-28 | International Business Machines Corporation | Generating a subset model from a model |
US8250524B2 (en) * | 2007-12-21 | 2012-08-21 | Microsoft Corporation | Contract programming for code error reduction |
US8782607B2 (en) | 2009-02-20 | 2014-07-15 | Microsoft Corporation | Contract failure behavior with escalation policy |
US8397217B2 (en) * | 2010-02-22 | 2013-03-12 | International Business Machines Corporation | Integrating templates into tests |
US8589892B2 (en) * | 2010-11-21 | 2013-11-19 | International Business Machines Corporation | Verification of speculative execution |
US8914776B2 (en) * | 2012-05-17 | 2014-12-16 | Microsoft Corporation | Assisting development tools through inserted code statements |
US10055209B2 (en) * | 2015-01-12 | 2018-08-21 | Red Hat, Inc. | Resource closing |
CN106294164B (zh) * | 2016-08-15 | 2019-02-19 | 中国银行股份有限公司 | 一种代码检查方法及装置 |
CN106874764B (zh) * | 2017-01-16 | 2019-10-29 | 南开大学 | 一种基于回调函数建模自动生成Android应用回调序列的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08504526A (ja) * | 1992-12-17 | 1996-05-14 | シーメンス アクチエンゲゼルシヤフト | コンピュータにてオブジェクト指向プログラムの少なくとも1つのクラスのテストをする方法 |
JP2002278795A (ja) * | 2001-03-21 | 2002-09-27 | Hitachi Software Eng Co Ltd | オブジェクト指向開発用テスト支援方法および装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05342054A (ja) * | 1992-06-05 | 1993-12-24 | Hitachi Ltd | 言語処理プロセッサのテスト方式 |
US5565316A (en) * | 1992-10-09 | 1996-10-15 | Educational Testing Service | System and method for computer based testing |
US5390325A (en) * | 1992-12-23 | 1995-02-14 | Taligent, Inc. | Automated testing system |
US5371883A (en) * | 1993-03-26 | 1994-12-06 | International Business Machines Corporation | Method of testing programs in a distributed environment |
US5737609A (en) | 1994-10-18 | 1998-04-07 | Marcam Corporation | Method and apparatus for testing object-oriented programming constructs |
US5740440A (en) | 1995-01-06 | 1998-04-14 | Objective Software Technology | Dynamic object visualization and browsing system |
JPH08212105A (ja) * | 1995-02-02 | 1996-08-20 | Casio Comput Co Ltd | プログラム管理装置 |
US5581696A (en) * | 1995-05-09 | 1996-12-03 | Parasoft Corporation | Method using a computer for automatically instrumenting a computer program for dynamic debugging |
US5784553A (en) | 1996-01-16 | 1998-07-21 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution of JAVA programs |
JPH09330248A (ja) * | 1996-06-12 | 1997-12-22 | Hitachi Ltd | Gui制御プログラムのイベントテスト方式 |
US6425118B1 (en) * | 1997-07-18 | 2002-07-23 | Compaq Computer Corporation | System for automatically generating tests to ensure binary compatibility between software components produced by a source-to-source computer language translator |
JPH1139169A (ja) | 1997-07-18 | 1999-02-12 | Toshiba Corp | コンパイル方法,コンパイラ,例外ハンドラ及びプログラム記憶媒体 |
US6601018B1 (en) * | 1999-02-04 | 2003-07-29 | International Business Machines Corporation | Automatic test framework system and method in software component testing |
US6301701B1 (en) * | 1999-11-10 | 2001-10-09 | Tenfold Corporation | Method for computer-assisted testing of software application components |
US6983380B2 (en) * | 2001-02-06 | 2006-01-03 | Networks Associates Technology, Inc. | Automatically generating valid behavior specifications for intrusion detection |
JP2002304303A (ja) | 2001-04-05 | 2002-10-18 | Hitachi Ltd | 例外処理方法 |
CN1184565C (zh) * | 2001-04-13 | 2005-01-12 | 互慧科技股份有限公司 | 软件诊断系统与方法 |
GB2391367A (en) * | 2001-04-24 | 2004-02-04 | Wvhtc Foundation | Software suitability testing system |
US7017150B2 (en) | 2001-08-20 | 2006-03-21 | Sun Microsystems, Inc. | Method and apparatus for automatically isolating minimal distinguishing stimuli in design verification and software development |
US7150008B2 (en) * | 2002-10-25 | 2006-12-12 | Microsoft Corporation | Non-invasive rule-based binary analysis of software assemblies |
-
2003
- 2003-04-14 US US10/413,276 patent/US7216337B2/en active Active
-
2004
- 2004-03-19 EP EP04006712A patent/EP1469392A3/en not_active Ceased
- 2004-04-13 KR KR1020040025472A patent/KR101066706B1/ko active IP Right Grant
- 2004-04-14 JP JP2004119505A patent/JP4684573B2/ja not_active Expired - Fee Related
- 2004-04-14 CN CNB2004100346167A patent/CN100454271C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08504526A (ja) * | 1992-12-17 | 1996-05-14 | シーメンス アクチエンゲゼルシヤフト | コンピュータにてオブジェクト指向プログラムの少なくとも1つのクラスのテストをする方法 |
JP2002278795A (ja) * | 2001-03-21 | 2002-09-27 | Hitachi Software Eng Co Ltd | オブジェクト指向開発用テスト支援方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2004318887A (ja) | 2004-11-11 |
KR101066706B1 (ko) | 2011-09-21 |
EP1469392A2 (en) | 2004-10-20 |
CN1542622A (zh) | 2004-11-03 |
KR20040089583A (ko) | 2004-10-21 |
CN100454271C (zh) | 2009-01-21 |
US7216337B2 (en) | 2007-05-08 |
US20040205725A1 (en) | 2004-10-14 |
EP1469392A3 (en) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4684573B2 (ja) | 無効なコールシーケンスを識別するための方法およびプログラム | |
AU2005203386B2 (en) | Test automation stack layering | |
US8181163B2 (en) | Program synthesis and debugging using machine learning techniques | |
Grieco et al. | QuickFuzz: An automatic random fuzzer for common file formats | |
US7313727B2 (en) | Adaptive recovery from system failure for application instances that govern message transactions | |
Bastani et al. | Specification inference using context-free language reachability | |
US7293257B2 (en) | Method and system for efficient testing of sequences of computer-related operations | |
JP2020526814A (ja) | ブロックチェーンコンパイラ | |
US10942718B2 (en) | Systems and/or methods for type inference from machine code | |
US20080320336A1 (en) | System and Method of Client Side Analysis for Identifying Failing RAM After a User Mode or Kernel Mode Exception | |
Böhme et al. | Reconstruction of Z3’s bit-vector proofs in HOL4 and Isabelle/HOL | |
Koza | Spontaneous emergence of self-replicating and evolutionarily self-improving computer programs | |
Luke | The ECJ owner’s manual | |
US20100023798A1 (en) | Error recovery and diagnosis for pushdown automata | |
JP2012525648A (ja) | バイナリソフトウェア分析 | |
GB2377283A (en) | Initialising dependent modules | |
US7703077B2 (en) | Programming model to detect deadlocks in concurrent programs | |
US7305653B2 (en) | Standard application development framework | |
Constantinou | The Bayesys user manual | |
Khan et al. | Detecting wake lock leaks in android apps using machine learning | |
US20050060530A1 (en) | Method for displaying information of updating BIOS | |
Olsson et al. | Hard cases in source code to architecture mapping using Naive Bayes | |
Hsu et al. | Assessment of nvshmem for high performance computing | |
ALhaddad | Improvements of and extensions to FSMWeb: Testing mobile apps | |
Padhye | Abstractions and Algorithms for Specializing Dynamic Program Analysis and Random Fuzz Testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101008 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110107 |
|
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: 20110204 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4684573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |