JP2006260053A - 特定サブルーチン検索システムおよびこれに用いるプログラム - Google Patents
特定サブルーチン検索システムおよびこれに用いるプログラム Download PDFInfo
- Publication number
- JP2006260053A JP2006260053A JP2005075521A JP2005075521A JP2006260053A JP 2006260053 A JP2006260053 A JP 2006260053A JP 2005075521 A JP2005075521 A JP 2005075521A JP 2005075521 A JP2005075521 A JP 2005075521A JP 2006260053 A JP2006260053 A JP 2006260053A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- specific
- operating system
- name
- search
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】オペレーティング・システムやライブラリのバージョンアップにおけるソフトウェア問題発生有無の事前検討の効率化と抽出結果の記録を可能とする支援システムを提供することを目的とする。
【解決手段】本発明の特定サブルーチン検索システムは、ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段と、前記サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれるサブルーチンを検索する第1サブルーチン検索手段とを備える。
【選択図】図1
【解決手段】本発明の特定サブルーチン検索システムは、ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段と、前記サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれるサブルーチンを検索する第1サブルーチン検索手段とを備える。
【選択図】図1
Description
この発明は、開発したソフトウェアの保守・維持などに使用され、ソフトウェアの使用環境となるオペレーティング・システムやライブラリの変更におけるソフトウェアの問題発生有無の事前検討を支援する特定サブルーチン検索システムおよびこれに用いるプログラムに関するものである。
従来のソフトウェアとその使用環境(オペレーティング・プラットフォーム)との互換性を評価する方法及び装置では、オペレーティング・プラットフォームを記述する仕様が定義用言語を用いて生成される。互換性エンジンを実行し、アプリケーションの仕様への依存性を評価し、アプリケーションがオペレーティング・プラットフォームに適合しているか否か、またアプリケーションがどのように仕様に違反しているかをレポートする(例えば、特許文献1参照)。
従来の整合性のチェック方法として、API(Application Program Interface)を呼び出す側と呼び出される側でイニシャル時にAPIのバージョン管理テーブルを交換し、その情報からAPIアクセス管理テーブルを再構築することで、不整合なAPIをアクセスした場合には、エラーまたは整合性がとれたバージョンでアクセスすることを特徴とする方法がある(例えば、特許文献2参照)。
また、従来のすでにインストールされているアプリケーションに必要なライブラリの不正な更新や削除を監視するシステムとして、アプリケーションが必要とするオペレーティング・システム内のライブラリの状態を定期的に監視し、アプリケーションが必要とするライブラリの不正な更新や削除を警告するシステムがある(例えば、特許文献3参照)。
近年の開発サイクルの短縮化と競争激化により、一般のオペレーティング・システムやライブラリのバージョンアップサイクルも短縮化傾向であるとともにバージョンアップ後の古いバージョンのサポートも数年で終了している。一方、オペレーティング・システムやライブラリ上で動作するソフトウェアは、オペレーティング・システムやライブラリが変化しても動作することが要求される。この要求に応えるためには、オペレーティング・システムやライブラリの変更前の事前検討は重要な段階であり、この段階でオペレーティング・システムやライブラリの変更後でもソフトウェアが正しく動作するかどうかを正確に判断する必要がある。
特許文献1記載のソフトウェアとその使用環境(オペレーティング・プラットフォーム)との互換性を評価する方法及び装置は、オペレーティング・システムやライブラリの仕様を定義用言語で事前に生成する必要がある。しかし、一般のオペレーティング・システムやライブラリを用いる場合は、これらオペレーティング・システムやライブラリに関する仕様は、自然言語で記述されたマニュアルによって提供され、定義用言語で記述された仕様は提供されない。また、自然言語で記述されたマニュアルは、自然言語の曖昧さから定義用言語を生成することは困難である。よって、一般のオペレーティング・システムやライブラリでは、開発したソフトウェアがオペレーティング・システムやライブラリに適合しているか否かを判断することができない。
特許文献2および特許文献3は、イニシャル時や稼動中に不整合が起こった場合にその不整合を検出し、エラーで警告するものである。しかし、オペレーティング・システムやライブラリを購入した場合、その環境で使用する全API、全ライブラリのバージョン一覧表が開示されているとは限らず、このようなケースではバージョン情報による整合チェックができない。また実際にシステムで稼動させないと変更後のバージョン不整合を検出することができず、さらにバージョンの不整合を検出するだけであり、仕様がどのように変更されたかを検出することはできない。
よって、これまでのオペレーティング・システムやライブラリの変更が発生する場合の事前検討は、ソフトウェアが使用するAPIを抽出する作業と、変更前後の電子マニュアルファイル内で対応するAPIの記述箇所を抽出する作業とが連動しておらず、多大な手作業が発生するため、作業効率の低下、検討結果を得るまでの長時間化を招来するという課題があった。
この発明は上述のような課題を解決するためになされたものであり、オペレーティング・システムやライブラリの変更におけるソフトウェア問題発生有無の事前検討の効率化と抽出結果の記録を可能とする特定サブルーチン検索システムおよびこれに用いるプログラムを提供することを目的とする。
本発明の特定サブルーチン検索システムは、ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段と、サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれるサブルーチンを検索する第1サブルーチン検索手段とを備える。
この発明の特定サブルーチン検索システムによれば、ソフトウェア内に含まれるAPIを自動的に抽出することができ、また、電子マニュアルファイルの内容の一部を変更した新型の電子マニュアルファイルが存在する場合に、新旧電子マニュアルファイル間における同一箇所及び変更箇所を自動的に検出することができるので、新旧電子マニュアルファイル内の重複APIを検出するための作業者による手作業や、新旧電子マニュアルファイルにおける同一箇所を手作業で検出する手間を省略することができる。この結果、作業者は、オペレーティング・システムやライブラリの変更におけるソフトウェア問題発生有無の事前検討作業において、内容の変更がシステムに与える影響の有無の判断作業等に専念することが可能となり、作業効率を大幅に向上させることができる。
実施の形態1.
以下、この発明の実施の形態1に係る特定サブルーチン検索システムについて図を用いて説明する。
ここに、本発明の特定サブルーチン検索システム用プログラムは、後述する計算機101によって実行されるプログラムである。
以下、この発明の実施の形態1に係る特定サブルーチン検索システムについて図を用いて説明する。
ここに、本発明の特定サブルーチン検索システム用プログラムは、後述する計算機101によって実行されるプログラムである。
図1は、本発明の実施の形態1に係る特定サブルーチン検索システムのハードウェア構成を概略的に示す図である。
図1において、本発明の実施の形態1に係る特定サブルーチン検索システムの保守・維持開発用の計算機101には端末装置102が接続されており、作業者103は端末装置102に対して、各種確認および操作を行う。
図1において、本発明の実施の形態1に係る特定サブルーチン検索システムの保守・維持開発用の計算機101には端末装置102が接続されており、作業者103は端末装置102に対して、各種確認および操作を行う。
計算機101は、CPU104、メモリ105、記録装置106、及び、端末制御装置107を備える。
端末装置102は、端末制御装置107と接続される。
なお、メモリ105は一時保存用のメモリであり、記録装置106はデータベースである。
端末装置102は、端末制御装置107と接続される。
なお、メモリ105は一時保存用のメモリであり、記録装置106はデータベースである。
図2は、計算機101内における処理を示すブロック図である。
記録装置106は、ソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前(バージョンアップ前)のオペレーティング・システムの電子マニュアルファイルまたは変更前のライブラリの電子マニュアルファイル202、変更後(バージョンアップ後)のオペレーティング・システムの電子マニュアルファイルまたは変更後(バージョンアップ後)のライブラリの電子マニュアルファイル203、および、マニュアル抽出結果リストファイル204を記録する。
また、第1抽出処理部205、第2抽出処理部206及びマニュアル該当箇所表示処理部207は、CPU104によって実行される処理である。
記録装置106は、ソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前(バージョンアップ前)のオペレーティング・システムの電子マニュアルファイルまたは変更前のライブラリの電子マニュアルファイル202、変更後(バージョンアップ後)のオペレーティング・システムの電子マニュアルファイルまたは変更後(バージョンアップ後)のライブラリの電子マニュアルファイル203、および、マニュアル抽出結果リストファイル204を記録する。
また、第1抽出処理部205、第2抽出処理部206及びマニュアル該当箇所表示処理部207は、CPU104によって実行される処理である。
ソフトウェアのソースファイルまたは仕様書を記載したファイル201には、そのソフトウェアで使用されるAPI、ライブラリや自作ルーチンのサブルーチン名が記載される。
変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202と変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203には、そのオペレーティング・システムまたはライブラリで使用可能なAPI名とその詳細な説明であって、内容を変更する前のものと、内容を変更した後のものとがそれぞれ記載されている。
変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202と変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203には、そのオペレーティング・システムまたはライブラリで使用可能なAPI名とその詳細な説明であって、内容を変更する前のものと、内容を変更した後のものとがそれぞれ記載されている。
第1抽出処理部205は、ソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202を入力とし、後述するマニュアル抽出結果リストファイル204を出力する。
第2抽出処理部206は、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203とマニュアル抽出結果リストファイル204を入力とし、マニュアル抽出結果リストファイル204に追記を行う。
マニュアル該当箇所表示処理部207は、前記第1サブルーチン検出手段及び前記第2サブルーチン検出手段によって検出された同一内容の特定サブルーチンを端末側で対比表示させるための対比表示手段として機能する。
対比表示の内容は、図7に示す通りであり、その詳細は後述する。
対比表示の内容は、図7に示す通りであり、その詳細は後述する。
図3は、第1抽出処理部205による処理内容を示すフローチャートである。
図4は、第2抽出処理部206による処理内容を示すフローチャートである。
作業者は、本発明の特定サブルーチン検索システムによる処理を開始する際に、端末102を介して、計算機101内部の記録装置106にソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203を記録する。
図4は、第2抽出処理部206による処理内容を示すフローチャートである。
作業者は、本発明の特定サブルーチン検索システムによる処理を開始する際に、端末102を介して、計算機101内部の記録装置106にソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203を記録する。
図3に示すように、特定サブルーチン検索システムを起動すると第1抽出処理部205による処理が開始される。
まず、ステップS301では、ファイル名のみを有する空ファイルのマニュアル抽出結果リストファイル204を記録装置106内に作成する。
まず、ステップS301では、ファイル名のみを有する空ファイルのマニュアル抽出結果リストファイル204を記録装置106内に作成する。
次にステップS302では、ソフトウェアのソースファイルまたは仕様書を記載したファイル201の先頭から順にAPIの名称、ライブラリの名称、または、自作サブルーチンのサブルーチン名のいずれかひとつをサブルーチン名として取り出し、そのサブルーチン名と取り出したファイルの行番とを組としたデータをメモリ105に一時保存する。
このステップS302の処理は、ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段としての第1抽出処理部205によって取り出されたサブルーチン名とファイルの行番とを組としたデータをメモリ105に一時保存する処理である。
このステップS302の処理は、ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段としての第1抽出処理部205によって取り出されたサブルーチン名とファイルの行番とを組としたデータをメモリ105に一時保存する処理である。
ステップS303では、メモリ105に保管されているサブルーチン名をキーワードとし、マニュアル抽出結果リストファイル204に対して一致する単語の検索を行う。単語の検索は、一致する単語の存在の有無を判定することによって行う。
ステップS304では、検索の結果得られる一致単語数を零と比較する。
ステップS304では、検索の結果得られる一致単語数を零と比較する。
一致単語数が零であれば、そのサブルーチン名は既出のサブルーチン名ではないと判断し、フローはステップS305に進行する。
一方、一致単語数が一以上であれば、そのサブルーチン名は既出のAPIのものであると判定し、フローはステップS308に進行する。
一方、一致単語数が一以上であれば、そのサブルーチン名は既出のAPIのものであると判定し、フローはステップS308に進行する。
ステップS305では、メモリ105に保管されているサブルーチン名をキーワードとし、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202に対して一致する単語の検索を行う。サブルーチン名がAPIのものであれば、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202に含まれているため、このステップS305における検索により、そのサブルーチン名がAPIのものであるか否かを判定することができる。
このステップS305の処理は、サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンであるAPIを検索する第1サブルーチン検索手段としての第1抽出処理部205によって実行される処理である。
サブルーチン名抽出手段は、ソフトウェアに含まれる全てのサブルーチン名を抽出し、第1サブルーチン検索手段は、これら全てのサブルーチン名をキーワードとしてバージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンであるAPIを検索する。
サブルーチン名抽出手段は、ソフトウェアに含まれる全てのサブルーチン名を抽出し、第1サブルーチン検索手段は、これら全てのサブルーチン名をキーワードとしてバージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンであるAPIを検索する。
このステップS305における検索処理に際しては、APIのサブルーチン名(API名)と頁番号の組も作成する。
なお、単語の検索は、一致する単語の存在の有無を判定することによって行う。
なお、単語の検索は、一致する単語の存在の有無を判定することによって行う。
続くステップS306において、検索結果数を零と比較する。
検索結果数が一以上であれば、サブルーチン名はAPIのものであると判断し、フローはステップS307に進行する。
一方、検索結果数が零であれば、そのサブルーチン名はAPIのものではないと判断し、フローはステップS309に進行する。
検索結果数が一以上であれば、サブルーチン名はAPIのものであると判断し、フローはステップS307に進行する。
一方、検索結果数が零であれば、そのサブルーチン名はAPIのものではないと判断し、フローはステップS309に進行する。
ステップS307では、一時保存されたメモリ105内に存在するそのサブルーチン名(すなわちAPI名)と取り出したファイルの行番との組、および、ステップS305で作成したAPI名と頁番号の組をマニュアル抽出結果リストファイル204に書き込む。この後フローはステップS309に進行する。
このステップS307の処理は、第1サブルーチン検索手段によって検出された特定サブルーチンであるAPIのサブルーチン名と、その特定サブルーチンのバージョンアップ前のオペレーティング・システムまたはミドルウェア内における位置(行番と頁番号)とをリストファイルであるマニュアル抽出結果リストファイル204に登録する登録手段としての第1抽出処理部205によって実行される処理である。
ステップS308は、ステップS304において、サブルーチン名が既出のAPIのものであると判断した場合の処理である。このステップS308では、メモリ105に一時保存されたサブルーチン名と取り出したファイルの行番の組のうちの行番だけをマニュアル抽出結果リストファイル204に追記する。
すなわち、このステップS308の処理は、第1サブルーチン検索手段によって既に検出された特定サブルーチンであるAPIと同一内容の特定サブルーチンが検出された場合に、その特定サブルーチンの行番号をリストファイルに追加登録する第1追加登録手段としての第1抽出処理部205によって実行される処理である。
このステップS308の処理の後、フローはステップS309に進行する。
このステップS308の処理の後、フローはステップS309に進行する。
ステップS309では、ソフトウェアのソースファイルまたは仕様書を記載したファイル201の読み込みがすべて完了したかどうかを判定する。
未完了であると判定した場合は、フローはステップS302に戻り、次のサブルーチン名に対して処理を行う。
完了したと判定した場合は、第1抽出処理部205による処理を終了する。
未完了であると判定した場合は、フローはステップS302に戻り、次のサブルーチン名に対して処理を行う。
完了したと判定した場合は、第1抽出処理部205による処理を終了する。
図5は、ソフトウェアのソースファイルまたは仕様書を記載したファイル201の読み込みがすべて完了したときのマニュアル抽出結果リストファイル204の内容を示す図である。
第1抽出処理部205による処理が終了すると、第2抽出処理部206による処理が開始する。
第1抽出処理部205による処理が終了すると、第2抽出処理部206による処理が開始する。
図4に示すように、ステップS401では、第1抽出処理部205で作成されたマニュアル抽出結果リストファイル204からAPI名をひとつ取り出す。
ステップS402では、取り出したAPI名をキーワードとし、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203に対して一致する単語を検索する。単語の検索は、一致する単語の存在の有無を判定することによって行う。
ステップS402では、取り出したAPI名をキーワードとし、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203に対して一致する単語を検索する。単語の検索は、一致する単語の存在の有無を判定することによって行う。
即ち、このステップS402の処理は、バージョンアップ後のオペレーティング・システムまたはミドルウェアに含まれるリストファイルに登録された特定サブルーチン名であるAPIと同一名の特定サブルーチンを検索する第2サブルーチン検索手段としての第2抽出処理部206による処理である。
ステップS403で検索結果数を零と比較する。
検索結果数が零であれば、そのAPI名を有するAPIは削除されたと判断し、フローはステップS405に進行する。
一方、検索結果数が一以上であれば、そのAPI名を有するAPIの存在が確認されたと判定し、フローはステップS404に進行する。
検索結果数が零であれば、そのAPI名を有するAPIは削除されたと判断し、フローはステップS405に進行する。
一方、検索結果数が一以上であれば、そのAPI名を有するAPIの存在が確認されたと判定し、フローはステップS404に進行する。
ステップS404では、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203の検索で見付かったAPIが存在する全ての頁番号をマニュアル抽出結果リストファイル204に追記する。
すなわち、ステップS404の処理は、第2サブルーチン検索手段によって特定サブルーチンが検出されると、その特定サブルーチンのバージョンアップ後のオペレーティング・システムまたはミドルウェア内における位置(頁番号)をリストファイルに追加登録する第2追加登録手段としての第2抽出処理部206による処理である。
ステップS404による処理が終了すると、フローはステップS406に進行する。
すなわち、ステップS404の処理は、第2サブルーチン検索手段によって特定サブルーチンが検出されると、その特定サブルーチンのバージョンアップ後のオペレーティング・システムまたはミドルウェア内における位置(頁番号)をリストファイルに追加登録する第2追加登録手段としての第2抽出処理部206による処理である。
ステップS404による処理が終了すると、フローはステップS406に進行する。
ステップS405では、検索のキーワードに用いたAPI名を有するAPIが削除された可能性がある旨をマニュアル抽出結果リストファイル204に追記する。
ステップS404による処理が終了すると、フローはステップS406に進行する。
マニュアル該当箇所表示処理部207の処理?
ステップS404による処理が終了すると、フローはステップS406に進行する。
マニュアル該当箇所表示処理部207の処理?
ステップS406では、マニュアル抽出結果リストファイル204内の全てのAPIの読み込みが完了したかどうかを判定する。
未完了であると判定した場合は、フローはステップS401に戻り、次のAPIに対して読み込みが全て完了したか判定する処理を行う。
完了したと判定した場合は、第2抽出処理部206による処理を終了する。
未完了であると判定した場合は、フローはステップS401に戻り、次のAPIに対して読み込みが全て完了したか判定する処理を行う。
完了したと判定した場合は、第2抽出処理部206による処理を終了する。
図6は、第2抽出処理部206による処理が完了したときのマニュアル抽出結果リストファイル204の内容を示す図である。図6に示すように、図5に示すデータに比べると、変更後マニュアルデータ先のファイル名(man2.pdf)の頁番号データ先が125頁である旨が追記されている。
第2抽出処理部206による処理が終了すると、マニュアル該当箇所表示処理部207による処理が開始する。
第2抽出処理部206による処理が終了すると、マニュアル該当箇所表示処理部207による処理が開始する。
図7は、マニュアル該当箇所表示処理部207によって端末制御装置107を介して端末装置102に表示される表示内容を示す図である。
このマニュアル該当箇所表示処理部207による処理は、第1サブルーチン検出手段及び第2サブルーチン検出手段によって検出された同一内容の特定サブルーチンであるAPIを端末側で対比表示させるための対比表示手段としてのマニュアル該当箇所表示処理部207による処理である。
このマニュアル該当箇所表示処理部207による処理は、第1サブルーチン検出手段及び第2サブルーチン検出手段によって検出された同一内容の特定サブルーチンであるAPIを端末側で対比表示させるための対比表示手段としてのマニュアル該当箇所表示処理部207による処理である。
端末装置102のモニタには、マニュアル抽出結果リストファイル204の内容を表示した抽出結果リスト表示領域701、ソースファイルまたは仕様書を記載したファイル201を表示するソース表示領域702、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル202を表示する変更前ドキュメント表示領域703、および、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイル203を表示する変更前ドキュメント表示領域704が表示される。
端末102において、作業者103によって抽出結果リスト表示領域701内に表示された任意の行(図中では、行番「10」、「25」または「60」のいずれか)が選択されると、マニュアル該当箇所表示処理部207は、マニュアル抽出結果リストファイル204に記録されたソース行番の中から作業者103によって選択された行番号に対応するソースの該当箇所の周辺をソース表示領域702に表示する。例えば、該当箇所の前後数行を表示する。
また、マニュアル該当箇所表示処理部207は、マニュアル抽出結果リストファイル204に記録された変更前マニュアル頁番号の該当頁を変更前ドキュメント表示領域703に表示する。
さらに、マニュアル該当箇所表示処理部207は、マニュアル抽出結果リストファイル204に記録された変更後マニュアル頁番号の該当頁を変更後ドキュメント表示領域704に表示する。
さらに、マニュアル該当箇所表示処理部207は、マニュアル抽出結果リストファイル204に記録された変更後マニュアル頁番号の該当頁を変更後ドキュメント表示領域704に表示する。
また、作業者103が、端末102のモニタに表示された抽出結果リスト表示領域701の行内の他の行番号を選択すれば、マニュアル該当箇所表示処理部207は、新たに選択された行番号に対応するソースの該当行番周辺をソース表示領域702に表示しなおすと共に、マニュアル抽出結果リストファイル204に記録された変更前マニュアル頁番号の該当頁および変更後マニュアル頁番号の該当頁を変更前ドキュメント表示領域703および変更後ドキュメント表示領域704にそれぞれ表示する。
以上、本発明の実施の形態1に係る特定サブルーチン検索システムによれば、ソフトウェア内に含まれるAPIを自動的に抽出することができ、また、電子マニュアルファイルの内容の一部を変更した新型の電子マニュアルファイルが存在する場合に、新旧電子マニュアルファイル間における同一箇所及び変更箇所を自動的に検出することができるので、新旧電子マニュアルファイル内の重複APIを検出するための作業者による手作業や、新旧電子マニュアルファイルにおける同一箇所を手作業で検出する手間を省略することができる。
この結果、作業者は、オペレーティング・システムやライブラリの変更におけるソフトウェア問題発生有無の事前検討作業において、内容の変更がシステムに与える影響の有無の判断作業等に専念することが可能となり、作業効率を大幅に向上させることができる。
実施の形態2.
図8は、本発明の実施の形態2に係る特定サブルーチン検索システムのハードウェア構成を概略的に示す図である。
以下では、実施の形態1に係る構成要素と同一物には同一符号を付し、その説明を省略する。
図8は、本発明の実施の形態2に係る特定サブルーチン検索システムのハードウェア構成を概略的に示す図である。
以下では、実施の形態1に係る構成要素と同一物には同一符号を付し、その説明を省略する。
図8に示すように、本発明の実施の形態2に係る特定サブルーチン検索システムの計算機801には、実施の形態1に係る計算機101と同様に、端末装置102が接続されている。
また、この計算機801は、CPU104、メモリ105、記録装置806、端末制御装置107、及び、ネットワークインターフェイス(以下、ネットワークI/Fと称する)808を備える。
また、この計算機801は、CPU104、メモリ105、記録装置806、端末制御装置107、及び、ネットワークインターフェイス(以下、ネットワークI/Fと称する)808を備える。
図9は、本発明の実施の形態2に係る特定サブルーチン検索システムの記録装置806内のデータを示す図である。
このように、記録装置806には、URL(Uniform Resource Locator)のみが記録されている。
このURLが表すリンク先のデータベースには、ソフトウェアのソースファイルまたは仕様書を記載したファイル、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイルが記録されており、さらに、実施の形態1におけるマニュアル抽出結果リストファイル204に対応するファイルも、このリンク先のデータベースに記録される。
このように、記録装置806には、URL(Uniform Resource Locator)のみが記録されている。
このURLが表すリンク先のデータベースには、ソフトウェアのソースファイルまたは仕様書を記載したファイル、変更前のオペレーティング・システムまたはライブラリの電子マニュアルファイル、変更後のオペレーティング・システムまたはライブラリの電子マニュアルファイルが記録されており、さらに、実施の形態1におけるマニュアル抽出結果リストファイル204に対応するファイルも、このリンク先のデータベースに記録される。
また、実施の形態1における第1抽出処理部205、第2抽出処理部206およびマニュアル該当箇所表示処理部207と同一の処理をCPU104が行う場合は、各処理部は、URLに基づいてリンク先のデータベースにアクセスして処理を行う。
以上、本発明の実施の形態2に係る特定サブルーチン検索システムによれば、ネットワーク上に最新のファイルが存在するような場合であっても、作業者103が意識することなく最新のファイルを利用して作業を行うことが可能となり、誤って古いファイルを用いることがなく、作業のやり直しを未然に防ぐことができ、作業効率を向上させることができる。
実施の形態3.
図10は、本発明の実施の形態3に係る特定サブルーチン検索システムのマニュアル抽出結果リストファイルのデータ構造を示す図である。
図10に示すように、本発明の実施の形態3に係る特定サブルーチン検索システムにおけるマニュアル抽出結果リストファイル1004は、作業者103が判断結果を記入する欄を有する。
その他の構成要素は実施の形態1に係る特定サブルーチン検索システムと同一であり、その処理を省略する。
図10は、本発明の実施の形態3に係る特定サブルーチン検索システムのマニュアル抽出結果リストファイルのデータ構造を示す図である。
図10に示すように、本発明の実施の形態3に係る特定サブルーチン検索システムにおけるマニュアル抽出結果リストファイル1004は、作業者103が判断結果を記入する欄を有する。
その他の構成要素は実施の形態1に係る特定サブルーチン検索システムと同一であり、その処理を省略する。
作業者103が、端末102において判断結果を入力すると、CPU104は、マニュアル抽出結果リストファイル1004に判断結果を記入する処理を実行する。
このようにマニュアル抽出結果リストファイル1004に作業者103の判断結果を記入する欄を設けることにより、判断結果を記入した作業員以外の者が、他人の判断結果が記載されたマニュアル抽出結果リストファイルを利用できるようになり、オペレーティング・システムやライブラリの変更におけるソフトウェア問題発生有無の事前検討作業の妥当性の向上を図ることができると共に、より正確な事前検討結果を得ることができる。
このようにマニュアル抽出結果リストファイル1004に作業者103の判断結果を記入する欄を設けることにより、判断結果を記入した作業員以外の者が、他人の判断結果が記載されたマニュアル抽出結果リストファイルを利用できるようになり、オペレーティング・システムやライブラリの変更におけるソフトウェア問題発生有無の事前検討作業の妥当性の向上を図ることができると共に、より正確な事前検討結果を得ることができる。
実施の形態4.
図11は、本発明の実施の形態4に係る特定サブルーチン検索システムのハードウェア構成を概略的に示す図である。
以下では、実施の形態1に係る構成要素と同一物には同一符号を付し、その説明を省略する。
図11は、本発明の実施の形態4に係る特定サブルーチン検索システムのハードウェア構成を概略的に示す図である。
以下では、実施の形態1に係る構成要素と同一物には同一符号を付し、その説明を省略する。
図11に示すように、記録装置1106は、ソフトウェアのソースファイルまたは仕様書を記載したファイル201、変更前のオペレーティング・システムの電子マニュアルファイルまたは変更前のライブラリの電子マニュアルファイル202、変更後のオペレーティング・システムの電子マニュアルファイルまたは変更後のライブラリの電子マニュアルファイル203、および、マニュアル抽出結果リストファイル204の他に、API対応表ファイル1100を記録している。
図12は、API対応表ファイル1100のデータ内容を示す図である。
このAPI対応表ファイル1100は、作業者が作成するものであるが、オペレーティング・システム変更前の電子マニュアルファイル内とオペレーティング・システム変更後の電子マニュアルファイル内においてプログラムの内容が同一であるがファイル名のみが変更されたAPI同士を対応付ける表である。
このAPI対応表ファイル1100は、作業者が作成するものであるが、オペレーティング・システム変更前の電子マニュアルファイル内とオペレーティング・システム変更後の電子マニュアルファイル内においてプログラムの内容が同一であるがファイル名のみが変更されたAPI同士を対応付ける表である。
図13は、本発明の実施の形態4に係る特定サブルーチン検索システムにおける第2抽出処理部206による処理内容を示すフローチャートである。
図13に示すように、実施の形態1に係る第2抽出処理部206の処理におけるステップS401とステップS402との間にステップS1300を挿入した処理になっている。
図13に示すように、実施の形態1に係る第2抽出処理部206の処理におけるステップS401とステップS402との間にステップS1300を挿入した処理になっている。
このステップS1300では、API対応表ファイル1100を用い、オペレーティング・システム変更前の電子マニュアルファイル中のAPI名に対応するオペレーティング・システム変更後の電子マニュアルファイル内のAPI名(以下、新API名と称する)を検索する。
ステップS402の処理は、検索対象のAPI名をこの新API名に変換して行う。
なお、ステップS403以下の処理は、実施の形態1に準ずる。
ステップS402の処理は、検索対象のAPI名をこの新API名に変換して行う。
なお、ステップS403以下の処理は、実施の形態1に準ずる。
以上、本発明の実施の形態4に係る特定サブルーチン検索システムは、オペレーティング・システム変更によりAPI名が変更されたソフトウェアの移植開発に適用することが可能であり、オペレーティング・システムの変更におけるソフトウェア問題発生有無の事前検討作業において、内容の変更がシステムに与える影響の有無の判断作業等に専念することが可能となり、作業効率を大幅に向上させることができる。
101 計算機、102 端末装置、103 作業者、105 メモリ、106 記録装置、107 端末制御装置、201 ソフトウェアのソースファイルまたは仕様書を記載したファイル、202 変更前のオペレーティング・システムの電子マニュアルファイルまたは変更前のライブラリの電子マニュアルファイル、203 変更後のオペレーティング・システムの電子マニュアルファイルまたは変更後のライブラリの電子マニュアルファイル、204 マニュアル抽出結果リストファイル、205 第1抽出処理部、206 第2抽出処理部、207 マニュアル該当箇所表示処理部、701 抽出結果リスト表示領域、702 ソース表示領域、703 変更前ドキュメント表示領域、704 変更後ドキュメント表示領域、704 変更前ドキュメント表示領域、801 計算機、806 記録装置、1004 マニュアル抽出結果リストファイル、1100 対応表ファイル、1106 記録装置。
Claims (11)
- ソフトウェアのプログラムファイルからサブルーチン名を抽出するサブルーチン名抽出手段と、
前記サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンを検索する第1サブルーチン検索手段と
を備えることを特徴とする特定サブルーチン検索システム。 - 前記第1サブルーチン検索手段によって検出された特定サブルーチンのサブルーチン名と、その特定サブルーチンのバージョンアップ前のオペレーティング・システムまたはミドルウェア内における位置とをリストファイルに登録する登録手段をさらに備え、
前記サブルーチン名抽出手段は、前記ソフトウェアに含まれる全てのサブルーチン名を抽出し、前記第1サブルーチン検索手段は、これら全てのサブルーチン名をキーワードとしてバージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンを検索することを特徴とする請求項1記載の特定サブルーチン検索システム。 - 前記第1サブルーチン検索手段によって既に検出された特定サブルーチンと同一内容の特定サブルーチンが検出された場合に、その特定サブルーチンの行番号を前記リストファイルに追加登録する第1追加登録手段をさらに備えることを特徴とする請求項2記載の特定サブルーチン検索システム。
- バージョンアップ後のオペレーティング・システムまたはミドルウェアに含まれる前記リストファイルに登録された特定サブルーチン名と同一名の特定サブルーチンを検索する第2サブルーチン検索手段をさらに備えることを特徴とする請求項2または3記載の特定サブルーチン検索システム。
- 前記第2サブルーチン検索手段によって特定サブルーチンが検出されると、その特定サブルーチンのバージョンアップ後のオペレーティング・システムまたはミドルウェア内における位置をリストファイルに追加登録する第2追加登録手段をさらに備えることを特徴とする請求項4記載の特定サブルーチン検索システム。
- 前記第1サブルーチン検出手段及び前記第2サブルーチン検出手段によって検出された同一内容の特定サブルーチンを端末側で対比表示させるための対比表示手段をさらに備えることを特徴とする請求項5記載の特定サブルーチン検索システム。
- 前記第2サブルーチン検索手段によって特定サブルーチンが検出されなかった場合に、その特定サブルーチンがバージョンアップ後のオペレーティング・システムまたはミドルウェアから削除された可能性がある旨を前記リストファイルに追加登録する第3追加登録手段をさらに備えることを特徴とする請求項4記載の特定サブルーチン検索システム。
- 前記ソフトウェアのプログラムファイル、前記バージョンアップ前のオペレーティング・システムまたはミドルウェア、前記バージョンアップ後のオペレーティング・システムまたはミドルウェア、または、前記リストファイルは、ネットワークを介して接続されたリンク先に登録されており、前記サブルーチン名抽出手段、前記第1サブルーチン検索手段、前記登録手段、前記第1追加登録手段、前記第2サブルーチン検索手段、前記第2追加登録手段、前記第3追加登録手段、または、前記対比表示手段は、このリンク先に登録されたソフトウェアのプログラムファイル、バージョンアップ前のオペレーティング・システムまたはミドルウェア、バージョンアップ後のオペレーティング・システムまたはミドルウェア、または、リストファイルにアクセスすることを特徴とする請求項1ないし7のいずれか一項記載の特定サブルーチン検索システム。
- 前記登録手段は、前記リストファイルに作業者のコメントを登録することを特徴とする請求項2記載の特定サブルーチン検索システム。
- 前記第2サブルーチン検索手段は、前記バージョンアップ前のオペレーティング・システムまたはミドルウェアと、前記バージョンアップ後のオペレーティング・システムまたはミドルウェアとに含まれる同一内容の特定サブルーチン同士の名称を対応させた特定サブルーチン対応表により、前記バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチン名を前記バージョンアップ後のオペレーティング・システムまたはミドルウェアとに含まれる同一内容の特定サブルーチン名に変換して、前記バージョンアップ後のオペレーティング・システムまたはミドルウェアに含まれる特定サブルーチンを検索することを特徴とする請求項1ないし9のいずれか一項記載の特定サブルーチン検索システム。
- コンピュータに、
ソフトウェアのプログラムファイルからサブルーチン名を抽出する機能と、
前記サブルーチン名抽出手段によって抽出されたサブルーチン名を用いて、バージョンアップ前のオペレーティング・システムまたはミドルウェアに含まれるサブルーチンを検索する機能と
を実現させるための特定サブルーチン検索システム用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005075521A JP2006260053A (ja) | 2005-03-16 | 2005-03-16 | 特定サブルーチン検索システムおよびこれに用いるプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005075521A JP2006260053A (ja) | 2005-03-16 | 2005-03-16 | 特定サブルーチン検索システムおよびこれに用いるプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006260053A true JP2006260053A (ja) | 2006-09-28 |
Family
ID=37099249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005075521A Pending JP2006260053A (ja) | 2005-03-16 | 2005-03-16 | 特定サブルーチン検索システムおよびこれに用いるプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006260053A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531942A (ja) * | 2012-08-31 | 2015-11-05 | フェイスブック,インク. | 照会スキーマに基づくapiバージョン検査 |
US9646028B2 (en) | 2012-08-31 | 2017-05-09 | Facebook, Inc. | Graph query logic |
-
2005
- 2005-03-16 JP JP2005075521A patent/JP2006260053A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531942A (ja) * | 2012-08-31 | 2015-11-05 | フェイスブック,インク. | 照会スキーマに基づくapiバージョン検査 |
US9400822B2 (en) | 2012-08-31 | 2016-07-26 | Facebook, Inc. | API version testing based on query schema |
US9646028B2 (en) | 2012-08-31 | 2017-05-09 | Facebook, Inc. | Graph query logic |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5926638A (en) | Program debugging system for debugging a program having graphical user interface | |
US10621212B2 (en) | Language tag management on international data storage | |
US7617451B2 (en) | Structuring data for word processing documents | |
US8745595B2 (en) | Information processing apparatus and method of acquiring trace log | |
US7451391B1 (en) | Method for web page rules compliance testing | |
US8112398B1 (en) | Methods, systems, and computer program products for selectively marking and retrieving data from an event log file | |
US20060100973A1 (en) | Real-time localized resource extraction | |
JP2016045545A (ja) | 影響調査システム、影響調査方法、および影響調査プログラム | |
CN114003269A (zh) | 组件处理方法、装置、电子设备及存储介质 | |
JP5355497B2 (ja) | 成果物管理装置、成果物管理方法及び成果物管理プログラム | |
JP2006260053A (ja) | 特定サブルーチン検索システムおよびこれに用いるプログラム | |
JP2009230618A (ja) | 設計書作成プログラム、該装置、及び該方法 | |
US20240202333A1 (en) | Method and apparatus for disarming ole object in ms-ooxml | |
KR20190055776A (ko) | 바이너리에 대한 보안 취약점 및 그 원인 위치의 식별 방법 및 그 장치 | |
WO2012127729A1 (ja) | 移行テスト支援システム、移行テスト支援プログラム、移行テスト支援方法 | |
JP4072285B2 (ja) | データ処理方法及び装置及び記憶媒体 | |
JP2011134270A (ja) | 単体試験支援装置、方法及びプログラム | |
JP2010191580A (ja) | ファイル管理方法、システム、及び、プログラム | |
US20230350788A1 (en) | Method and system for providing delta code coverage information for work items | |
JP4072283B2 (ja) | データ処理方法及び装置及び記憶媒体 | |
JP2008033556A (ja) | プログラム管理台帳作成システム | |
JP2017091027A (ja) | システム開発支援システム | |
JP4654562B2 (ja) | クライアントコンピュータ管理システムとその管理方法と管理プログラム | |
JP2022136477A (ja) | テスト制御プログラム、情報処理装置およびテスト制御方法 | |
CN116361171A (zh) | 一种测试处理方法、装置、电子设备及计算机存储介质 |