JP2016071895A - クラスタ化されたコード解析警告のレビューのための方法およびシステム - Google Patents
クラスタ化されたコード解析警告のレビューのための方法およびシステム Download PDFInfo
- Publication number
- JP2016071895A JP2016071895A JP2015191891A JP2015191891A JP2016071895A JP 2016071895 A JP2016071895 A JP 2016071895A JP 2015191891 A JP2015191891 A JP 2015191891A JP 2015191891 A JP2015191891 A JP 2015191891A JP 2016071895 A JP2016071895 A JP 2016071895A
- Authority
- JP
- Japan
- Prior art keywords
- warnings
- common point
- function
- review
- groups
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004458 analytical method Methods 0.000 title claims description 56
- 238000012552 review Methods 0.000 claims abstract description 115
- 230000006870 function Effects 0.000 claims description 112
- 230000003068 static effect Effects 0.000 claims description 28
- 230000008901 benefit Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer 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
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本出願は、2014年9月29日に出願されたインド国仮特許出願番号第3103/MUM/2014号に基づく優先権を主張する。該インド国仮特許出願の開示内容の全ては、参照により、本明細書に組み込まれる。
表1:クラスタ化されたコード解析において生成される複数の警告の例
表2:複数の共通ポイント警告の複数のグループの報告
表3:実験結果
表4:手作業によるレビュー結果
グループ化技術の影響をチェックするため、それぞれ異なるグループに属する180個の警告がランダムに選択され、手作業でレビューされる。表4は、複数の警告の複数のグループのレビュー結果を示している。この結果は、以下を示している。(1)131個の警告のレビューが、合計で517個の警告の除去に繋がった。(2)約66%のグループ(180個のうち、119個)が、各グループからの単一の警告を検査するだけで除去された。(3)トップレベルのグループ化(top level grouping)がいくつかの警告を除去していない場合、サブグループ化がその除去されない警告の除去に有用であった。(4)33個の警告を検査している間に収集されたレビュー情報が、その他の42個の警告をレビューする間に再利用された。労力削減についてのグループ化技術の影響をチェックするため、上記180個のグループに属する640個の警告が以下の2つの異なる設定でレビューされた。(1)個別のレビュー(グループ化なし)、(2)グループベースのレビュー(groups-based reviewing)。
Claims (14)
- ソフトウェアコードに関連付けられた複数の警告をレビューするための方法であって、
プロセッサーによって、
複数のクラスタを有する前記ソフトウェアコードに関連付けられ、前記ソフトウェアコードのクラスタワイズな静的解析において生成された前記複数の警告から、前記複数のクラスタの2つ以上のクラスタに共通する複数の共通ポイント警告と、1つ以上のユニーク警告と、を特定し、さらに、
警告プログラムポイントから、前記複数の共通ポイント警告の前記2つ以上のクラスタに関連付けられたクラスタエントリー関数まで到達するまでの間に必ず通過されるトップ必須関数である前記複数の共通ポイント警告のそれぞれの必須重複関数のトップを特定する工程と、
前記プロセッサーによって、前記必須重複関数の前記トップに基づいて、前記複数の共通ポイント警告の1つ以上のグループを生成する工程と、
前記プロセッサーによって、前記必須重複関数の前記トップを、前記複数の共通ポイント警告の対応するグループ用の制約として割り当てる工程であって、
前記制約に基づくレビューは、同じグループの前記複数の共通ポイント警告のそれぞれのレビューに適用可能である、割り当てる工程と、
前記プロセッサーによって、共通ポイント警告用のレビュー出力を用いて、該共通ポイント警告以外の複数の警告を、前記1つ以上のグループのそれぞれから除去する工程であって、
前記レビュー出力は、前記制約下における前記共通ポイント警告のレビューが、対応する前記グループの残存する全ての共通ポイント警告のレビューに対して適用可能となるように、前記制約下において前記1つ以上のグループのそれぞれからの前記共通ポイント警告をレビューすることによって特定される、除去する工程と、を含むことを特徴とする方法。 - 前記複数の警告は、静的解析ツールを用いた前記ソフトウェアコードのクラスタワイズな静的解析において生成される請求項1に記載の方法。
- 前記共通ポイント警告は、前記2つ以上のクラスタにおける前記プログラムポイントンの包含に起因して、複数回報告される前記ソフトウェアコード内の単一のユニークプログラムポイントに対応する請求項1に記載の方法。
- 前記複数の共通ポイント警告のそれぞれの前記必須重複関数のトップを特定する工程は、さらに、
前記プロセッサーによって、1つ以上の範囲関数チェーンを特定する工程であって、
前記1つ以上の範囲関数チェーンは、複数の関数間のチェーンであり、前記関数は、前記複数の関数間の前記チェーンのクラスタエントリー関数から呼び出され、前記複数の関数は、警告のレビューの間に通過される、前記1つ以上の範囲関数チェーンを特定する工程と、
前記プロセッサーによって、前記1つ以上のグループのそれぞれの1つ以上の必須重複範囲チェーンを特定する工程であって、
前記1つ以上の必須重複範囲チェーンは、前記1つ以上のグループのそれぞれの共通ポイント警告をレビューする間に必ず通過される前記1つ以上の範囲関数チェーンの一部である、前記1つ以上の必須重複範囲チェーンを特定する工程と、を含む請求項1に記載の方法。 - 前記複数の共通ポイント警告の前記1つ以上のグループを分割することによって、1つ以上のサブグループを生成する工程をさらに含み、
前記複数の共通ポイント警告の前記サブグループを生成する工程は、前記必須重複関数の第2のトップが、警告プログラムポイントから、前記サブグループ内の前記複数の警告に関連付けられた前記複数のクラスタの複数のクラスタエントリー関数まで到達するまでの間に必ず通過されるトップ必須関数となるように、前記必須重複関数の前記第2のトップに基づいて行われる請求項1に記載の方法。 - 前記プロセッサーによって、前記制約が、前記1つ以上のサブグループのそれぞれの警告の全てのレビューに適用可能となるように、前記1つ以上のサブグループのそれぞれ用の第2の制約を示す第2の出力を生成する工程を含む請求項5に記載の方法。
- ソフトウェアコードに関連付けられた複数の警告をレビューするためのシステムであって、
プロセッサーと、
複数のクラスタを有する前記ソフトウェアコードに関連付けられ、前記ソフトウェアコードのクラスタワイズな解析において生成された前記複数の警告から、前記複数のクラスタの2つ以上のクラスタにおいて共通する複数の共通ポイント警告と、1つ以上のユニーク警告と、を特定する警告解析モジュールと、
警告プログラムポイントから、前記複数の共通ポイント警告の前記2つ以上のクラスタに関連付けられた複数のクラスタエントリー関数まで到達するまでの間に必ず通過されるトップ必須関数である前記複数の共通ポイント警告のそれぞれの必須重複関数のトップを特定し、さらに、
前記必須重複関数の前記トップに基づいて、前記複数の共通ポイント警告の1つ以上のグループを生成するグループ特定モジュールと、
前記必須重複関数の前記トップを、前記複数の共通ポイント警告の対応するグループ用の制約として割り当てる制約特定モジュールであって、
前記制約に基づくレビューは、同じグループの前記複数の共通ポイント警告のそれぞれのレビューに適用可能である、制約特定モジュールと、
共通ポイント警告用のレビュー出力を用いて、該共通ポイント警告以外の複数の警告を、前記1つ以上のグループのそれぞれから除去する警告レビューモジュールであって、
前記レビュー出力は、前記制約下における前記共通ポイント警告のレビューが、対応する前記グループの残存する全ての共通ポイント警告のレビューに対して適用可能となるように、前記制約下において前記1つ以上のグループのそれぞれからの前記共通ポイント警告をレビューすることによって特定される、警告レビューモジュールと、を含むことを特徴とするシステム。 - 1つ以上の範囲関数チェーンを特定する範囲チェーン特定モジュールであって、
前記1つ以上の範囲関数チェーンは、複数の関数間のチェーンであり、前記関数は、前記複数の関数間の前記チェーンのクラスタエントリー関数から呼び出され、前記複数の関数は、警告のレビューの間に通過される、範囲チェーン特定モジュールと、
前記1つ以上のグループのそれぞれの1つ以上の必須重複範囲チェーンを特定する必須重複範囲チェーン特定モジュールであって、
前記1つ以上の必須重複範囲チェーンは、前記1つ以上のグループのそれぞれの共通ポイント警告をレビューする間に必ず通過される前記1つ以上の範囲関数チェーンの一部である、必須重複範囲チェーン特定モジュールと、をさらに含む請求項7に記載のシステム。 - 前記複数の共通ポイント警告の前記1つ以上のグループを分割することによって、1つ以上のサブグループを生成するサブグループ特定モジュールをさらに含み、
前記複数の共通ポイント警告のグループ化は、前記必須重複関数のトップが、前記複数の警告プログラムポイントから、それぞれの前記クラスタエントリー関数まで到達するまでの間に必ず通過されるトップ必須関数となるように、前記必須重複関数の前記トップに基づいて行われる請求項8に記載のシステム。 - 前記制約特定モジュールは、さらに、前記制約が、前記1つ以上のサブグループのそれぞれの警告の全てのレビューに適用可能となるように、前記1つ以上のサブグループのそれぞれ用の第2の制約を示す第2の出力を生成するよう構成されている請求項9に記載のシステム。
- システム上のプロセッサーによって実行されたとき、前記プロセッサーに以下の方法を実行させる命令を保存している非一時的コンピューター可読媒体であって、該方法は、
プロセッサーによって、
複数のクラスタを有する前記ソフトウェアコードに関連付けられ、前記ソフトウェアコードのクラスタワイズな静的解析において生成された前記複数の警告から、前記複数のクラスタの2つ以上のクラスタに共通する複数の共通ポイント警告と、1つ以上のユニーク警告と、を特定し、さらに、
警告プログラムポイントから、前記複数の共通ポイント警告の前記2つ以上のクラスタに関連付けられたクラスタエントリー関数まで到達するまでの間に必ず通過されるトップ必須関数である前記複数の共通ポイント警告のそれぞれの必須重複関数のトップを特定する工程と、
前記プロセッサーによって、前記必須重複関数の前記トップに基づいて、前記複数の共通ポイント警告の1つ以上のグループを生成する工程と、
前記プロセッサーによって、前記必須重複関数の前記トップを、前記複数の共通ポイント警告の対応するグループ用の制約として割り当てる工程であって、
前記制約に基づくレビューは、同じグループの前記複数の共通ポイント警告のそれぞれのレビューに適用可能である、割り当てる工程と、
共通ポイント警告用のレビュー出力を用いて、該共通ポイント警告以外の複数の警告を、前記1つ以上のグループのそれぞれから除去する工程であって、
前記レビュー出力は、前記制約下における前記共通ポイント警告のレビューが、対応する前記グループの残存する全ての共通ポイント警告のレビューに対して適用可能となるように、前記制約下において前記1つ以上のグループのそれぞれからの前記共通ポイント警告をレビューすることによって特定される、除去する工程と、を含むことを特徴とする非一時的コンピューター可読媒体。 - 前記方法は、前記プロセッサーによって、1つ以上の範囲関数チェーンを特定する工程であって、
前記1つ以上の範囲関数チェーンは、複数の関数間のチェーンであり、前記関数は、前記複数の関数間の前記チェーンのクラスタエントリー関数から呼び出され、前記複数の関数は、警告のレビューの間に通過される、前記1つ以上の範囲関数チェーンを特定する工程と、
前記プロセッサーによって、前記1つ以上のグループのそれぞれの1つ以上の必須重複範囲チェーンを特定する工程であって、
前記1つ以上の必須重複範囲チェーンは、前記1つ以上のグループのそれぞれの共通ポイント警告をレビューする間に必ず通過される前記1つ以上の範囲関数チェーンの一部である、前記1つ以上の必須重複範囲チェーンを特定する工程と、をさらに含む請求項11に記載の非一時的コンピューター可読媒体。 - 前記方法は、前記プロセッサーによって、前記複数の共通ポイント警告の前記1つ以上のグループを分割することによって、1つ以上のサブグループを生成する工程をさらに含む請求項11に記載の非一時的コンピューター可読媒体。
- 前記方法は、前記プロセッサーによって、前記制約が、前記1つ以上のサブグループのそれぞれの警告の全てのレビューに適用可能となるように、前記1つ以上のサブグループのそれぞれ用の第2の制約を示す第2の出力を生成する工程を含む請求項13に記載の非一時的コンピューター可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN3103/MUM/2014 | 2014-09-29 | ||
IN3103MU2014 | 2014-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016071895A true JP2016071895A (ja) | 2016-05-09 |
JP6116639B2 JP6116639B2 (ja) | 2017-04-19 |
Family
ID=55584554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015191891A Active JP6116639B2 (ja) | 2014-09-29 | 2015-09-29 | クラスタ化されたコード解析警告のレビューのための方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025699B2 (ja) |
JP (1) | JP6116639B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018026135A (ja) * | 2016-08-11 | 2018-02-15 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法 |
JP2020004363A (ja) * | 2018-06-25 | 2020-01-09 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 複数の静的解析アラームを再配置するための方法およびシステム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977017B2 (en) | 2016-04-23 | 2021-04-13 | International Business Machines Corporation | Warning data management for distributed application development |
US10831637B2 (en) * | 2016-04-23 | 2020-11-10 | International Business Machines Corporation | Warning data management with respect to an execution phase |
US10031821B2 (en) * | 2016-09-26 | 2018-07-24 | James Nelson | Distributed network electronic interference abatement system and method |
CN111897673B (zh) * | 2020-07-31 | 2022-10-21 | 平安科技(深圳)有限公司 | 运维故障根因识别方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170530A (ja) * | 2013-02-28 | 2014-09-18 | Tata Consultancy Services Ltd | 静的解析中に発生した警告をグループ化するシステムおよび方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0837662A (ja) * | 1994-07-22 | 1996-02-06 | Hitachi Ltd | 画像符号化復号化装置 |
US7261983B2 (en) * | 2000-12-08 | 2007-08-28 | Litel Instruments | Reference wafer and process for manufacturing same |
US20030212878A1 (en) * | 2002-05-07 | 2003-11-13 | Chen-Hanson Ting | Scaleable microprocessor architecture |
US7386845B1 (en) * | 2005-03-24 | 2008-06-10 | Network Appliance, Inc. | Automated compatibility and upgrade/downgrade knowledge base |
US7992134B2 (en) * | 2005-04-29 | 2011-08-02 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Systems, methods and apparatus for modeling, specifying and deploying policies in autonomous and autonomic systems using agent-oriented software engineering |
US7644056B2 (en) * | 2006-01-05 | 2010-01-05 | Sundri Kaur Khalsa | System and method for providing terrorism intelligence indications and warnings |
JP2008052410A (ja) * | 2006-08-23 | 2008-03-06 | Hitachi Ltd | 計算機開発装置 |
US9030657B2 (en) * | 2010-07-14 | 2015-05-12 | William P. Kuhn, Ph.D., Llc | Device and method for subaperture stray light detection and diagnosis |
US8856764B2 (en) | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Distributed static analysis of computer software applications |
US8612941B2 (en) | 2011-05-10 | 2013-12-17 | Tata Consultancy Services Limited | System and method for analysis of a large code base using partitioning |
JP5665128B2 (ja) | 2011-05-30 | 2015-02-04 | 日本電気通信システム株式会社 | 静的解析支援装置、静的解析支援方法、及びプログラム |
US8745578B2 (en) | 2011-12-04 | 2014-06-03 | International Business Machines Corporation | Eliminating false-positive reports resulting from static analysis of computer software |
US8793664B2 (en) * | 2011-12-12 | 2014-07-29 | Microsoft Corporation | Reducing false alarms for static analysis of concurrent programs |
-
2015
- 2015-09-29 JP JP2015191891A patent/JP6116639B2/ja active Active
- 2015-09-29 US US14/868,873 patent/US10025699B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014170530A (ja) * | 2013-02-28 | 2014-09-18 | Tata Consultancy Services Ltd | 静的解析中に発生した警告をグループ化するシステムおよび方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018026135A (ja) * | 2016-08-11 | 2018-02-15 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法 |
JP2020004363A (ja) * | 2018-06-25 | 2020-01-09 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | 複数の静的解析アラームを再配置するための方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
US10025699B2 (en) | 2018-07-17 |
JP6116639B2 (ja) | 2017-04-19 |
US20160092340A1 (en) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6116639B2 (ja) | クラスタ化されたコード解析警告のレビューのための方法およびシステム | |
US11321085B2 (en) | Meta-indexing, search, compliance, and test framework for software development | |
US9176729B2 (en) | System and method for prioritizing and remediating defect risk in source code | |
US10120783B2 (en) | Determining test case efficiency | |
US9459980B1 (en) | Varying cluster sizes in a predictive test load while testing a productive system | |
US20200272741A1 (en) | Advanced Rule Analyzer to Identify Similarities in Security Rules, Deduplicate Rules, and Generate New Rules | |
US9317414B2 (en) | Regression testing of SQL execution plans for SQL statements | |
US10387236B2 (en) | Processing data errors for a data processing system | |
KR102301946B1 (ko) | 분산 시스템에서 결함을 분석하기 위한 비주얼 툴 | |
US9971677B2 (en) | Generation of test scenarios based on risk analysis | |
JP5008006B2 (ja) | シンプトンの検証を可能にするためのコンピュータ・システム、方法及びコンピュータ・プログラム | |
US11531539B2 (en) | Automated compliance and testing framework for software development | |
US11586433B2 (en) | Pipeline release validation | |
US20160315961A1 (en) | Reporting security vulnerability warnings | |
US11531538B2 (en) | Meta-indexing, search, compliance, and test framework for software development using smart contracts | |
US20230208882A1 (en) | Policy - aware vulnerability mapping and attack planning | |
JP6419667B2 (ja) | テストdbデータ生成方法及び装置 | |
Tornhill | Assessing technical debt in automated tests with codescene | |
Thompson et al. | How software developers use work breakdown relationships in issue repositories | |
Gupta | Nirikshan: process mining software repositories to identify inefficiencies, imperfections, and enhance existing process capabilities | |
JP2009245154A (ja) | シンプトンを評価するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
Punn et al. | Testing big data application | |
Pathania et al. | Role of test case prioritization based on regression testing using clustering | |
Masur et al. | Preliminary performance analysis of Hadoop 3.0. 0-alpha3 | |
Schulte et al. | Active files as a measure of software maintainability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170111 |
|
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: 20170307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170321 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6116639 Country of ref document: JP 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 |
|
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 |