JPH02201646A - プログラム作成装置 - Google Patents

プログラム作成装置

Info

Publication number
JPH02201646A
JPH02201646A JP2146289A JP2146289A JPH02201646A JP H02201646 A JPH02201646 A JP H02201646A JP 2146289 A JP2146289 A JP 2146289A JP 2146289 A JP2146289 A JP 2146289A JP H02201646 A JPH02201646 A JP H02201646A
Authority
JP
Japan
Prior art keywords
program
execution
line
parts
created
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.)
Pending
Application number
JP2146289A
Other languages
English (en)
Inventor
Yukio Fukuda
由紀雄 福田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2146289A priority Critical patent/JPH02201646A/ja
Publication of JPH02201646A publication Critical patent/JPH02201646A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、例えば汎用的なプログラム部品を組合せる等
してプログラムを作成するプログラム作成装置に関する
(従来の技術) 近年、汎用計算機においては、主メモリサイズの増加や
仮想記憶機構の普及によって、プログラムサイズの制約
が緩和されつつあるが、製品組込み用のマイクロコンピ
ュータのプログラムや実行速度を重視するシステムのプ
ログラムでは、経済性や応答性等の理由によって、プロ
グラムサイズの縮小は、依然として重要な課題の一つと
されている。
このような状況下において、最近、プログラム開発の効
率向上化のため、汎用的なソフトウェア部品を複数組合
わせてプログラムを作成する方法が進みつつある。
ところが、この汎用的なソフトウェア部品を組合わせて
プログラムを作成する方式は、プログラムを効率的に作
成できるという利点がある反面、共通性や汎用性のため
に、実際の動作時に不用な部分まで対象プログラムに組
込んでしまう。
第2図は、成る汎用的なソフトウェア部品を組合せて作
成されたプログラムの構成例を示している。
同図に示すように、このプログラムでは、メインルーチ
ンPにおいて汎用部品Aを使用しているが、このメイン
ルーチンPでは、I=0、J”=0としてのみ汎用部品
Aを使用するよう定義されているので、実際に使われて
いる部品は、汎用部品Aのうちの下位部品B、Dの制御
に関する部分のみであり、それ以外は使用されない。
そこで、使用されない部品例えばC,E、F等を利用者
か汎用部品Aを分析して見伺は出し、これらを除去する
方法が考えられるか、利用者か汎用部品Aを分析して内
部の動的構造まで分析することは非常に手間がかかり、
汎用部品を利用する利点かなくなってしまう。
したがって、プログラムサイズの制約が大きい製品組込
み用のマイクロコンピュータのプログラムや実行速度を
重視するシステムのプログラムの作成には、上記のプロ
グラム作成方式は不向きであった。
(発明が解決しようとする課題) このように、汎用的なソフトウェア部品を組合せて作成
されたプログラムには、実際には使用されない部分が多
く含まれており、しかもこの非実行部分を削除するには
非常に手間がかかるという問題があった。
本発明は上述した課題を解決するためのものであり、作
成されたプログラム内の実際には実行されていない行を
容易に検出して削除することのできるプログラム作成装
置の提供を目的としている。
[発明の構成] (課題を解決するだめの手段) 本発明のプログラム作成装置は上記した目的を達成する
ために、作成されたプログラムの実行動作を解析する解
析手段と、この解析手段による解析の結果に基づいてプ
ログラムを構成する各行の実行回数をカウントする実行
回数カウント手段と、この実行回数カウント手段により
カウントされたプログラムの各行の実行回数に基づいて
、プログラム内の実行されていない行を判断し、この行
を除去するプログラム除去手段を備えたものである。
(作 用) 本発明のプログラム作成装置では、まず作成されたプロ
グラムの実行動作を解析手段により解析して、その解析
結果に基ついてプログラムを構成する各行の実行回数を
実行回数カウント手段によりカウントする。続いてプロ
グラム除去手段により、実行回数カウント手段によりカ
ウントされたプログラムの各行の実行回数に基づいて、
プログラム中の実行されない行を判断し、この行を除去
する。
したかって、この発明によれば、作成されたプログラム
内の実行されていない行を容易に検出して削除すること
ができる。
(実施例) 以下、本発明の実施例の詳細を図面に基づいて説明する
第1図は本発明の一実施例であるプログラム作成装置に
おけるプログラム非実行部分の除去機構を説明するため
の図である。
同図において、1はプログラム非実行部分の除去機構、
2は汎用的なソフトウェア部品を組合せる等して作成さ
れた対象プログラムの原本、3は対象プログラムの原本
2から非実行部分を除去した後の対象プログラムである
上記した対象プログラムの原本2は、m個のプログラム
の行2.1〜2、mからなり、非実行部分を除去した後
の対象プログラム3は、n個のプログラムの行3.1〜
3.nからなっている。
またプログラム非実行部分の除去機構1は、この機構の
全体の制御を行う制御部1.1と、対象プログラムの各
行の実行回数を記録するための領域を設定する実行回数
記録用領域設定部1.2と、プログラムの実行動作を解
析するプログラム実行解析部1.3と、プログラム内の
実際には実行されていない行を除去するプログラム除去
部1.4とからなっている。
さらに記憶領域として、プログラムの各行の実行回数が
記録される実行回数記録用領域1.5と、実行時の変数
値を保存する変数値保存用領域1.6とをそれぞれ備え
ている。尚、実行回数記録用領域1.5には、対象プロ
グラムの各行2.1〜2.mに対応する領域1.5.1
〜1゜5、mが用意されている。
そして以上のように構成されたプログラム非実行部分の
除去機構1は、制御部1.1により、実行回数記録用領
域設定部1.2、プログラム実行解析部1.3、プログ
ラム除去部1.4を順次起動することで、対象プログラ
ムの原本2から非実行部分を除去した後の対象プログラ
ム3を作成するようなされている。
次にこの実施例の動作について説明する。
まず、プログラム非実行部分の除去機構1において、制
御部1.1は、実行回数記録用領域設定部1.2を起動
する。
すると、この実行回数記録用領域設定部1.2は、対象
プログラムの原本2を分析して、対象プログラムの各行
2.1〜2.mに対応する実行回数記録用領域1.5.
1〜1,5、mを確保した後、これを初期化し、制御を
制御部1.1に戻す。
次に、制御部1.]はプログラム実行解析部1.3を起
動する。
起動されたプログラム実行解析部1.3は、対象プログ
ラムの原本2の各行を先頭の行2.1から順次解析し、
その解析結果に応じて次の処理を行う。
A、領域確保命令の場合 指定された変数名を、変数値保存用領域1.6内に確保
し、その値として初期値を設定する。
B、演算命令の場合 変数の値については、変数値保存用領域1.6内の値を
参照しながら指定された演算を行い、その演算結果を変
数名に対応した変数値保存用領域1.6内に書き込む。
尚、値が特定できない変数の場合(例えば、キーボード
から入力された内容等の場合)には、オペレータが、変
数の値や範囲を指示することによって設定する。またオ
ペレータでも設定できない変数の場合には、不定の値と
して扱う。
C3分岐命令の場合 指定された分岐条件を調べ、分岐の可能な行に分岐する
尚、値が不定の変数や複数の値をとる変数の場合には、
可能性のある飛び先は全て実行対象とする。
こうして、実行された対象プログラムの各行に対し、実
行回数記録用領域1.5.1〜1.5゜mのうちの該当
する領域の値をカウントアツプする。
この後、プログラム実行解析部]、3は、対象プログラ
ムの各行の実行が終了した後、再び制御を制御部1.1
に戻す。
次に制御部1.1はプログラム除去部1.4を起動する
起動されたプログラム除去部1.4は、実行回数記録用
領域1.5内の各領域1.5.1〜1.5.mのカウン
ト値を調べ、実行回数が「0」でない行を集めて非実行
部分を除去した後の対象プログラム3を作成する。
この後、非実行部分を除去した後の対象プログラム3内
の各行3.1〜B、nに対して、分岐命令での飛び先等
を調べ、飛び先が除去された分岐命令の削除等の編集を
行う。
そしてこの処理を終えると、制御部1.1に制御が戻さ
れる。
かくしてこの実施例によれば、対象プログラムの原本2
を作成した後、同プログラム実行時の動作を解析して、
実行されないプログラムの行を検出し、その行を自動的
に除去することができるので、汎用的なソフトウェア部
品を組合せる等して作成されたプログラムにおける非実
行部分を容易に削除することができ、プログラムサイズ
の縮小化を図ることができる。
[発明の効果] 以上説明したように本発明のプログラム作成装置によれ
ば、作成されたプログラム内の実際には実行されていな
い行を容易に検出して削除することができる。
【図面の簡単な説明】
第1図は本発明の一実施例であるプログラム作成装置に
おけるプログラム非実行部分の除去機構を説明するため
のブロック図、第2図は汎用部品の組合せて作成された
プログラムの構成を示す図である。 1・・・プログラム非実行部分の除去機構2・・・対象
プログラムの原本 3・・・対象プログラムの原本から非実行部分を除去し
た後の対象プログラム 1.1・・・制御部 1.2・・・実行回数記録用領域設定部1.3・・・プ
ログラム実行解析部 1.4・・・プログラム除去部 1.5・・・実行回数記録用領域 出願人     株式会社 東芝

Claims (1)

    【特許請求の範囲】
  1. (1)作成されたプログラムの実行動作を解析する解析
    手段と、この解析手段による解析の結果に基づいて前記
    プログラムを構成する各行の実行回数をカウントする実
    行回数カウント手段と、この実行回数カウント手段によ
    りカウントされた前記各行の実行回数に基づいて、前記
    プログラム内の実行されてない行を判断し、この行を除
    去するプログラム除去手段を備えたことを特徴とするプ
    ログラム作成装置。
JP2146289A 1989-01-31 1989-01-31 プログラム作成装置 Pending JPH02201646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2146289A JPH02201646A (ja) 1989-01-31 1989-01-31 プログラム作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2146289A JPH02201646A (ja) 1989-01-31 1989-01-31 プログラム作成装置

Publications (1)

Publication Number Publication Date
JPH02201646A true JPH02201646A (ja) 1990-08-09

Family

ID=12055648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2146289A Pending JPH02201646A (ja) 1989-01-31 1989-01-31 プログラム作成装置

Country Status (1)

Country Link
JP (1) JPH02201646A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243011A (ja) * 2011-05-18 2012-12-10 Ntt Data Corp ソースコード分析装置、ソースコード分析方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243011A (ja) * 2011-05-18 2012-12-10 Ntt Data Corp ソースコード分析装置、ソースコード分析方法およびプログラム

Similar Documents

Publication Publication Date Title
US6658649B1 (en) Method, apparatus and article of manufacture for debugging a user defined region of code
US6769054B1 (en) System and method for preparation of workload data for replaying in a data storage environment
JPH05224911A (ja) 動的命令修正制御装置
US8261251B2 (en) Modification of array access checking in AIX
KR101826828B1 (ko) 로그 데이터 관리 시스템 및 방법
US7426660B2 (en) Method, program, and storage medium for acquiring logs
EP0575066A2 (en) Error handling in a state-free system
JPH02201646A (ja) プログラム作成装置
JP3004102B2 (ja) データベース演算処理装置
JP4125053B2 (ja) ログ取得方法
JP2004199264A (ja) データベース処理方法及びその実施装置並びにその処理プログラム
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP2636526B2 (ja) 命令追跡処理方式
JP2885907B2 (ja) オンライン中タスク処理時間分析方式
JPH04274519A (ja) プログラム高速化自動実行方式
JP2004078750A (ja) オブジェクト管理装置および方法とプログラム
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JPH04199436A (ja) ソフトウェア検査システム
KR100216533B1 (ko) 병행 chill 프로그램의 결정적 재실행을 위한 사건 이력 기록 방법
JPH01185729A (ja) オーバレイ構造プログラム実行方式
JPS63276629A (ja) ファイル内レコ−ドのソ−ト方式
JP2833933B2 (ja) インサーキット・エミュレータ
Schruben et al. Teaching simulation with Σ
JPH05101110A (ja) データベース演算処理装置
JPH04289927A (ja) デバッガの拡張コマンド生成システム