Fortranソースプログラム静的解析ツール

                      トップページ


S&E CodeScope/Fortran
のご案内

 CodeScope試用版のダウンロード cstrial.zip 587KB

 CodeScopeマニュアル(PDFmanual.pdf 33KB

S&E CodeScope/Fortranの使用料金

  Windows(1ライセンス)   1480/(税込み)

  Linux(5ライセンス)    12600/(税込み)

  Linux(追加1ライセンス)  2520/(税込み)

  Linux版は5ライセンスより受け付けております。追加ライセンス

  のみの購入はできませんのでご注意ください。

  送金手数料はお客様のご負担となります。

 

 CodeScope/Fortranを注文する

 


 弊社で開発・利用しているFortranソースプログラムの静的解析ツールのご紹介をさせていただきます。

 科学計算用のプログラムは、Fortran言語によって作成されることが多くあります。機能の少ないプログラムは修正・改良等のプログラム保守も簡単ですが、よく利用されるプログラムほど機能が追加され、プログラム規模が大規模になっていき、それにつれて修正・改良等のプログラム保守に大変な労力がかかるようになるものです。特に、大規模プログラムで当初のプログラム作成者が担当を離れてしまったような場合には、プログラム保守が事実上できなくなることもあります。その理由は、いろいろあると思いますが、その主な原因の一つに、プログラムの構造、変数の使用状況等の把握が困難になることがあげられます。

 それが原因で保守が困難になってきた大規模プログラムでも、プログラムの構造、変数の使用状況等をソースプログラムから自動的に取り出してくれるツールがあれば、プログラムの保守が容易になります。

 S&E CodeScope/Fortran は、Fortran言語で書かれたソースプログラムを静的に解析し、共通領域、変数、サブルーチンの使用状況や、プログラムの論理構造等プログラムの保守に必要な情報を自動的に取り出すツールで、大規模Fortranプログラムの修正・改良作業の労力を軽減することを可能にするツールです。CodeScopeとはプログラム(コード)を見る道具という意味合いでつけた名前で「コードスコープ」と呼んでおります。

1.利用環境

(1)計算機システム

Intel x86 Linux
Windows XP/7

 実行モジュールのご提供はWindows XP/7版またはIntel Linux版のみになります。    


(2)使用メモリ

 3万枚程度のプログラムで4MBのメモリを使用します。使用するメモリは制御コマンドで変更できます。ただし、試用版では使用可能なメモリは約2MBに固定されており、メモリー割り当ての変更を指定するsizeオプションは使用できません。


(3)処理時間

計算機の機種および静的解析オプションに依存しますが、8000枚のプログラムの静的解析は2秒程度で終了します。


(4)静的解析対象プログラム

Fortran77
言語で書かれており、コンパイルエラーのないプログラム。Fortran77からの拡張構文でよく使用されるものは正常に静的解析できます。タブがあると解析結果が正常でないことがあります。


(5)インストール
 試用版の圧縮ファイルにあるファイルcsfort.exeWindows版)およびcsfortIntel Linux版)がS&E CodeScope®/Fortran試用版の実行ファイルです。このファイルをパスの通った適当なディレクトリにコピーして下さい。さらに、Linux版の場合にはchmodで実行権を与えてください。これでインストールは終了です。

 


(6)使用方法
 S&E CodeScope®/Fortran試用版はコンソールアプリケーションです。Windowsの場合はMS-DOS画面を開いてコンソール上から次の形式でコマンドを入れます。

 

     csfort [-option [-option ..]] [-foption-file]

           [-Idirectry] source- file [ [-Idirectry] source- file ..]

 

    -option

静的解析用の制御コマンドを記述します。省略可能です。

    -foption-file

静的解析用の制御コマンドをファイルから入力したい場合に指定します。

    -Idirectry

 

インクルードファイル検索の起点ディレクトリを指定します。

それ以後に指定されるソースファイルにインクルードされるインクルードファイルの検索起点ディレクトリになります。

このオプションは省略可能です。

このオプションを指定しない場合には、インクルードファイル検索の起点ディレクトリはソースプログラムファイルのあるディレクトリになります。

指定したディレクトリをプログラムの標準値 (ソースプログラムファイルのあるディレクトリと同じディレクトリ)に戻すには、単に-Iを指定し   ます。

インクルードファイル名がソースファイルディレクトリからの相対パス名でソースプログラム中に指定されている場合にはこのオプションを使用する必要はありません。

    source-file   

 

静的解析対象のソースプログラムファイル名を指定します。ファイル名に相対パス名を指定することができます。また、ファイル名にはワイルドカード文字 '*' または '?'を含めることができます。ここで、'*' は任意の文字列、 '?' は任意の1文字を意味します。ただし、相対パス名のディレクトリ名部分にワイルドカード文字を指定することはできません。ソースプログラムファイル名は省略できません。

また、単にcsfortのみをタイプして実行すると簡単なガイドメッセージがでますのでご参考にして下さい。

 

 典型的な使用例

    csfort  *.f   >output.txt





2.出力情報および制御コマンド


(1)共通領域に関する情報

制御コマンドはcommoncomまたはcom(d)になります。共通領域が各ルーチンでどのように宣言されているかを要約して出力します。宣言パターンが同じがどうかを簡単に調べることができます。また、com(d)を指定すると、共通領域の変数(共通変数)が各ルーチンでどのように使用されているか(定義、参照、代入、値の入出力)の一覧表を出力します。


(2)プログラムの概略情報

制御コマンドはprogramまたはpgmになります。

各ルーチンの次の情報を出力します。

     ・仮引数の数と名前
     ・定義してある文関数名
     ・仮手続きの有無
     ・外部参照手続き名
     ・呼び出し元の手続き名
     ・参照している共通領域名
     ・includeされたファイル名


(3)外部参照手続き名の情報

制御コマンドはlibraryまたはlibになります。 ソースプログラム内で未解決となる外部参照手続き名とそれを参照しているルーチンの一覧表を出力します。


(4)プログラムのツリー図

制御コマンドはtreeまたはtree(e=xxxx)になります。

xxxx
はソースプログラムにあるプログラム名またはサブルーチン名です。

プログラムのツリー図を出力します。単にtreeを指定した場合には、どこからも呼ばれていないルーチン(メインルーチンを含む)からのツリー図を出力します。 tree(e=xxxx)の形式で指定した場合には、xxxxからのツリー図を出力します。


(5)サブルーチン内の論理構造情報

制御コマンドはnestになります。

各サブルーチンの論理構造をソースプログラムとともに、線または矢印等で表現して出力します。DO文、ブロックIF文の入れ子の状態や、算術IF文やGOTO文による処理流れの変更を確認することができます。


(6)Fortran文の出現頻度一覧表

制御コマンドはclassになります。

プログラムで使用されているFortran文を分類し、その集計情報を出力します。

(7)総索引(マスターインデックス)

制御コマンドはindexになります。

プログラムに現れた名前(Fortranのキーワードは含みません)を手続き名、変数名、配
列名、共通領域名等に分類し、出現したルーチン名とそこでどのように使用されているか(定義、参照、代入、値の入出力)の一覧表を出力します。


(8)未定義変数名の情報

制御コマンドはundefになります。

各ルーチンに現れる局所的な変数名または配列名で値の定義、代入が無いにもかかわらず参照があるものについてその名前を出力します。


(9)定数名の情報

制御コマンドはparameterまたはprmになります。

parameter
文で定義された定数名が出現したルーチンと定義文字列の一覧表を出力します。


標準では、commonlibraryclasstreeおよびundefが制御コマンドとして指定された状態になっています。これらの情報を出力したくない場合には、それぞれcom(off)lib(off)class(off)tree(off) またはundef(off) を 制御コマンドで指定します。



3.S&E CodeScope試用版圧縮ファイルの内容

圧縮ファイルに含まれるものは次の8つのファイルです。

CodeScope
試用版のご案内.doc
csfort       S&E CodeScope/Fortran
試用版実行ファイル(Intel Linux版)
csfort.exe  S&E CodeScope/Fortran
試用版実行ファイル(Windows版)
result.txt   S&E CodeScope/Fortran
試用版実行結果
main.f       S&E CodeScope/Fortran
試用版による静的解析対象のソースプログラムファイル
opninc.f    
同上
clsinc.f     
同上
flfind.f      
同上

CodeScope試用版のダウンロード cstrial.zip 587KB

 

Sizeオプションを含めた詳細なマニュアルはpdfファイルで提供しています。

CodeScopeマニュアル(PDFmanual.pdf 33KB

 

CodeScope/Fortranを注文する

 



4.お問い合わせ先

 S&E CodeScope/Fortranの詳細については以下にお問い合わせ下さい。


エス・アンド・イー株式会社

CodeScope
担当

TEL      047-470-3281
FAX     047-470-3282

E-mail codescope@s-e.co.jp


(1)本内容は将来予告無しに変更することがあります。
(2)S&E CodeScope/Fortran試用版を運用した結果については責任を負いかねま

  す。
(3)S&E CodeScope/Fortran試用版は概ね6000枚程度のプログラムの静的解析が

  できます。
(4)S&E CodeScope/Fortran試用版には使用期限があります。
(5)S&E およびCodeScopeは、エス・アンド・イー株式会社の登録商標です。

Copyright © 2005 S&E,Ltd. All rights reserved.