JP2009087352A - ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法 - Google Patents

ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法 Download PDF

Info

Publication number
JP2009087352A
JP2009087352A JP2008255089A JP2008255089A JP2009087352A JP 2009087352 A JP2009087352 A JP 2009087352A JP 2008255089 A JP2008255089 A JP 2008255089A JP 2008255089 A JP2008255089 A JP 2008255089A JP 2009087352 A JP2009087352 A JP 2009087352A
Authority
JP
Japan
Prior art keywords
software application
defect detection
logic
application
detection step
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.)
Withdrawn
Application number
JP2008255089A
Other languages
English (en)
Inventor
Sreeranga P Rajan
ピー ラジャン スリーランガ
Oksana I Tkachuk
アイ トカチュク オクサナ
Indradeep Ghosh
ゴッシュ インデラディープ
Mukul R Prasad
アール プラサッド ムクル
Tadahiro Uehara
忠弘 上原
Kazuki Munakata
一樹 宗像
Kenji Oki
憲二 大木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2009087352A publication Critical patent/JP2009087352A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム等を提供する。
【解決手段】設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出する欠陥検出段階を有する方法が提供される。この欠陥検出段階は、ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、モデルチェックのための特性モニタの自動起動を与える段階と、診断のためにソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを有する。欠陥検出段階は、異種ソフトウェアアプリケーションを同種のアプリケーションに変形する段階を更に有する。具体的には、欠陥検出段階は、ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する。
【選択図】図2

Description

本発明は、概して、ウェブサービスの分野、より具体的には、ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法に関する。
ウェブアプリケーションは、今日のプロセッシング界の至る所にある。Java(登録商標)は、多くのソフトウェアアプリケーションのバックボーン(又は重要な部分)を実施するための大衆的な選択であるが、典型的なウェブアプリケーションは、HTML、JavaScript、PHP、Perl、及びMysqlを含む、様々な言語及び技術を組み込んだ異種(heterogeneous)システムである。
試験技術は、難しいコーナーケースのバグを捕らえることができないことを含め、多くの点で不十分である。この問題は、ソフトウェアシステムの複雑性が増すにつれ、ますます面倒である。従って、形式的な検証(validation)技術は、特に、複雑なソフトウェアシステムが正当であると確認する場合に及び/又はシステムの安全性若しくはセキュリティの重要な側面を確認する場合に、必要とされる。形式的なソフトウェア検証技術に関して多くの研究がされており、最近では、それらの幾つかを、Java(登録商標)に基づくシステムに適用することが研究されている。しかし、例えばウェブアプリケーションのような大きな異種システムのためのエンド・ツー・エンドの解決法はない。ポイントツールは、利用可能であろうとも、ウェブアプリケーションで適切に動作するには一般的過ぎる。それらの使用及び形式主義は、平均的なシステムエンジニアにとって理解するのが困難であり、更に、それらのアプリケーションは、十分には自動化されておらず、アドホックであるために容易に反復可能でない。すなわち、それほど標準化されていない。
従って、ウェブサービスにおけるそれらの重要な検証に関する問題を解決する能力は、興味深い課題を生み出す。全てのこのようなプロセッシング動作に関し、決定的に重要なのは、速度、正確性、及び自動化に関する課題である。
本発明は、従来の方法及びシステムに関連する欠点及び課題の少なくとも幾つかを実質的に取り除き又は軽減する、ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法を提供することを目的とする。
本発明の具体的な実施形態に従って、設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出する欠陥検出段階を有する方法が提供される。この欠陥検出段階は、前記ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、モデルチェックのための特性モニタの自動起動を与える段階と、診断のために前記ソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを更に有する。
前記欠陥検出段階は、異種ソフトウェアアプリケーションを同種の(homogeneous)アプリケーションに変形する段階を更に有することができる。より具体的な実施例では、前記欠陥検出段階は、前記ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する。前記ソフトウェアアプリケーションと関連する設定は、単純特性ファイルでありうる。前記欠陥検出段階は、ユーザの行動をシミュレーションする段階と、使用状況又はシナリオからビジネスロジックを試験するドライバを生成する段階とを更に有する。
更なる他の実施例で、前記欠陥検出段階は、空きの又はユーザ供給のスタブによってデータベースを置き換える段階を有する。前記欠陥検出段階は、前記ソフトウェアアプリケーションのためのビジネスロジックを検証する段階を更に有する。
本発明の具体的な実施例に関する技術的効果には、(ソフトウェアアプリケーションの領域固有性に基づき)大きなソフトウェアコードベースの検証のために短時間のカスタマイズ及び更なる自動化を可能にすることがある。例えば、ウェブアプリケーションは、セキュリティ特性が検証されることを要する金融アプリケーションでありうる。加えて、設定は、このような検証の実行において最大の自動化を達成するためにカスタマイズされうる。設定は、特性ファイル(例えば、XML)を用いて特定され得る。
本発明は、また、エンタープライズ・ストレングス(enterprise-strength)のウェブアプリケーションを形式的に検証するためのエンド・ツー・エンドの解決法を提供することもできる。更に、それは、このようなアプリケーションの性質に上手く適した技術の適切な組の選択を提供する。それは、更に、このようなJava(登録商標)アプリケーション類でツールセットの有効性を最大とするよう、ツールセットのカスタマイズをウェブアプリケーションへ提供することができる。例えば、これは、特性テンプレートの特定の選択及び組み立てと、シンボル実行における文字列処理ライブラリの使用とを含みうる。それは、また、単純な仕様言語において又は例えばUMLのような視覚的な形式主義を用いて、必要条件の捕捉における柔軟性を提供する。
他の技術的効果は、以下の図面、記載及び特許請求の範囲から、いわゆる当業者には容易に理解され得る。更に、特定の効果が上で挙げられたが、様々な実施形態は、挙げられている効果の全て又は幾つかを含み、あるいはいずれも含まないことがある。
本発明の実施例により、従来の方法及びシステムに関連する欠点及び課題の少なくとも幾つかを実質的に取り除き又は軽減する、ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法を提供することが可能となる。
他の技術的効果は、以下の図面、記載及び特許請求の範囲から当業者には容易に認識されるであろう。更に、具体的な利点が先に列挙されたが、様々な実施形態は、挙げられている利点の全て又は幾つかを含み、あるいは、それらを全く含まないこともある。
本発明及びその効果の具体的な実施例に関するより完全な理解のために、ここで、添付の図面に関連した以下の記載が参照される。
図1は、どのように検証が典型的に実行されるかを表すシステム10の例を表す略ブロック図である。図1は、条件付きコンポーネント12と、ウェブアプリケーション14と、これらの事項の両方に関連するデータセグメント16を含む。検証は、通常は、ソースコード内でアサーションをマニュアル挿入することによって行われる。小さなモジュールは、マニュアル選択されるが、アプリケーションソースコード全体を扱う方法はない。従来の試験に伴う1つの問題は、マニュアル強制(manually-intensive)であり、従って、高価で、エラーを起こしやすく、且つ、貧しい/未知の機能範囲を提供することである。
図2は、本発明の一実施例に従う、ソフトウェアを検証するための設定可能なウェブサービスアーキテクチャを表す略ブロック図である。図2は、モデルチェック20と、ウェブサービス22と、ウェブサービス24と、テストケース・コンポーネント28と、欠陥/バグ報告コンポーネント32と、欠陥の診断のための画像視覚化コンポーネント40とを含む。集合的に、図2のこれらのコンポーネントは、ソフトウェアアプリケーションのモデルチェックを行う新たな方法を提供するよう協働する。アーキテクチャは試験を自動化し、所与の対象システムに高い機能範囲を提供する。ウェブアプリケーション14は、異種結合のプログラム言語でありうる。
図2の実施例は、SAVE(Software Applications Validation Environment)と称される設定可能なウェブサービスアーキテクチャと考えられる。それは、Java(登録商標)に基づくウェブアプリケーションにおいて必要条件を自動で確認するための相互作用サービスを含む。また、現実世界のアプリケーションを有効に検証すべく構成ツールを配置するための関連する方法論が提供される。かかる環境は、必要条件捕捉サービスと、環境/モデル生成サービスと、自動特性テンプレートインスタンス化及びマッチングサービスと、モデルチェッカーと、シンボル実行エンジンとを有する。所与のウェブサービスにSAVEを適用する典型的なシナリオが、図2には表されている。
図2で(及び以後の図で)提示されるアーキテクチャは、異種言語から成るソフトウェアアプリケーションでの欠陥検出に及ぶ大きな適用範囲を有する。かかるアーキテクチャは、以下の相互作用サービス、すなわち、1)使用状況/シナリオを捕らえ、その有効性を確認すること、2)異種ソフトウェアアプリケーションをスタンドアローンの同種のアプリケーションに変形する環境発生、3)モデルチェックのための特性モニタの自動起動、4)診断のための欠陥の視覚化、5)プレゼンテーション層のための自動試験発生、及び6)設定はまさに単純特性(XML)ファイルでありうること、を含みうるソフトウェアアプリケーションで欠陥を検出することができる。
本質的に、本発明は、ソフトウェアの欠陥検出における最高位の方法論に関する。対象のアーキテクチャは、通常は、メーカー発行の製品のホワイトペーパーで公開されており、従って、SAVEとの類似性を識別することは容易である。
(ここに挙げられている試みにおける)目的は、革新的なソフトウェア品質によって仕損じ原価を減らすことである。この分野における不良は、1)金融災害を引き起こすアプリケーションソフトウェアの不備、2)失速(stalling)を引き起こす埋め込みシステム、すなわち、自動ソフトウェアの欠陥、3)不正侵入された又は停止した電子商取引のウェブサイトを含む。これらの課題を解決する費用は、同様に相当なものである。かかる分野におけるバグ修正費用に関するおおまかな推定は、符号化/開発の間のバグ修正の5000ドルに対して、おおよそ30,000ドルである。このようにして、理知的にソフトウェアを評価する革新的な技術を解決することが責務である。具体的には、目標は、100%の範囲を有して、ソフトウェア開発の間に欠陥を識別することである。これは、従来の試験技術によっては達成不可能である。
このようなアーキテクチャは、ソフトウェアアプリケーションの領域固有性に基づいて、大きなソフトウェアコードベースの検証のために短時間のカスタマイズ及び更なる自動化を可能にすることを含め、多数の利点を有する。例えば、ウェブアプリケーションは、セキュリティ特性が検証されることを要する金融アプリケーションでありうる。加えて、設定は、このような検証の実行において最大の自動化を達成するためにカスタマイズされうる。一実施例で、その設定は、XMLで特性ファイルを用いて特定され得る。
提供されるシステムは、また、エンタープライズ・ストレングスのウェブアプリケーションを形式的に検証するための実行可能なエンド・ツー・エンドの解決法を提供することもできる。更に、それは、このようなアプリケーションの性質に上手く適した技術の適切な組の選択を提供する。それは、更に、このようなJava(登録商標)アプリケーション類でツールセットの有効性を最大とするよう、ツールセットのカスタマイズをウェブアプリケーションへ提供することができる。これは、特性テンプレートの特定の選択及び組み立てや、シンボル実行における文字列処理ライブラリの使用等に適用しうる。単純な仕様言語において又は例えばUMLのような視覚的な形式主義を用いて、必要条件の捕捉では柔軟性が認められる。
本質的に、提案されるシステムは、平均的なシステムエンジニアにとってツールセットの有用性を高めるよう、簡単なユーザフレンドリーなインターフェース及び自動化の重視を提供する。例えば、特性テンプレートの使用は、しばしば複雑且つエラーを起こしやすい、必要条件を特定するタスクを、プルダウンメニューにおける数回のクリック及び幾つかのフォームの最小完了(フォーム入力(form filling))へ変形する。検証プロセスで各ステップの総体的な能力を高める様々な構成ツールの共生相互作用(symbiotic interaction)がある。これは、環境発生をより良くするために使用されるシンボル実行に基づく静的解析を含みうる。これは、また、モデルチェックに基づくシンボル実行を有してより多くの表現特性を自動的に特定し且つ検証するために使用される特性テンプレートを含みうる。
図3は、ウェブアプリケーションアーキテクチャを表す略ブロック図を表す。具体的には、図3は、ウェブ/電子商取引(e−コマース)アプリケーションの3段階アーキテクチャを表す。図3は、UI/ウェブブラウザ44と、(本例ではJava(登録商標)である)ビジネスロジック46と、サーバ/データベース48とを含む。UI/ウェブブラウザ44は、ナビゲーションエラーを有する。ビジネスロジック46内深くに隠されたバグは、従来の試験によって見つけるのが困難である。このシナリオでは、EJBサーバは、正確に動作すると仮定される。
図4は、どのようにSAVEアーキテクチャが動作することができるかを表す略ブロック図である。ドライバは、テスタ供給される使用状況/シナリオからビジネスロジックを試験するよう自動的に生成される。次いで、ビジネスロジックは検証される。特性“カートは、注文が承認された後に処理される”は、モデルチェックによって自動的に検証される。
続くステップで、データベースは置換される(もみ消される(stubbed out))。この場合に、EJB/サーバ/データベース呼出は、空きの又はユーザ供給されるスタブによって自動的に置換される。
図5を参照する前に、本発明の意義の幾つかを説明するのに役立つ簡単なケーススタディを与えることが有用である。ケーススタディは、ペットストア(PetStore)(13,000ライン)に関するものである。3つの重要な欠陥が、サンマイクロシステムズのブループリンツ・ウェブサイトから入手可能なペットストアのウェブアプリケーションに関して見つけられた。ペットストアは、2001年に開発されたベンチマークのウェブアプリケーションであり、そのときから5度の改訂が行われている。2006年にリリースされた第4の改訂は、試験のために使用された。最新のリリースは、第4のリリースのAJAXバージョンである。
検証される必要条件に関し:
・買い物かご(カート)は、注文が承認された後のチェックアウトにおいて処理される:
−SAVE環境発生及びモデルチェックによって検証される;
・注文総額=カート内の物品の総額:
−SAVE環境発生及びモデルチェックによって検証される;
・注文が500ドルより多い場合には、ステータスは保留である;
−SAVE環境発生及びシンボル実行によって検証される:
・Brids_Product_Page(鳥関係製品のページ)は、Birds_Item_Page(鳥関係アイテムページ)の前に到達されなければならない:
−SAVEモデルチェックに基づく試験発生によって検証される。
検出される欠陥に関し:
・パスワード不一致はチェックされない:
−セキュリティの問題は、SAVE環境発生及びモデルチェックによって検出される;
・空白アカウントプロファイル:
−ユーザアカウントは、空白プロファイル又は幾つかの既存のプロファイルのいずれか一方により生成される;
−SAVE必要条件モデルチェックに基づく自動テストケース発生によって検出される;
・新しいユーザにアカウントユーザ名を再利用する場合の衝突:
−SAVEモデルチェックに基づくテスト発生によって検出される。
本例におけるこのような欠陥の識別は、適切な検証の重要性を反映する。例えば本発明によって提供されるようなツールを用いないと、ペットストアモデルは、欠陥に遭遇するために断続的に行き詰まり又は機能しなくなりうる。
図6は、ソフトウェアアプリケーションを伴う1つの例となるシナリオに係る処理フローを表す略図である。図7は、関連するフローチャートを表す略図である。図6は、処理フローで強調される欠陥遷移コンポーネント80を含む。フローは、アカウント動作と、パスワード設定ステップと、しばしば典型的なソフトウェア環境で出会う一般的な手続ステップとを含む。関連する方法として、図7は、フローチャートでパスワード及び状態IDセグメントを表しており、これらの事項は、カウントが生成されている間に発生する。
図5は、世界的なシステム要求/特性を分類し、特性規格を自動化し、且つ、対応する必要条件チェッカーを自動的に呼び出す方法に関連する幾つかの(しかし、全てではない)教示を強調するために使用され得る。図5は、本発明の1つの態様に関連するモデルチェッカーの例を表す略ブロック図である。図5は、Java(登録商標)モデルチェッカー/モデルに基づく試験発生器54と、使用状況の組56と、ウェブアプリケーション62と、モデル発生器60と、アプリケーションモデル58と、(図5では短縮されて“必要条件”と称される)必要条件/特性規格ツール68とを含む。図5は、また、“検証される又はエラーを見つけられる”要素とともに、幾つかの視覚化コンポーネントを含む。図5は、更に、シンボルモデル(コード・インストルメンタ(instrumenter))64と、ナビゲーションチェッカー経路と、Jwebユニット・テストケースコンポーネントとを含む。
本発明の世界的なシステム態様は、第1に、特性/必要条件を、(例えば、電子商取引、金融等の)ソフトウェアアプリケーションの領域(domain)に基づいて、少数のカテゴリに分類することができる。このような分類は、領域ごとに先験的に行われ得る。それは、また、Java(登録商標)アプリケーションのソースコードを走査し、ユーザが自身の要求を特定する場合に選択することができる関心あるイベントの組を生成する。次いで、(満たされる必要がある)特定の必要条件/特性の組は、カテゴリと適合される。適合の成功後に、モニタ/特性チェッカーは、インスタンス化された特性カテゴリに対応して起動される。
ソフトウェアのための形式的な検証技術には問題がある。例えば、(純粋な)Java(登録商標)のためのポイントツール(例えば、モデルチェッカー)は、スタンドアローン、すなわち、形式主義を適用するのが困難であり、平均的なシステムエンジニアによって習得することが困難な使用法であり、且つ、ウェブアプリケーションのカスタマイズはない。
(LTL(linear temporal logic)と呼ばれる)数学的言語で記述される形式的特性/必要条件は、直感的に理解できず且つ複雑であり、更には、設計者は、これを特定するより容易な方法(特に、GUIに基づくシステム)を必要とする。更に、必要とされるものは、アプリケーションにとって関心ある“イベント”を検出する方法論である。次いで、これらのイベントは、特性を一般化するために使用され得る。このようにして、ウェブアプリケーションのための形式的な検証方法論の有用性を増す必要性が存在する。
特性分類/テンプレートに関し、JPFにおけるモデルチェック要求は、2つのステップ、すなわち、時相論理(temporal logic)(例えば、CTL、LTL)で正確に特性を表す段階と、JPF及びチェックとともに実行するJava(登録商標)モニタ実施特性を符号化する段階とを要する。特性テンプレートは、ウェブアプリケーションとの関連で、これらのステップを自動化する。ここで、ユーザは、テンプレートの小リストから選択する。この小リストは、ウェブアプリケーションに関して通常確認される必要条件のほとんどを捕捉するよう設計されている。例えば、約50頁の要件文書は、約10頁の一般化されたテンプレートにまで減らされる。
次いで、ユーザは、幾つかのパラメータを、確認されるべき特定のアプリケーション及び特性に基づいて、このテンプレートに入力し、その後に、(例えば、選択された特性、すなわち、“買い物かごは、全ての買い物セッションでのチェックアウト後に空にされる”ことを確認するよう)SAVEでモデルチェックを呼び出す。ステップは、1)bがaの後に従うよう、SAVEで応答特性テンプレートを選択する段階と、2)a及びbに夫々対応するイベント“カート・エンプティ(買い物かごを空き状態にする)”及び“チェックアウト”を形式的に満たす段階と、3)SAVEでモデルチェックを呼び出す段階とを含みうる。
特性テンプレートの利点は、仕様の容易さにある。更に、自然言語要求をテンプレートの小リストの中の1つと適合させることが容易である。加えて、正確な数学的言語特性を記述する必要性がない。テンプレートのリストは、検証すべき必要条件の組のアセンブルにおいてガイドとして機能することができる。また、モデルチェックも容易である。
自動モニタ発生に関し、特性テンプレートに対応するモニタは、先験的に開発される。領域固有の自動化された静的解析を用いて、(特性仕様に存在する関係に対応する)プログラムオブジェクト/イベントは、有効に見つけられる。その場合に、適切な特性テンプレートは、プログラムオブジェクト/イベントを有してインスタンス化される。テンプレートに対応するモニタは、適切なインスタンス化により呼び出される。次いで、検証されるべきソフトウェアアプリケーションは、実行を監視するモニタにより実行される。集合的に、これらの動作は、ソフトウェア検証のための実行可能なアプローチを実現する。
図1乃至5で表される構成要素は、デジタル回路、アナログ回路、ソフトウェア、又はこれらの要素のいずれかの適切な組み合わせとして実施され得る点に留意すべきことが重要である。加えて、これらの表されている構成要素のいずれも、ここで記載されるようにそれらの特徴及び/又は用途を達成するためのソフトウェア及び/又はアルゴリズムを含みうる。ソフトウェアは、ここに挙げられている機能が実行され得るようにコードを実行することができる。代替的に、このような動作及び技術は、いずれかの適切なハードウェア、コンポーネント、装置、特定用途向け集積回路(ASIC)、付加的なソフトウェア、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プロセッサ、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、又はこのような動作を促すよう動作するその他の適切なオブジェクトによって実現され得る。この配置に関連したこれらのアーキテクチャの構成によって相当の柔軟性が提供される。このようにして、このような機能が記載される環境の外で提供され得ることは、容易に認識され得る。このような場合に、このような機能性は、別々の構成要素、装置、又はモジュールにおいて容易に具体化され得る。
本発明は、特定の構成要素が区別されるように詳細に記載されてきたが、様々な変更及び改良が、いわゆる当業者に提案され得、更に、本発明は、明らかに添付の特許請求の範囲に包含されるように、このような変更及び改良のいずれも含むことが意図される。
また、留意すべきは、開示される特定の処理フローに関して、そのフローの中で説明されるいずれのステップも、本発明の技術的範囲を逸脱しない範囲で変更、拡大、又は削除をされ得ることである。更に、ステップは、本発明の技術的範囲を逸脱しない範囲で、いずれかの適切な順序で、又は同時に実行され得る。
多数の他の変更、置換、変形、代替、及び改良は当業者には明らかであり、添付の特許請求の範囲の適用範囲内で、本発明が全てのこのような変更、置換、変形、代替、及び改良を包含することが意図される。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出する欠陥検出段階を有し、
前記欠陥検出段階は、
前記ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、
モデルチェックのための特性モニタの自動起動を与える段階と、
診断のために前記ソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを有する、方法。
(付記2)
前記欠陥検出段階は、異種ソフトウェアアプリケーションを同種のアプリケーションに変形する段階を更に有する、付記1記載の方法。
(付記3)
前記欠陥検出段階は、前記ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する、付記1記載の方法。
(付記4)
前記ソフトウェアアプリケーションと関連する設定は、単純特性ファイルである、付記1記載の方法。
(付記5)
前記欠陥検出段階は、ユーザの行動をシミュレーションする段階を更に有する、付記1記載の方法。
(付記6)
前記欠陥検出段階は、使用状況又はシナリオからビジネスロジックを試験するドライバを生成する段階を更に有する、付記1記載の方法。
(付記7)
前記欠陥検出段階は、空きの又はユーザ供給のスタブによってデータベースを置き換える段階を更に有する、付記1記載の方法。
(付記8)
前記欠陥検出段階は、前記ソフトウェアアプリケーションのためのビジネスロジックを検証する段階を更に有する、付記1記載の方法。
(付記9)
ソフトウェアアプリケーションの領域に基づき、特性又は必要条件を少数のカテゴリに分類する段階と、
Java(登録商標)アプリケーションのソースコードを走査する段階と、
前記特性又は必要条件を特定する場合にエンドユーザによって選択され得るイベントの組を生成する段階と、
満足される必要がある選択された組の必要条件又は特性を1又はそれ以上のカテゴリと適合させる段階と、
インスタンス化された特性カテゴリに対応するモニタ又は特性チェッカーを、前記モニタ又は前記特性チェッカーへの前記カテゴリの適合完了後に起動する段階と
を有する方法。
(付記10)
前記分類段階は、前記ソフトウェアアプリケーションの領域ごとに先験的に行われる、付記9記載の方法。
(付記11)
コンピュータ媒体に組み込まれるロジックであって、
設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出するよう動作し、
前記欠陥検出動作は、
前記ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、
モデルチェックのための特性モニタの自動起動を与える段階と、
診断のために前記ソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを有する、ロジック。
(付記12)
前記欠陥検出動作は、異種ソフトウェアアプリケーションを同種のアプリケーションに変形する段階を更に有する、付記11記載のロジック。
(付記13)
前記欠陥検出動作は、前記ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する、付記11記載のロジック。
(付記14)
前記ソフトウェアアプリケーションと関連する設定は、単純特性ファイルである、付記11記載のロジック。
(付記15)
前記欠陥検出動作は、ユーザの行動をシミュレーションする段階を更に有する、付記11記載のロジック。
(付記16)
前記欠陥検出動作は、使用状況又はシナリオからビジネスロジックを試験するドライバを生成する段階を更に有する、付記11記載のロジック。
(付記17)
前記欠陥検出動作は、空きの又はユーザ供給のスタブによってデータベースを置き換える段階を更に有する、付記11記載のロジック。
(付記18)
前記欠陥検出動作は、前記ソフトウェアアプリケーションのためのビジネスロジックを検証する段階を更に有する、付記11記載のロジック。
(付記19)
ドライバは、テスタ供給される使用状況から、検証されるビジネスロジックを試験するよう自動的に生成され、これによって、特性は、モデルチェックによって自動的に検証される、付記11記載のロジック。
(付記20)
前記ソフトウェアアプリケーションは、電子商取引アプリケーションに関する、付記11記載のロジック。
どのように検証は典型的に実行されるかを表すシステムの例を表す略ブロック図である。 本発明の一実施例に従う、ソフトウェアを検証するための設定可能なウェブサービスアーキテクチャを表す略ブロック図である。 本発明の一実施例にかかるウェブサービスアーキテクチャを表す略図である。 どのようにSAVEアーキテクチャが動作することができるかの例を表す略ブロック図である。 本発明の一実施例に従う、世界的なシステムの必要条件又は特性を分類する方法に関連した幾つかの教示を表す略ブロック図である。 1つの例となるシナリオに係る処理フローを表す略図である。 本発明に関連した1つの例となるシナリオに係るフローチャートを表す略図である。
符号の説明
10 システム
12 条件付きコンポーネント
14 ウェブアプリケーション
16 データセグメント
20 モデルチェック
22,24 ウェブサービス
28 テストケース・コンポーネント
32 欠陥/バグ報告コンポーネント
40 欠陥診断のための画像視覚化コンポーネント
44 UI/ウェブブラウザ
46 ビジネスロジック
48 サーバ/データベース
54 試験発生器
56 使用状況の組
58 アプリケーションモデル
60 モデル発生器
62 ウェブアプリケーション
64 シンボルモデル
68 必要条件/特性規格ツール
80 欠陥遷移コンポーネント

Claims (20)

  1. 設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出する欠陥検出段階を有し、
    前記欠陥検出段階は、
    前記ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、
    モデルチェックのための特性モニタの自動起動を与える段階と、
    診断のために前記ソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを有する、方法。
  2. 前記欠陥検出段階は、異種ソフトウェアアプリケーションを同種のアプリケーションに変形する段階を更に有する、請求項1記載の方法。
  3. 前記欠陥検出段階は、前記ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する、請求項1記載の方法。
  4. 前記ソフトウェアアプリケーションと関連する設定は、単純特性ファイルである、請求項1記載の方法。
  5. 前記欠陥検出段階は、ユーザの行動をシミュレーションする段階を更に有する、請求項1記載の方法。
  6. 前記欠陥検出段階は、使用状況又はシナリオからビジネスロジックを試験するドライバを生成する段階を更に有する、請求項1記載の方法。
  7. 前記欠陥検出段階は、空きの又はユーザ供給のスタブによってデータベースを置き換える段階を更に有する、請求項1記載の方法。
  8. 前記欠陥検出段階は、前記ソフトウェアアプリケーションのためのビジネスロジックを検証する段階を更に有する、請求項1記載の方法。
  9. ソフトウェアアプリケーションの領域に基づき、特性又は必要条件を少数のカテゴリに分類する段階と、
    Javaアプリケーションのソースコードを走査する段階と、
    前記特性又は必要条件を特定する場合にエンドユーザによって選択され得るイベントの組を生成する段階と、
    満足される必要がある選択された組の必要条件又は特性を1又はそれ以上のカテゴリと適合させる段階と、
    インスタンス化された特性カテゴリに対応するモニタ又は特性チェッカーを、前記モニタ又は前記特性チェッカーへの前記カテゴリの適合完了後に起動する段階と
    を有する方法。
  10. 前記分類段階は、前記ソフトウェアアプリケーションの領域ごとに先験的に行われる、請求項9記載の方法。
  11. コンピュータ媒体に組み込まれるロジックであって、
    設定可能なウェブサービスアーキテクチャにより異種言語から成るソフトウェアアプリケーションにおける1又はそれ以上の欠陥を検出するよう動作し、
    前記欠陥検出動作は、
    前記ソフトウェアアプリケーションと関連する使用状況を捕らえ、その有効性を確認する段階と、
    モデルチェックのための特性モニタの自動起動を与える段階と、
    診断のために前記ソフトウェアアプリケーションにおける1又はそれ以上の欠陥を視覚化する段階とを有する、ロジック。
  12. 前記欠陥検出動作は、異種ソフトウェアアプリケーションを同種のアプリケーションに変形する段階を更に有する、請求項11記載のロジック。
  13. 前記欠陥検出動作は、前記ソフトウェアアプリケーションと関連するプレゼンテーション層に自動テスト生成を与える段階を更に有する、請求項11記載のロジック。
  14. 前記ソフトウェアアプリケーションと関連する設定は、単純特性ファイルである、請求項11記載のロジック。
  15. 前記欠陥検出動作は、ユーザの行動をシミュレーションする段階を更に有する、請求項11記載のロジック。
  16. 前記欠陥検出動作は、使用状況又はシナリオからビジネスロジックを試験するドライバを生成する段階を更に有する、請求項11記載のロジック。
  17. 前記欠陥検出動作は、空きの又はユーザ供給のスタブによってデータベースを置き換える段階を更に有する、請求項11記載のロジック。
  18. 前記欠陥検出動作は、前記ソフトウェアアプリケーションのためのビジネスロジックを検証する段階を更に有する、請求項11記載のロジック。
  19. ドライバは、テスタ供給される使用状況から、検証されるビジネスロジックを試験するよう自動的に生成され、これによって、特性は、モデルチェックによって自動的に検証される、請求項11記載のロジック。
  20. 前記ソフトウェアアプリケーションは、電子商取引アプリケーションに関する、請求項11記載のロジック。
JP2008255089A 2007-10-01 2008-09-30 ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法 Withdrawn JP2009087352A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/865,610 US20090089757A1 (en) 2007-10-01 2007-10-01 Configurable Web Services System and a Method to Detect Defects in Software Applications

Publications (1)

Publication Number Publication Date
JP2009087352A true JP2009087352A (ja) 2009-04-23

Family

ID=40509871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008255089A Withdrawn JP2009087352A (ja) 2007-10-01 2008-09-30 ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法

Country Status (2)

Country Link
US (1) US20090089757A1 (ja)
JP (1) JP2009087352A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013169059A1 (ko) * 2012-05-11 2013-11-14 삼성에스디에스 주식회사 웹 서비스 모니터링 시스템 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271953B2 (en) * 2008-03-12 2012-09-18 Fujitsu Limited System and method for providing middleware for capture of global requirements and validation for web applications
US8504997B2 (en) * 2009-03-19 2013-08-06 Fujitsu Limited Environment data refinement based on static analysis and symbolic execution
US9122803B1 (en) * 2010-10-26 2015-09-01 Interactive TKO, Inc. Collaborative software defect detection
AT13448U1 (de) * 2013-02-05 2013-12-15 Schnitzhofer Florian Programmlogik zur Spezifikation der Anforderungen an ein Entwicklungsergebnis
US9794333B2 (en) 2013-06-17 2017-10-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Workload and defect management systems and methods
US9430481B2 (en) 2013-06-17 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Storage disk file subsystem and defect management systems and methods
CN107689966B (zh) * 2017-10-12 2020-06-02 京东方科技集团股份有限公司 账号资源共享方法、系统、设备和计算机可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966535A (en) * 1995-12-07 1999-10-12 At&T Corporation Method and apparatus for generating program code for world wide web service applications
US6049664A (en) * 1997-11-25 2000-04-11 Alphablox Corporation Tier-neutral development mechanism for hypertext based applications
US6119247A (en) * 1998-06-22 2000-09-12 International Business Machines Corporation Remote debugging of internet applications
US6601018B1 (en) * 1999-02-04 2003-07-29 International Business Machines Corporation Automatic test framework system and method in software component testing
US6802056B1 (en) * 1999-06-30 2004-10-05 Microsoft Corporation Translation and transformation of heterogeneous programs
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
CA2440031C (en) * 2001-02-22 2013-07-02 Accenture Global Services Gmbh Distributed development environment for building internet applications by developers at remote locations
DE10161115A1 (de) * 2001-12-12 2003-07-03 Siemens Ag Transformation von Objektbäumen, insbesondere in MES-Systemen
US20040154000A1 (en) * 2003-02-03 2004-08-05 Kasra Kasravi System and method for semantic software analysis
US20050096937A1 (en) * 2003-11-04 2005-05-05 Subash Ghaisas S. Method of automation of business processes and apparatus therefor
US7360120B2 (en) * 2003-11-26 2008-04-15 International Business Machines Corporation Methods for adaptive problem determination in distributed service-based applications
US7634759B2 (en) * 2004-12-01 2009-12-15 Microsoft Corporation Distributed debugger environment
US20070169015A1 (en) * 2005-12-07 2007-07-19 Sbc Knowledge Ventures, L.P. Web services development automation toolkit with test case driver and customized configuration file

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013169059A1 (ko) * 2012-05-11 2013-11-14 삼성에스디에스 주식회사 웹 서비스 모니터링 시스템 및 방법

Also Published As

Publication number Publication date
US20090089757A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
CN106528100B (zh) 用于安全关键软件开发的基于模型的技术和过程的系统和方法
US8943423B2 (en) User interface indicators for changed user interface elements
US8799868B2 (en) Method and apparatus for the performing unit testing of software modules in software systems
US8515876B2 (en) Dry-run design time environment
JP2009087352A (ja) ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法
JP5295269B2 (ja) コンポーネント・モデル基盤の仮想ソフトウェア・プラットホームを生成する方法、これを利用してソフトウェア・プラットホーム・アーキテクチャを検証する方法及びその装置
CN107145437B (zh) 一种java注解测试方法及装置
US20090018811A1 (en) Generation of test cases for functional testing of applications
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
US11074162B2 (en) System and a method for automated script generation for application testing
US9134976B1 (en) Cross-format analysis of software systems
JP2009087354A (ja) ウェブアプリケーションの自動テスト生成システム及び方法
US20140214396A1 (en) Specification properties creation for a visual model of a system
Santana et al. RAIDE: a tool for Assertion Roulette and Duplicate Assert identification and refactoring
US20150286555A1 (en) System and method for converting the business processes to test-centric activity diagrams
US20170147474A1 (en) Software testing coverage
US20110016454A1 (en) Method and system for testing an order management system
US8887112B2 (en) Test validation planning
Bandara et al. Identifying software architecture erosion through code comments
Blouin et al. User interface design smell: Automatic detection and refactoring of Blob listeners
US20230185692A1 (en) Highly Tested Systems
Saadatmand Towards automating integration testing of. NET applications using Roslyn
Parizi et al. A survey on aspect-oriented testing approaches
US10417110B2 (en) Method for verifying traceability of first instructions in a procedural programming language generated from second instructions in a modelling language
Karam et al. Challenges and opportunities for improving code-based testing of graphical user interfaces

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111206