JP4876511B2 - ロジック抽出支援装置 - Google Patents
ロジック抽出支援装置 Download PDFInfo
- Publication number
- JP4876511B2 JP4876511B2 JP2005283261A JP2005283261A JP4876511B2 JP 4876511 B2 JP4876511 B2 JP 4876511B2 JP 2005283261 A JP2005283261 A JP 2005283261A JP 2005283261 A JP2005283261 A JP 2005283261A JP 4876511 B2 JP4876511 B2 JP 4876511B2
- Authority
- JP
- Japan
- Prior art keywords
- extraction
- command statement
- dependency
- logic
- command
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Description
その為、フォワードスライスを適用してロジック抽出を行った際に、プログラムの実行させる上で必要なロジックを抽出できない事やバックワードスライスを適用してロジック抽出を行った際にその結果にはユーザの必要としていない命令文が含まれてしまう、というプログラムスライスをロジック抽出に適用した際に発生する本質的な課題を解決できていない。
以下、本発明の実施例を図面を用いて詳細に説明する。
図1は、ロジック抽出支援システム全体構成図を示している。システムはバス等の接続手段で接続されたCPU141、ディスプレイ装置142、キーボード装置143、マウス等の指示装置144と、メモリ120、及びメモリ上に置かれたプログラム131〜134からなる。また110は記憶装置を示しており、111〜112はディスク装置上に置かれたデータである。なお、対象プログラム111は、本発明システムが解析対象とするプログラム及び本システムによって修正されたプログラムの集合である。
上記のステップ(201〜204)をプログラムの修正が終了するまで繰り返し行い、プログラムの中に修正候補の命令文がなくなったときにシステムを終了する。
つぎに入力文ごとに、図5に示している必要ロジック判定処理を行って、入力となる命令文804〜808の抽出区分に評価結果を登録する。なお、図14の依存グラフ中の、1402〜1404で示した命令文は、ユーザの指定した入力起点を含む命令文を示している(ステップ302)。
なお、図14の依存グラフ中の1412と1413で示した命令文は、出力起点の命令文である(ステップ303)。
そこで、1411と1407から着目する命令文を一つ選択する。(ステップ402)
ステップ304で命令文1411を選択した場合には、1411からロジック抽出処理を再帰的に呼び出す。(ステップ403)
命令文1411から再度ステップ303の処理を行い、1411の依存元命令文の抽出区分が全て評価されているかを判定する。(ステップ404-2)
依存元の命令文は1402、1403、1409が存在するが、そのうち1402と1403については抽出区分に“1”が既に登録されている為、評価されていない1409からロジック抽出処理を呼び出す。(ステップ402-2、403-2)
上記の処理を依存元の命令文の抽出区分がすべて評価されている命令文に達するまで行う。その結果、溯った依存元命令文ごとにロジック抽出処理を呼び出すことになる。
図5は必要ロジック判定処理のフローチャートを示しており、着目している命令文の抽出区分の評価と、命令文中の更新データ項目の着目区分の評価を行う。以下フローチャートのステップごとに説明を行う。
まず、着目している命令文中の着目区分に全て“○”が登録されていた場合には、更新項目にも“○”を付与する。なお着目している命令文が、条件文で更新項目が無い場合には、仮想的に条件文の返り値に対して着目区分を付与してもよい。(ステップ506)
ステップ506によって更新項目若しくは返り値に○の付与された命令文については、その命令文番号から制御依存情報テーブルを検索することにより、制御依存元の命令文の抽出区分を取得する(ステップ507)。
また、制御依存元の命令文の抽出区分に“1”以外のものが登録されている場合、着目している命令文の抽出区分に“3”を登録する。(ステップ509)
ステップ505で命令文中の参照項目の着目区分に“○”“△”“×”が2種類以上混在していると判定された場合又は“△”のみで構成されていると判定された場合、更新項目に、“△”を付与する。なお着目している命令文が、条件文で更新項目が無い場合には、条件文の返り値に対して仮想的に着目区分“△”を付与してもよい。(ステップ510)
ステップ510によって更新項目若しくは返り値に“△”の付与された命令文については、その命令文情報テーブルの抽出区分に“2”を登録する(ステップ511)。
ステップ505で取得した命令文中の参照項目の着目区分に“×”が登録される(例えば全ての着目区分に)と判定された場合には、更新項目にも、“×”を付与する。なお着目している命令文が条件文で、更新項目が無い場合には、条件文の返り値に対して着目区分“×”を付与してもよい(ステップ512)。
ここで、命令文情報903の抽出区分の評価と、それにこの命令文の更新項目であるワード情報1104の着目区分の評価を例にとり具体的に必要ロジック判定処理の説明を行う。まず着目している命令文番号をキーとして、参照/更新区分が参照になっているワード情報テーブルを検索すると、レコード1105が取得できる。
命令文情報903の構成要素である参照項目1105の着目区分のすべてに“○”が登録されたので、命令文情報903の構成要素である更新項目1104の着目区分にも“○”を登録する。(ステップ505、506)
更新項目1105の評価が終了したので、1105が含まれている命令文である903が制御依存元命令文の抽出区分を調査する。903の制御依存元命令文を検索して命令文情報901を取得すると抽出区分に“2”が登録されているので、命令文情報903の抽出区分に“3”を登録する。(ステップ509)
(プログラム中にループを含む場合の特定ロジック抽出機能)
上記の実施例では、解析対象プログラムにループ処理の無い場合を例あげて説明を行ったが、これはループのあるプログラムについて解析を行った場合には特別な処理が必要になる為である。なぜなら、解析対象となるプログラムの中にループ処理が含まれる場合の命令文2503と命令文2505の関連からも分かるように、ループ処理内では命令文間の依存性が循環している為その評価を決定することが出来ないからである。
1509のループ評価処理では依存性の循環している命令文の集合の抽出区分を決定する。
まず、1504で検出された評価状態区分に“評価中”の登録されている命令文を選択する(ステップ1601)。
まず、依存元命令文の追跡開始フラグに“1”が登録されているかを確認して、“1”が登録されていればステップ1705に遷移して、“1”が登録されていなければ1702に遷移する(ステップ1701)。
ステップ1712では追跡開始フラグに“1”を登録した命令文で仮定している抽出区分は“3”であるかを判定し、抽出区分に“3”が登録されている場合はステップ1713でその命令文の抽出区分に“5”を登録し、登録されていない場合はステップ1714に遷移する(ステップ1712、1713)。
まず、命令文2605の依存元命令文のうち評価状態区分が“評価中”の命令文を検索すると命令文2603であることが分かるので、命令文2603を選択する(ステップ1601)。
さらに図26の依存グラフを用いて、図17で示したトライアンドエラー評価処理を説明する。
ここでは、図2のフローチャート中の204に示される機能であるロジック表示/修正機能を図28〜図30を用いて説明する。まず、ソース表示部2801に解析対象となったプログラムを表示する。ソースの表示の際にはロジック抽出支援情報として命令文単位に抽出区分を提示する。そして、ユーザに修正する命令文番号を指定させ、詳細表示ボタン2804を押下させることによって修正する命令文番号2802を取得して、修正する命令文を修正対象命令文表示部2901に表示する。表示の際には修正支援情報としてデータ項目単位に着目区分を提示する。なお2801の命令文、2901のデータ項目の分類方法としては、その抽出区分や着目区分ごとに色分けして表示してもよい。
Claims (2)
- ユーザの指定したプログラムより、プログラムとして実行できる命令文の集合であるロジックを抽出すること又は抽出した結果を修正することを支援するロジック抽出支援装置であって、
前記ユーザから指定された出力命令文および出力データ項目からなる出力起点情報を受け付ける指示手段と、
当該ロジック抽出支援装置のメモリ上に格納された処理プログラムに従って、依存元命令文情報および当該依存元命令文情報の依存先を示す依存先命令文情報を対応付けて格納している制御依存テーブル、前記依存元命令文情報および前記依存先命令文情報に対応するデータ項目名を格納しているデータ依存情報テーブル、命令文毎に抽出する必要性を示す抽出区分を格納している命令文情報テーブルおよびデータ項目毎に抽出対象のとの関連性の遠さを示す3段階の区分を示す着目区分を格納しているワード情報テーブルを含む依存情報を用いて、前記制御依存テーブルおよびデータ依存情報テーブルから着目している命令文中の参照項目のデータ依存元である依存元命令文情報を検索して、検索された依存元命令文情報すなわち着目している依存先命令文中の参照項目の着目区分を、前記ワード情報テーブルから特定し、特定された前記着目区分が3段階中2段階以上混在する場合または3段階中の真中のみ構成されている場合に、当該命令文の抽出区分として抽出するには修正が必要な命令文であることを意味する情報を、前記命令文情報テーブルに登録し、登録された前記情報に従って、前記命令文又は当該命令文に含まれているデータ項目ごとに、抽出する必要性若しくは修正する必要性を判定する判定手段と、
判定した結果を出力する手段とを有することを特徴とするロジック抽出支援装置。 - 請求項1に記載のロジック抽出支援装置において、
前記判定する手段の判定結果に従って、プログラム中の命令文又はデータ項目を分類して表示する手段を有することを特徴とするロジック抽出支援装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283261A JP4876511B2 (ja) | 2005-09-29 | 2005-09-29 | ロジック抽出支援装置 |
US11/496,888 US20070074177A1 (en) | 2005-09-29 | 2006-07-31 | Logic extraction support apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005283261A JP4876511B2 (ja) | 2005-09-29 | 2005-09-29 | ロジック抽出支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007094753A JP2007094753A (ja) | 2007-04-12 |
JP4876511B2 true JP4876511B2 (ja) | 2012-02-15 |
Family
ID=37895696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005283261A Expired - Fee Related JP4876511B2 (ja) | 2005-09-29 | 2005-09-29 | ロジック抽出支援装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070074177A1 (ja) |
JP (1) | JP4876511B2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376758B2 (en) * | 2005-11-04 | 2008-05-20 | Sun Microsystems, Inc. | I/O dependency graphs |
JP2007264863A (ja) * | 2006-03-28 | 2007-10-11 | Hitachi Ltd | 業務使用解析装置 |
JP2009237762A (ja) * | 2008-03-26 | 2009-10-15 | Toshiba Corp | プログラム解析装置、プログラム解析方法および解析プログラム |
US8612954B2 (en) * | 2009-08-17 | 2013-12-17 | International Business Machines Corporation | Fine slicing: generating an executable bounded slice for program |
JP2012164264A (ja) * | 2011-02-09 | 2012-08-30 | Mitsubishi Electric Corp | プログラム解析装置およびプログラム解析プログラム |
US9566710B2 (en) | 2011-06-02 | 2017-02-14 | Brain Corporation | Apparatus and methods for operating robotic devices using selective state space training |
GB2500894A (en) * | 2012-04-03 | 2013-10-09 | Ibm | Automatically deriving a command for starting a program in an operating system of a computer |
US9764468B2 (en) | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
US9242372B2 (en) | 2013-05-31 | 2016-01-26 | Brain Corporation | Adaptive robotic interface apparatus and methods |
US9384443B2 (en) | 2013-06-14 | 2016-07-05 | Brain Corporation | Robotic training apparatus and methods |
US9792546B2 (en) | 2013-06-14 | 2017-10-17 | Brain Corporation | Hierarchical robotic controller apparatus and methods |
US9314924B1 (en) | 2013-06-14 | 2016-04-19 | Brain Corporation | Predictive robotic controller apparatus and methods |
US9579789B2 (en) | 2013-09-27 | 2017-02-28 | Brain Corporation | Apparatus and methods for training of robotic control arbitration |
US9463571B2 (en) | 2013-11-01 | 2016-10-11 | Brian Corporation | Apparatus and methods for online training of robots |
US9597797B2 (en) | 2013-11-01 | 2017-03-21 | Brain Corporation | Apparatus and methods for haptic training of robots |
US9358685B2 (en) * | 2014-02-03 | 2016-06-07 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US9346167B2 (en) | 2014-04-29 | 2016-05-24 | Brain Corporation | Trainable convolutional network apparatus and methods for operating a robotic vehicle |
US9630318B2 (en) | 2014-10-02 | 2017-04-25 | Brain Corporation | Feature detection apparatus and methods for training of robotic navigation |
US9717387B1 (en) | 2015-02-26 | 2017-08-01 | Brain Corporation | Apparatus and methods for programming and training of robotic household appliances |
US10471594B2 (en) * | 2015-12-01 | 2019-11-12 | Kindred Systems Inc. | Systems, devices, and methods for the distribution and collection of multimodal data associated with robots |
DE102017000063B4 (de) * | 2016-01-14 | 2019-10-31 | Fanuc Corporation | Robotereinrichtung mit Lernfunktion |
US10241514B2 (en) | 2016-05-11 | 2019-03-26 | Brain Corporation | Systems and methods for initializing a robot to autonomously travel a trained route |
US9987752B2 (en) | 2016-06-10 | 2018-06-05 | Brain Corporation | Systems and methods for automatic detection of spills |
US10282849B2 (en) | 2016-06-17 | 2019-05-07 | Brain Corporation | Systems and methods for predictive/reconstructive visual object tracker |
US10016896B2 (en) | 2016-06-30 | 2018-07-10 | Brain Corporation | Systems and methods for robotic behavior around moving bodies |
US10474663B2 (en) | 2016-07-20 | 2019-11-12 | Level 3 Communications, Llc | System and method for improved data consistency in data systems including dependent algorithms |
US10274325B2 (en) | 2016-11-01 | 2019-04-30 | Brain Corporation | Systems and methods for robotic mapping |
US10001780B2 (en) | 2016-11-02 | 2018-06-19 | Brain Corporation | Systems and methods for dynamic route planning in autonomous navigation |
US10723018B2 (en) | 2016-11-28 | 2020-07-28 | Brain Corporation | Systems and methods for remote operating and/or monitoring of a robot |
US10377040B2 (en) | 2017-02-02 | 2019-08-13 | Brain Corporation | Systems and methods for assisting a robotic apparatus |
US10852730B2 (en) | 2017-02-08 | 2020-12-01 | Brain Corporation | Systems and methods for robotic mobile platforms |
US10293485B2 (en) | 2017-03-30 | 2019-05-21 | Brain Corporation | Systems and methods for robotic path planning |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793369A (en) * | 1991-12-06 | 1998-08-11 | Lucent Technologies Inc. | Apparatus for visualizing program slices |
JPH0950379A (ja) * | 1995-08-09 | 1997-02-18 | Atr Tsushin Syst Kenkyusho:Kk | プログラム意味保存コード移動装置 |
JP2816666B2 (ja) * | 1996-05-17 | 1998-10-27 | 株式会社エイ・ティ・アール通信システム研究所 | バグ自動検出装置 |
US7174536B1 (en) * | 2001-02-12 | 2007-02-06 | Iowa State University Research Foundation, Inc. | Integrated interactive software visualization environment |
US7149734B2 (en) * | 2001-07-06 | 2006-12-12 | Logic Library, Inc. | Managing reusable software assets |
JP3648710B2 (ja) * | 2002-01-21 | 2005-05-18 | 株式会社日立製作所 | プログラム解析システム |
US7607066B2 (en) * | 2002-06-26 | 2009-10-20 | Microsoft Corporation | Auto suggestion of coding error correction |
JP4001286B2 (ja) * | 2003-06-23 | 2007-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム保守支援装置、プログラム保守支援方法、およびプログラム |
-
2005
- 2005-09-29 JP JP2005283261A patent/JP4876511B2/ja not_active Expired - Fee Related
-
2006
- 2006-07-31 US US11/496,888 patent/US20070074177A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070074177A1 (en) | 2007-03-29 |
JP2007094753A (ja) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4876511B2 (ja) | ロジック抽出支援装置 | |
US10860551B2 (en) | Identifying header lines and comment lines in log files | |
US9411788B2 (en) | Methods and apparatus for improved navigation among controlled terms in one or more user documents | |
CN103098051B (zh) | 搜索引擎优化助理 | |
US11500894B2 (en) | Identifying boundaries of substrings to be extracted from log files | |
US7562344B1 (en) | Method, system, and computer program product for providing real-time developer feedback in an integrated development environment | |
US20060004528A1 (en) | Apparatus and method for extracting similar source code | |
JP4395761B2 (ja) | プログラムテスト支援装置およびその方法 | |
US9811449B2 (en) | Test scenario generation support device and test scenario generation support method | |
US9678628B2 (en) | Method for generating control-code by a control-code-diagram | |
US11301643B2 (en) | String extraction and translation service | |
US7853595B2 (en) | Method and apparatus for creating a tool for generating an index for a document | |
JP2005300324A (ja) | 被試験対象デバイスの測定データ解析方法、プログラム、および測定データ解析システム | |
JP2008204405A (ja) | ソフトウェアのリグレッションテストシステム、リグレッションテストプログラムおよびリグレッションテスト方法 | |
JP5747698B2 (ja) | 要件管理支援装置 | |
US10042638B2 (en) | Evaluating documentation coverage | |
JP2006285707A (ja) | 業務仕様作成支援システム及び方法 | |
US20130326466A1 (en) | Human Readable Software Program Test Step | |
US11461090B2 (en) | Element detection | |
US20150186363A1 (en) | Search-Powered Language Usage Checks | |
JP2009169573A (ja) | 解析結果出力装置、及び解析結果出力方法 | |
JP2006277282A (ja) | モデル評価解析システムおよびモデル評価解析プログラム | |
JP7469999B2 (ja) | 検索装置、検索方法、および検索プログラム | |
JP2008015879A (ja) | 自然文を含む仕様の記述支援方法、プログラムおよびシステム | |
CN111930636B (zh) | 图形编程作品检查方法、装置、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110712 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111013 |
|
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: 20111101 |
|
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: 20111114 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4876511 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141209 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |