JP2014074952A - 電子データのトレーサビリティ管理装置、方法及びプログラム - Google Patents

電子データのトレーサビリティ管理装置、方法及びプログラム Download PDF

Info

Publication number
JP2014074952A
JP2014074952A JP2012220598A JP2012220598A JP2014074952A JP 2014074952 A JP2014074952 A JP 2014074952A JP 2012220598 A JP2012220598 A JP 2012220598A JP 2012220598 A JP2012220598 A JP 2012220598A JP 2014074952 A JP2014074952 A JP 2014074952A
Authority
JP
Japan
Prior art keywords
data
processing program
input data
output data
hash value
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
JP2012220598A
Other languages
English (en)
Inventor
Takao Amamiya
隆郎 雨宮
Tatsuji Wakizono
竜次 脇園
Osamu Kameno
修 亀野
Tomoyuki Kasai
智幸 葛西
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 JP2012220598A priority Critical patent/JP2014074952A/ja
Publication of JP2014074952A publication Critical patent/JP2014074952A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】電子データの作成履歴に関する情報の原本性が保証され、かつこれら情報が自動的に登録されるトレーサビリティ管理技術を提供する。
【解決手段】電子データのトレーサビリティ管理装置10は、実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索する検索部13と、この検索された処理プログラム、入力データ及び出力データのハッシュ値を取得する取得部14と、この取得された3つのハッシュ値のセットを処理プログラムの実行が検出される毎に蓄積してなるリストを登録する登録部16と、リストのなかから選択されるハッシュ値を含むセットを基点にして互いの入力データ及び出力データのハッシュ値が一致するセットの群を連結させる連結部19と、この連結されたセットの群を履歴として出力する出力部21と、を備えている。
【選択図】 図1

Description

本発明は、ソフトウェア開発において使用又は作成される電子データのトレーサビリティ管理技術に関する。
計算機の性能向上に伴いソフトウェアの大規模化及び複雑化が進んでいる状況の下、ソフトウェアを部品化して再利用することで、ソフトウェア開発の生産性及び品質の向上が図られている。
このような大規模で複雑なソフトウェアでは、その開発プロセスにおける設計書、使用するソフト部品、及びこれらの変更履歴等を互いに関連付けるトレーサビリティ管理が行われている(例えば、特許文献1〜3)。
特開2010−271866号公報 特開2008−4029号公報 特開2006−178511号公報
しかし、これまでのソフトウェア開発で使用されるソフト部品のトレーサビリティ管理は、ファイル名やバージョン番号を識別子として管理対象の相互を関連付けするにとどまっている。
このために、識別子が付与された後に電子データが変更された場合、この変更の検出が困難であるため、トレーサビリティ管理における原本性の保証が不十分であった。
また、電子データ間の関係付けは、人手に頼る登録作業であるため、手間がかかる上、作業ミスによる誤情報が混入する可能性もある。
さらに、電子データのトレーサビリティ情報を検索する場合、電子データの識別子(ファイル名及びバージョン番号)とこの電子データの内容との対応の完全性を保証することが困難なために、検索結果の信頼性が低い。
本発明は、このような事情を考慮してなされたもので、電子データの作成履歴に関する情報の原本性が保証され、かつこれら情報が自動的に登録されるトレーサビリティ管理技術を提供することを目的とする。
電子データのトレーサビリティ管理装置において、実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索する検索部と、前記検索された処理プログラム、入力データ及び出力データのハッシュ値を取得する取得部と、前記取得された3つのハッシュ値のセットを前記実行が検出される毎に蓄積してなるリストを登録する登録部と、前記リストのなかから選択されるハッシュ値を含む前記セットを基点にして互いの前記入力データ及び前記出力データの前記ハッシュ値が一致する前記セットの群を連結させる連結部と、前記連結された前記セットの群を履歴として出力する出力部と、を備えることを特徴とする。
本発明により、電子データの作成履歴に関する情報の原本性が保証され、かつこれら情報が自動的に登録されるトレーサビリティ管理技術が提供される。
本発明に係る電子データのトレーサビリティ管理装置の実施形態を示すブロック図。 処理プログラム、入力データ及び出力データのハッシュ値の三点セットが蓄積してなるリストを示す表。 処理プログラム、入力データ及び出力データの属性情報を示す表。 実施形態に係るトレーサビリティ管理装置により出力された履歴を示す図。 実施形態に係る電子データのトレーサビリティ管理装置の動作を示すフローチャート。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1に示すように、電子データのトレーサビリティ管理装置10(以下、単に「装置10という」)は、実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索する検索部13と、この検索された処理プログラム、入力データ及び出力データのハッシュ値を取得する取得部14と、この取得された3つのハッシュ値のセットを処理プログラムの実行が検出される毎に蓄積してなるリスト(図2)を登録する登録部16と、リスト(図2)のなかから選択されるハッシュ値を含むセットを基点にして互いの入力データ及び出力データのハッシュ値が一致するセットの群を連結させる連結部19と、この連結されたセットの群を履歴として出力する出力部21と、を備えている。
これにより、次のような作用・効果が得られる。
大規模なソフトウェアは、部品化された複数の電子データから作成され、複数の処理プログラムで連続的な処理を経て所望の電子データを得るものがある。例えば、第1入力データを処理プログラムで処理した第1出力データを、第2入力データとして別の処理プログラムで処理して第2出力データ生成するといった処理を繰り返えすことにより所望の電子データを得る。
このようなソフトウェアの開発、動作検証において装置10は、最終的に得られた電子データを、使用した全ての入力データ及び処理プログラムに対し、ハッシュ値を介して自動的に関連付ける。
さらに装置10は、電子データ23を入力しそのハッシュ値を演算させる入力部17をさらに備え、連結部19において、この入力された電子データのハッシュ値を含むセットをリスト(図2)から抽出し、連結の基点にする。
これにより、着目する電子データ23のトレーサビリティ情報を、この電子データ23が最終的に得られたデータであるか又は部品データであるかにかかわらず、原本性が保証された状態で取得することができる。
さらに装置10は、履歴22を構成するハッシュ値に紐付ける処理プログラム、入力データ及び出力データの属性情報を格納する格納部20をさらに備えている。
これにより、トレーサビリティ情報(履歴22)を構成する処理プログラム、入力データ及び出力データの詳細情報を閲覧することができる。さらに、これら属性情報を検索キーとしてトレーサビリティ情報(履歴22)を作成することもできる。
装置10は、I/O部11を介してネットワーク31上のファイルサーバ32、認証サーバ33、端末T1,T2に接続されている。
ファイルサーバ32は、処理プログラム、入力データ及び出力データといったデータファイルを保存するものであり、これらデータファイルは、ネットワーク31上の端末T1,T2で共有される。
認証サーバ33は、ファイルサーバ32に対する端末T1,T2及びユーザのアクセス権を管理するものである。
認証サーバ33は、ユーザ情報のテーブル(図示略)を有し、アクセスしてきたユーザや端末T1,T2が送信してくる情報が一致すればアクセスを許可する。認証方法としては、IDとパスワードを組み合わせる方法,電子証明書を使う方法などが挙げられるが、特に限定されない。
なお、実施形態において装置10は、ネットワーク31上のノードとして示されるが、この装置10を構成する機能部がネットワーク31上の他の複数のノードに分散配置される場合もある。
また、ネットワーク31をコンピュータ内のバスとみなし、ファイルサーバ32及び端末の機能を含むスタンドアロン型の装置10として具現化される場合もある。
入力データ及び出力データは、それぞれ着目する処理プログラムとの関係で定義されるものである。
電子データが複数の処理プログラムで段階的に処理される過程において、ある処理プログラムが他の処理プログラムに出力データを引き渡す処理を行う場合、ある処理プログラムの出力データが、他の処理プログラムの入力データに成り得る(適宜、図4参照)。
処理プログラムがコンパイラであれば、入力データはテキストコードで人間が読み書き可能に表されるソースファイルとなり、出力データはこのソースファイルをバイナリーコードの機械語に変換させたオブジェクトファイルとなる。
処理プログラムがリンカであれば、入力データは複数のオブジェクトファイルとなり、出力データはこれらオブジェクトファイルが結合されたライブラリ又は実行ファイルとなる。
ここで、ライブラリとは、再利用を前提とした機能単位のプログラム部品であって、それ単独で実行することはできないが、実行ファイルの一部の構成となり動作するものである。
また、処理プログラムとして表計算ソフトを含ませることができる。
この表計算ソフトを使用する例としては、ユーザが作成した情報データを入力データとして、ソースファイルの一部情報を一元的に管理するヘッダファイルを出力データとすることができる。
実行検出部12(図1)は、ユーザが端末T1,T2を操作して、ファイルサーバ32に配置されている入力データ及び処理プログラムにアクセスし実行したことを検出するものである。
なお、これら入力データ及び処理プログラムは、例示されるようにネットワーク31を介して端末T1,T2から分離配置される場合に限定されず、この端末T1,T2に常駐している場合も含む。
また、入力データ及び処理プログラムの実行により生成した出力データは、ファイルサーバ32の所定位置に配置される。
検索部13(13a,13b,13c)は、実行が検出された処理プログラム、その入力データ及びその出力データが所在するファイルサーバ32のアドレスを検索する。
取得部14は、この検索されたアドレスに所在する処理プログラム、入力データ及び出力データのハッシュ値の演算を促し、その演算結果を取得する。
ハッシュ値を演算する一方向性ハッシュ関数としては、MD5(Message Digest Algorithm 5)、SHA(Secure Hash Algorithm)などの公知アルゴリズムを用いることができる。しかし、これらに限定されることはなく、対象となるデータファイルを一意的に決定する符合をハッシュ値として導くものであれば適宜採用することができる。
なお、これら処理プログラム、入力データ及び出力データのハッシュ値の演算手段(図示略)の設置場所は、特に限定されるものでなく、装置10の内部に設置される場合、ネットワーク31上のいずれかの位置に設置する場合がある。
セット形成部15は、着目する処理プログラム、その入力データ及びその出力データのそれぞれにおける3つのハッシュ値を一組にしたセットを生成する。
そして、実行検出部12において、処理プログラムの実行が新たに検出される度に、新たなセットが生成され、リスト登録部16に蓄積されていく。
図2は、このリスト登録部16において、処理プログラム、入力データ及び出力データのハッシュ値の三点セットが、蓄積してなるリストを示す表である。
このようにセットには、3つのハッシュ値以外に、データ、端末及びユーザの識別ID並びに実行時間やその他の情報を付随させることもできる。
電子データ入力部17は、外部から任意の電子データ23を入力するものであり、演算部18においてそのハッシュ値が演算される。
ここで、入力される電子データ23とは、ファイルサーバ32に配置されている電子データ(処理プログラム、入力データ及び出力データ)との同一性が推定されるものである。
なお、このハッシュ値演算部18で実行されるハッシュ関数は、検索部13で検索された入力データ、処理プログラム及び出力データに適用されるものと同一である。
セット連結部19は、演算部18で演算されたハッシュ値を含むセットをリスト(図2)から選択し、この選択されたセットを基点にして互いの入力データ及び出力データのハッシュ値が一致するセットの群を連結させる。
ここで、演算部18で演算されたハッシュ値を含むセットがリストに存在していない場合は、該当する電子データ23は、装置10による管理対象外ということになり、その旨の通知が出力される。
セット連結部19の動作を、図4を参照して具体的に説明する。
リンカP2と同一の電子データ23が入力部17に入力すると、このリンカP2に対して上流側のソースファイルX1,Y1、コンパイラP1及びオブジェクトファイルX2,Y2、並びに下流側のライブラリX3、リンカP5及び実行ファイルX4のハッシュ値が相互に連結したデータとなって連結部19から出力される。
これにより、電子データ23の内容そのものを検索キーとして、当該電子ファイル23を生成・変更したデータのトレーサビリティ情報を容易に取得することが可能となる。
リスト登録部16には、処理プログラム、入力データ及び出力データのハッシュ値の三点セットが処理プログラムの実行毎に蓄積されている。
しかし、図4のようにソフトウェアがツリー構造であって平行して複数の処理プログラムが実効される場合等は、ハッシュ値が蓄積される順番は処理プログラムの接続関係順とは異なる場合も多い。
そこで、セット連結部19は、入力データ及び出力データのハッシュ値が一致するセットの対を連続的に連結させることによって、処理が前後関係にある処理プログラム、その入力データ及び出力データを互いに関連付ける。
その結果、各処理プログラム、その入力データ及び出力データがソフトウェアのツリー構造で階層付けられる。
図3の表は、処理プログラム、入力データ及び出力データの属性情報を示している。
属性情報格納部20(図1)は、ファイルサーバ32に配置されている処理プログラム、入力データ及び出力データについて予め求められたハッシュ値に、それぞれの属性情報を紐付けて格納している。
ここで、属性情報は、図3に示されるような、それぞれのハッシュ値に対応するデータの識別ID、ファイル名、リビジョン、アドレス先といった情報や、アクセス制限、その他の情報を含めることができる。
履歴出力部21は、セット連結部19から出力されたデータを構成するハッシュ値に、属性情報(図3)を貼り付けた履歴22(図4)を出力する。
なお、この履歴22は、入力部17で入力された電子データ23をキーにして作成される他に、格納部20の属性情報をキーとして作成することもできる。
このような履歴22(図4)に基づけば、ソースファイル、コンパイラ、リンカといった電子データに欠陥が発見されたときに、この欠陥を内包するライブラリや実行ファイルを容易にリストアップできる。
また、相性の悪い処理プログラムの組み合わせが発見されたときも、この組み合わせに基づいて作成されたライブラリや実行ファイルを容易にリストアップできる。
図5のフローチャートを参照して電子データのトレーサビリティ管理装置の動作を説明する(適宜、図1参照)。
まず、端末T1においてユーザが、入力データに対し処理プログラムを実行し(S11)、出力データがファイルサーバ32に格納される。すると、この処理プログラムの実行が装置10において検出され(S12)、この処理プログラム、その入力データ及びその出力データのファイルサーバ32上の所在(アドレス)が検索される(S13)。
すると、この検索された処理プログラム、入力データ及び出力データのハッシュ値が演算され(S14)、装置10側に取得される(S15)。
この取得された3つのハッシュ値はセットを形成し(S16)、新たな処理プログラムの実行が検出される毎に形成されるセットが蓄積してなるリストが登録される(S17 No)。
ここで、入力部17に電子データ23が入力されるか、又は格納部20内の属性情報が指定されるか等により調査命令が発動された場合は、この調査対象のハッシュ値を演算もしくは指定する(S18)。
そして、登録部16に登録されているリスト(図2)のなかから演算(もしくは指定)されたハッシュ値を含むセットを選択する(S19)。
次に、この選択されたセットを基点にして互いの入力データ及び出力データのハッシュ値が一致するセットの群を連結させる(S20)。
最後に、この連結された前記セットの群に、格納部20から対応する属性情報を付加した履歴22が出力される(S21)。
以上述べた少なくともひとつの実施形態の電子データのトレーサビリティ管理装置によれば、注目する電子データの生成に関与したすべての電子データがハッシュ値を介して互いに関連付けられることにより、電子データの作成履歴に関する情報の原本性が保証され、かつこれら情報を自動的に登録することが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
また、電子データのトレーサビリティ管理装置の構成要素は、コンピュータのプロセッサで実現することも可能であり、電子データのトレーサビリティ管理プログラムにより動作させることが可能である。
10…トレーサビリティ管理装置(装置)、11…I/O部、12…実行検出部(検出部)、13(13a,13b,13c)…検索部、14…ハッシュ値取得部(取得部)、15…セット形成部(形成部)、16…リスト登録部(登録部)、17…電子データ入力部(入力部)、18…ハッシュ値演算部(演算部)、19…セット連結部(連結部)、20…属性情報格納部(格納部)、21…履歴出力部(出力部)、22…履歴、23…電子データ、31…ネットワーク、32…ファイルサーバ、33…認証サーバ、T1,T2…端末。

Claims (6)

  1. 実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索する検索部と、
    前記検索された処理プログラム、入力データ及び出力データのハッシュ値を取得する取得部と、
    前記取得された3つのハッシュ値のセットを前記実行が検出される毎に蓄積してなるリストを登録する登録部と、
    前記リストのなかから選択されるハッシュ値を含む前記セットを基点にして互いの前記入力データ及び前記出力データの前記ハッシュ値が一致する前記セットの群を連結させる連結部と、
    前記連結された前記セットの群を履歴として出力する出力部と、を備えることを特徴とする電子データのトレーサビリティ管理装置。
  2. 前記処理プログラム、その入力データ及びその出力データのいずれかであることが推定される電子データを入力しそのハッシュ値を演算させる入力部をさらに備え、
    前記連結部において、この入力された電子データのハッシュ値を含む前記セットを前記リストから抽出し前記基点にすることを特徴とする請求項1に記載の電子データのトレーサビリティ管理装置。
  3. 前記履歴を構成するハッシュ値に紐付ける前記処理プログラム、前記入力データ及び前記出力データの属性情報を格納する格納部をさらに備えることを特徴とする請求項1又は請求項2に記載の電子データのトレーサビリティ管理装置。
  4. 前記処理プログラム、前記入力データ及び前記出力データを保存するファイルサーバと、
    前記ファイルサーバに対する端末のアクセス権を管理する認証サーバと、を備えることを特徴とする請求項1から請求項3のいずれか1項に記載の電子データのトレーサビリティ管理装置。
  5. 実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索するステップと、
    前記検索された処理プログラム、入力データ及び出力データのハッシュ値を取得するステップと、
    前記取得された3つのハッシュ値のセットを前記実行が検出される毎に蓄積してなるリストを登録するステップと、
    前記リストのなかから選択されるハッシュ値を含む前記セットを基点にして互いの前記入力データ及び前記出力データの前記ハッシュ値が一致する前記セットの群を連結させるステップと、
    前記連結された前記セットの群を履歴として出力するステップと、を含むことを特徴とする電子データのトレーサビリティ管理方法。
  6. コンピュータに、
    実行が検出された処理プログラム、その入力データ及びその出力データの所在を検索するステップ、
    前記検索された処理プログラム、入力データ及び出力データのハッシュ値を取得するステップ、
    前記取得された3つのハッシュ値のセットを前記実行が検出される毎に蓄積してなるリストを登録するステップ、
    前記リストのなかから選択されるハッシュ値を含む前記セットを基点にして互いの前記入力データ及び前記出力データの前記ハッシュ値が一致する前記セットの群を連結させるステップ、
    前記連結された前記セットの群を履歴として出力するステップ、を実行させることを特徴とする電子データのトレーサビリティ管理プログラム。
JP2012220598A 2012-10-02 2012-10-02 電子データのトレーサビリティ管理装置、方法及びプログラム Pending JP2014074952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012220598A JP2014074952A (ja) 2012-10-02 2012-10-02 電子データのトレーサビリティ管理装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012220598A JP2014074952A (ja) 2012-10-02 2012-10-02 電子データのトレーサビリティ管理装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2014074952A true JP2014074952A (ja) 2014-04-24

Family

ID=50749086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012220598A Pending JP2014074952A (ja) 2012-10-02 2012-10-02 電子データのトレーサビリティ管理装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2014074952A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020044441A1 (ja) * 2018-08-28 2020-03-05 株式会社オプティム コンピュータシステム、農産物管理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020044441A1 (ja) * 2018-08-28 2020-03-05 株式会社オプティム コンピュータシステム、農産物管理方法及びプログラム
JPWO2020044441A1 (ja) * 2018-08-28 2021-06-03 株式会社オプティム コンピュータシステム、農産物管理方法及びプログラム

Similar Documents

Publication Publication Date Title
US9576037B2 (en) Self-analyzing data processing job to determine data quality issues
US9116968B2 (en) Methods and apparatus related to graph transformation and synchronization
US20200394309A1 (en) Blockchains for software component vulnerability databases
KR102044046B1 (ko) 텔레메트리 파일 해시 및 충돌 검출 기법
CN106897072B (zh) 业务工程调用方法、装置及电子设备
JP2017526253A (ja) 端末識別子を促進する方法及びシステム
US20120311709A1 (en) Automatic management system for group and mutant information of malicious codes
JP2011257812A (ja) スキーマ定義生成装置、スキーマ定義生成方法およびスキーマ定義生成プログラム
JP2018022258A (ja) 重複検出装置、重複検出方法及び重複検出プログラム
WO2013121951A1 (ja) プログラム管理システム
US11210404B2 (en) Blockchain-based state verifications of software component vulnerability database for software products
JP5537599B2 (ja) 業務システムにおけるバージョンアップ管理方法
US10216771B2 (en) Creating and handling identification for a resource in a configuration database
CN110188432B (zh) 系统架构的验证方法、电子设备及计算机可读存储介质
JP2014074952A (ja) 電子データのトレーサビリティ管理装置、方法及びプログラム
US20220337620A1 (en) System for collecting computer network entity information employing abstract models
KR20130068421A (ko) 악성코드 통합정보 생성 시스템 및 이를 포함하는 악성코드 통합관리 시스템
JP6665576B2 (ja) 支援装置、支援方法及びプログラム
CN109033831A (zh) 一种病毒检测方法、装置、电子设备及存储介质
JP2015191278A (ja) 情報処理プログラム、装置及び方法
JP7381290B2 (ja) 計算機システム及びデータの管理方法
CN112862245A (zh) 数据交换方法、装置以及电子设备
JP5743826B2 (ja) 構成情報管理プログラム及び構成情報管理方法
WO2015121982A1 (ja) ドキュメント管理プログラム、装置、および方法
JP6497253B2 (ja) 情報共有プログラム、情報共有装置、及び情報共有システム