JP2007094753A - ロジック抽出支援装置 - Google Patents
ロジック抽出支援装置 Download PDFInfo
- Publication number
- JP2007094753A JP2007094753A JP2005283261A JP2005283261A JP2007094753A JP 2007094753 A JP2007094753 A JP 2007094753A JP 2005283261 A JP2005283261 A JP 2005283261A JP 2005283261 A JP2005283261 A JP 2005283261A JP 2007094753 A JP2007094753 A JP 2007094753A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- extraction
- command
- command statement
- statement
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】既存システムを構成しているプログラムに対して、ユーザに抽出したいロジックの入力情報を指定させ、プログラム中の命令文ごとに特定のロジックとして抽出する必要性についての判定を行う。ここで、特定ロジックとして解析対象プログラムから抽出する必要性を以下のように分類する。まず、ユーザの指定した入力のみから影響を受けている命令文は抽出対象となる命令文、つぎにユーザの指定した入力と指定しなかった入力の両方から影響を受けている命令文は修正候補となる命令文、最後にユーザの指定しなかった入力のみから影響を受けている命令文は抽出対象とならない命令文と分類し、それぞれの命令文を区別して表示する。
【選択図】図2
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 (7)
- ユーザの指定したプログラムより、プログラムとして実行できる命令文の集合であるロジックを抽出すること又は抽出した結果を修正することを支援するロジック抽出支援装置であって、
前記命令文又は当該命令文に含まれているデータ項目ごとに、抽出する必要性若しくは修正する必要性を判定する手段と、
判定した結果を出力する手段とを有することを特徴とするロジック抽出支援装置。 - 請求項1に記載のロジック抽出支援装置において、
前記ユーザの指定した入力項目の集合から決まる命令文の集合を抽出対象ロジックの候補として出力する手段を有することを特徴とするロジック抽出支援装置。 - 請求項1に記載のロジック抽出支援装置において、
前記判定する手段は、前記ユーザから指定した入力項目の集合から決まる変数とそうでない変数の両方からの影響受ける命令文を修正する命令文の候補として抽出する手段を有することを特徴とするロジック抽出支援装置。 - 請求項1に記載のロジック抽出支援装置において、
前記ユーザが指定した入力項目の集合から決まる変数とそうでない変数を区別して出力する手段を有することを特徴とするロジック抽出支援装置。 - 請求項1のロジック抽出支援装置において、
前記ユーザが指定しなかった入力項目の集合から決まる変数を、抽出又は作成するにロジックに付加するロジックの候補として出力することを特徴とするロジック抽出支援装置。 - 請求項1乃至5のいずれかに記載のロジック抽出支援装置において、
前記判定する手段の判定結果に従って、プログラム中の命令文又はデータ項目を分類して表示する手段を有することを特徴とするロジック抽出支援装置。 - 請求項6に記載のロジック抽出支援装置において、
前記表示する手段は、ロジック修正候補部分を示して、ソースの修正を促し、ソース修正を受けつけた場合、再度ロジックの修正候補部分を表示することを特徴とするロジック抽出支援装置。
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 true JP2007094753A (ja) | 2007-04-12 |
JP4876511B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012164264A (ja) * | 2011-02-09 | 2012-08-30 | Mitsubishi Electric Corp | プログラム解析装置およびプログラム解析プログラム |
Families Citing this family (31)
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 |
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 |
US9792546B2 (en) | 2013-06-14 | 2017-10-17 | Brain Corporation | Hierarchical robotic controller apparatus and methods |
US9384443B2 (en) | 2013-06-14 | 2016-07-05 | Brain Corporation | Robotic training 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 |
US9597797B2 (en) | 2013-11-01 | 2017-03-21 | Brain Corporation | Apparatus and methods for haptic training of robots |
US9463571B2 (en) | 2013-11-01 | 2016-10-11 | Brian Corporation | Apparatus and methods for online 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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0950379A (ja) * | 1995-08-09 | 1997-02-18 | Atr Tsushin Syst Kenkyusho:Kk | プログラム意味保存コード移動装置 |
JPH09305432A (ja) * | 1996-05-17 | 1997-11-28 | Atr Tsushin Syst Kenkyusho:Kk | バグ自動検出装置 |
JP2003216440A (ja) * | 2002-01-21 | 2003-07-31 | Hitachi Ltd | プログラム解析方法とそのプログラムおよびプログラム解析システム |
JP2005018114A (ja) * | 2003-06-23 | 2005-01-20 | Internatl Business Mach Corp <Ibm> | プログラム保守支援装置、プログラム保守支援方法、およびプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793369A (en) * | 1991-12-06 | 1998-08-11 | Lucent Technologies Inc. | Apparatus for visualizing program slices |
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 |
US7607066B2 (en) * | 2002-06-26 | 2009-10-20 | Microsoft Corporation | Auto suggestion of coding error correction |
-
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0950379A (ja) * | 1995-08-09 | 1997-02-18 | Atr Tsushin Syst Kenkyusho:Kk | プログラム意味保存コード移動装置 |
JPH09305432A (ja) * | 1996-05-17 | 1997-11-28 | Atr Tsushin Syst Kenkyusho:Kk | バグ自動検出装置 |
JP2003216440A (ja) * | 2002-01-21 | 2003-07-31 | Hitachi Ltd | プログラム解析方法とそのプログラムおよびプログラム解析システム |
JP2005018114A (ja) * | 2003-06-23 | 2005-01-20 | Internatl Business Mach Corp <Ibm> | プログラム保守支援装置、プログラム保守支援方法、およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012164264A (ja) * | 2011-02-09 | 2012-08-30 | Mitsubishi Electric Corp | プログラム解析装置およびプログラム解析プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4876511B2 (ja) | 2012-02-15 |
US20070074177A1 (en) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4876511B2 (ja) | ロジック抽出支援装置 | |
US9411788B2 (en) | Methods and apparatus for improved navigation among controlled terms in one or more user documents | |
KR100650427B1 (ko) | 자연어 인식 애플리케이션 구축을 위한 통합 개발 툴 | |
RU2643467C1 (ru) | Сопоставление разметки для похожих документов | |
US7373634B2 (en) | User configurable language independent code assist method, system, article of manufacture, and computer program product | |
US20060004528A1 (en) | Apparatus and method for extracting similar source code | |
JP4395761B2 (ja) | プログラムテスト支援装置およびその方法 | |
US20170103061A1 (en) | Interaction apparatus and method | |
US20080195999A1 (en) | Methods for supplying code analysis results by using user language | |
US9678628B2 (en) | Method for generating control-code by a control-code-diagram | |
US9811449B2 (en) | Test scenario generation support device and test scenario generation support method | |
US11301643B2 (en) | String extraction and translation service | |
US7853595B2 (en) | Method and apparatus for creating a tool for generating an index for a document | |
JP2005018114A (ja) | プログラム保守支援装置、プログラム保守支援方法、およびプログラム | |
JP2005300324A (ja) | 被試験対象デバイスの測定データ解析方法、プログラム、および測定データ解析システム | |
JP4826120B2 (ja) | 業務仕様作成支援システム及び方法 | |
JP5747698B2 (ja) | 要件管理支援装置 | |
US10042638B2 (en) | Evaluating documentation coverage | |
US11461090B2 (en) | Element detection | |
US20150186363A1 (en) | Search-Powered Language Usage Checks | |
JP2006277282A (ja) | モデル評価解析システムおよびモデル評価解析プログラム | |
CN114676155A (zh) | 代码提示信息的确定方法、数据集的确定方法及电子设备 | |
US20130132065A1 (en) | Acquiring Accurate Machine Translation | |
Pirzadeh et al. | Resilient user interface level tests | |
JP2008015879A (ja) | 自然文を含む仕様の記述支援方法、プログラムおよびシステム |
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 |