JP2018045619A - 解析プログラム、解析方法、及び解析装置 - Google Patents

解析プログラム、解析方法、及び解析装置 Download PDF

Info

Publication number
JP2018045619A
JP2018045619A JP2016182007A JP2016182007A JP2018045619A JP 2018045619 A JP2018045619 A JP 2018045619A JP 2016182007 A JP2016182007 A JP 2016182007A JP 2016182007 A JP2016182007 A JP 2016182007A JP 2018045619 A JP2018045619 A JP 2018045619A
Authority
JP
Japan
Prior art keywords
program
instruction
log
storage unit
processing
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
Application number
JP2016182007A
Other languages
English (en)
Other versions
JP6717140B2 (ja
Inventor
大輔 檜山
Daisuke Hiyama
大輔 檜山
清楓 島田
Sayaka SHIMADA
清楓 島田
秀弥 池田
Hideya Ikeda
秀弥 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016182007A priority Critical patent/JP6717140B2/ja
Priority to US15/697,650 priority patent/US10310958B2/en
Publication of JP2018045619A publication Critical patent/JP2018045619A/ja
Application granted granted Critical
Publication of JP6717140B2 publication Critical patent/JP6717140B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】アクセス先に対して実行されたデータ操作の種別を示した対応表を画面ごとに出力できる解析プログラムを提供する。
【解決手段】解析プログラムは、画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータに実行させる。
【選択図】図8

Description

本件は、解析プログラム、解析方法、及び解析装置に関する。
アプリケーションプログラム(以下、単にアプリという)にStructured Query Language(SQL)トレース取得用のコードを埋め込む技術は知られている(例えば特許文献1参照)。また、SQL文を解析し、更新や削除といったSQL文におけるデータ操作の種別を読み出す技術も知られている(例えば特許文献2参照)。さらに、SQL発行時のログを利用して、テーブルに対して実行されたデータ操作の種別を示した対応表を、SQLを発行したクラスやメソッド毎に出力する技術も知られている。
特開2007−213392号公報 特開2008−077285号公報
しかしながら、アプリの開発作業を画面単位やボタン単位で各開発チームが分担している場合、上述した対応表が出力されても、どの開発チームが担当すべきか容易に特定することはできない。
そこで、1つの側面では、アクセス先に対して実行されたデータ操作の種別を示した対応表を画面ごと又はボタンごとに出力できる解析プログラム、解析方法、及び解析装置を提供することを目的とする。
1つの実施態様では、解析プログラムは、画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータに実行させることを特徴とする解析プログラムである。
1つの実施態様では、解析プログラムは、ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータに実行させることを特徴とする解析プログラムである。
1つの実施態様では、解析方法は、画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータが実行することを特徴とする解析方法である。
1つの実施態様では、解析方法は、ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータが実行することを特徴とする解析方法である。
1つの実施態様では、解析装置は、画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理を実行する処理部を有することを特徴とする解析装置である。
1つの実施態様では、解析装置は、ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理を実行する処理部を有することを特徴とする解析装置である。
アクセス先に対して実行されたデータ操作の種別を示した対応表を画面ごと又はボタンごとに出力することができる。
図1は解析システムの一例を説明するための図である。 図2は第2サーバのハードウェア構成の一例である。 図3は第1サーバ及び第2サーバの機能ブロック図の一例である。 図4はモニタリングデータの一部の一例である。 図5はモニタリングデータの残部の一例である。 図6は第1サーバの動作の一例を示すフローチャートである。 図7は第2サーバの動作の一例を示すフローチャートである。 図8(a)はCRUD図の一例である。図8(b)はCRUD図の他の一例である。 図9はCRUD図生成処理の一例を示すフローチャートである。 図10はCRUD図書込処理の一例を示すフローチャートである。
図1は解析システムSの一例を説明するための図である。解析システムSは複数台の第1端末100と第1サーバ200と解析装置としての第2サーバ300と第2端末400を備えている。図1では、第1端末100及び第2端末400の一例としてPersonal Computer(PC)が示されているが、タブレット端末といったスマートデバイスであってもよい。また、図1では、複数台の第1端末100が示されているが、第1端末100は1台であってもよい。さらに、複数台の第1端末100の一部は互いに異なる建物(例えば遠隔地の建物など)に配置されていてもよい。
第1端末100、第1サーバ200、第2サーバ300及び第2端末400は通信ネットワークNWを介して互いに接続されている。通信ネットワークNWとしては例えばインターネットやLocal Area Network(LAN)などの有線ネットワークがある。通信ネットワークNWの一部に電波を利用した無線ネットワークが利用されていてもよい。
第1サーバ200は開発者が開発したアプリ(例えば業務用アプリなど)を記憶する。アプリは画面表示の命令やボタン表示の命令などを含んでいる。第1端末100は第1サーバ200に記憶されたアプリをテストするテスト実施者によって使用される。第1端末100はテスト実施者からの操作に基づいて、アプリの実行指示を第1サーバ200に送信する。これにより、第1サーバ200ではアプリが実行される。
また、第1サーバ200はアプリの挙動を監視するモニタリングソフトウェア(以下、モニタリングソフトという)を記憶する。第1サーバ200はモニタリングソフトをモニタリング対象のアプリにアドオンの形式で取り付ける。第1サーバ200はモニタリングソフトをアプリのコンパイル時に取り付けたり、クラスを仮想マシン(例えばJava(登録商標) VM)にロードする際に取り付けたりする。例えば、第1サーバ200がアプリをコンパイルすると、第1サーバ200はコンパイルにより生成された第1の中間コード(例えばバイトコード)に、アプリの挙動を示すログを出力する命令を埋め込む。すなわち、第1サーバ200は命令を埋め込んだ第2の中間コードを生成する。ここで、アプリの挙動を示すログとしては、例えばアプリの実行により発行したSQLのログや、SQLを発行した発行元となる画面名やボタン名を特定するログなどがある。したがって、第1サーバ200が第2の中間コードを実行すると、第2の中間コードからアプリの挙動を示すログが出力される。モニタリングソフトはアプリが出力したログをモニタリングデータとして第2サーバ300に送信する。第2サーバ300は第1サーバ200から送信されたモニタリングデータを記憶する。
第2サーバ300はモニタリングデータを利用してCRUD図を生成して記憶する。CRUD図はデータがどの画面又はどのボタンで生成(Create)、参照又は読み取り(Read)、更新(Update)、削除(Delete)されるのかをマトリクス形式で表現した表である。最後に、第2端末400はCRUD図を確認してテスト結果を判断する担当者によって使用される。第2端末400は担当者からの操作に基づいて、第2サーバ300からCRUD図を取得(例えばダウンロード)する。これにより、第2端末400を使用する担当者はCRUD図を確認することができる。
以下、上述した第1サーバ200及び第2サーバ300の詳細について図面を参照して説明する。
図2は第2サーバ300のハードウェア構成の一例である。尚、第1端末100,第1サーバ200、及び第2端末400については基本的に第2サーバ300と同様の構成であるため、説明を省略する。
第2サーバ300は、少なくともCentral Processing Unit(CPU)300A、Random Access Memory(RAM)300B、Read Only Memory(ROM)300C、及びネットワークI/F(インタフェース)300Dを含んでいる。第2サーバ300は、必要に応じて、Hard Disk Drive(HDD)300E、入力I/F300F、出力I/F300G、入出力I/F300H、ドライブ装置300Iの少なくとも1つを含んでいてもよい。CPU300Aからドライブ装置300Iまでは、内部バス300Jによって互いに接続されている。少なくともCPU300AとRAM300Bとが協働することによってコンピュータが実現される。
入力I/F300Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。
出力I/F300Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。
入出力I/F300Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F300Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。
入力I/F300F及び入出力I/F300Hは、例えばUSBポートを備えている。出力I/F300Gは、例えばディスプレイポートを備えている。
ドライブ装置300Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置300Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。
ネットワークI/F300Dは、例えばポートとPhysical Layer Chip(PHYチップ)とを備えている。第2サーバ300は、ネットワークI/F300Dを介して通信ネットワークNWと接続される。
上述したRAM300Bには、ROM300CやHDD300Eに記憶されたプログラムがCPU300Aによって格納される。RAM300Bには、可搬型記録媒体740に記録されたプログラムがCPU300Aによって格納される。格納されたプログラムをCPU300Aが実行することにより、第2サーバ300は後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。
続いて、図3から図5を参照して、第1サーバ200及び第2サーバ300の機能について説明する。
図3は第1サーバ200及び第2サーバ300の機能ブロック図の一例である。図4はモニタリングデータの一部の一例である。図5はモニタリングデータの残部の一例である。図3に示すように、第1サーバ200は、処理結果DB210、データ処理部220、及び挙動監視部230を含んでいる。一方、第2サーバ300は、モニタリングDB310、処理部としてのCRUD図生成部320、及びCRUD図DB330を含んでいる。尚、図4及び図5に示すように、モニタリングデータは互いに関連付けられて連続している。
処理結果DB210は業務データが格納された種々のテーブルを記憶する。例えば、処理結果DB210は顧客の属性データが格納された顧客テーブルを記憶する。例えば、商品の販売データが格納された商品テーブルを記憶する。業務データはテスト用のデータであってもよいし、現実に運用されているデータであってもよい。
データ処理部220は上述したアプリの実行に応じて種々のデータ処理を実行し、データ処理の処理結果を処理結果DB210に格納する。例えば顧客の属性データを登録したり変更したりするアプリであれば、データ処理部220は処理結果DB210に記憶された顧客テーブルにアクセスし、入力された顧客データを顧客テーブルに登録したり、顧客テーブルに格納された顧客データを変更したりする。例えば商品の売り上げを算出するアプリであれば、データ処理部220は処理結果DB210に記憶された商品テーブルにアクセスし、商品の単価を表すデータと販売個数を表すデータを取得する。データ処理部220は取得したこれのデータに基づいて売り上げを算出し、算出した売り上げを表すデータを商品テーブルに登録する。
挙動監視部230は上述したモニタリングソフトが実行されることにより、データ処理部220が実行するデータ処理をアプリの挙動として監視する。挙動監視部230はデータ処理部220がデータ処理を実行すると、データ処理に関するログを収集し、収集したログをモニタリングデータとしてモニタリングDB310に格納する。したがって、モニタリングDB310はデータ処理部220が実行したデータ処理に関するモニタリングデータを記憶する。
ここで、モニタリングデータは、図4及び図5に示すように、種々のデータを構成要素として含んでいる。例えば、図4に示すように、モニタリングデータは、表示画面を識別する情報として画面IDのデータ及び画面名のデータを含んでいる。画面IDであっても画面名であっても表示画面を識別することができる。また、図4に示すように、モニタリングデータは、表示ボタンを識別する情報としてボタンIDのデータ及びボタン名のデータを含んでいる。ボタンIDであってもボタン名であっても表示ボタンを識別することができる。
さらに、図5に示すように、モニタリングデータは、パラメータのデータを含んでいる。パラメータは、データ処理部220がデータ処理を実行した際に発行したSQLのログを表している。例えばログの一部である「SELECT」は上述した参照又は読み取りを表す命令である。例えばログの一部に「INSERT」(不図示)が出現した場合、「INSERT」は上述した生成を表す命令である。尚、「UPDATE」及び「DELETE」はそれぞれ上述した更新及び削除を表す命令に対応する。さらに、ログにはアクセス先としてのテーブル名が出現する。例えばログの一部に出現する「M_PRODUCT」はテーブル名を表している。このように、モニタリングデータにより、アクセス元としての画面IDや画面名、ボタンIDやボタン名と、パラメータ(より詳しくは操作命令としてのSQL)は互いに対応づけられている。特に、SQLのログにはアクセス元からアクセスされるテーブル名が含まれている。このため、画面IDや画面名、ボタンIDやボタン名とテーブル名とは互いに対応付けることができる。
CRUD図生成部320はモニタリングDB310が記憶するモニタリングデータを利用してCRUD図を生成して出力する。より詳しくは、CRUD図生成部320は、画面IDや画面名に対応づけて、特定したアクセス先毎に、特定したSQLの種別を示す情報を示したCRUD図を生成して出力する。また、CRUD図生成部320は、ボタンIDやボタン名に対応づけて、特定したアクセス先毎に、特定したSQLの操作種別を示す情報を示したCRUD図を生成して出力する。ここで、SQLの種別を示す情報は、具体的には、生成を表すCreateの頭文字C、参照又は読み取りを表すReadの頭文字R、更新を表すUpdateの頭文字U、若しくは、削除を表すDeleteの頭文字D、又は、これらの頭文字の少なくとも2つの組み合わせである。CRUD図生成部320が出力したCRUD図はCRUD図DB330に格納される。これにより、CRUD図DB330はCRUD図を記憶する。したがって、第2端末400はCRUD図DB330にアクセスすることで、CRUD図をダウンロードすることができる。
次に、図6を参照して、第1サーバ200の動作について説明する。
図6は第1サーバ200の動作の一例を示すフローチャートである。データ処理部220は第1端末100からアプリの実行指示を受信するまで待機する(ステップS101:NO)。データ処理部220は実行指示を受信すると(ステップS101:YES)、アプリの実行に応じて種々のデータ処理を実行する(ステップS102)。ステップS102の処理が開始すると、データ処理部220は処理結果を処理結果DB210に格納し(ステップS103)、挙動監視部230はログをモニタリングDB310に格納する(ステップS104)。尚、ステップS103の処理とステップS104の処理の順序は逆であってもよいし、並行していてもよい。
次に、図7を参照して、第2サーバ300の動作について説明する。
図7は第2サーバ300の動作の一例を示すフローチャートである。CRUD図生成部320は第2端末400からCRUD図の生成要求を受信するまで待機する(ステップS201:NO)。CRUD図生成部320は生成要求を受信すると(ステップS201:YES)、CRUD図生成処理を実行する(ステップS202)。CRUD図生成処理はCRUD図を生成する処理である。尚、CRUD図生成処理の詳細については後述する。ステップS202の処理が完了すると、CRUD図生成部320はステップS202の処理で生成したCRUD図をCRUD図DB330に格納する(ステップS203)。尚、生成要求の受信に代えて、設定時刻に従って夜間に開始するバッチ処理によりCRUD図生成部320がCRUD図生成処理を実行するようにしてもよい。
図8(a)はCRUD図の一例である。図8(b)はCRUD図の他の一例である。例えば、CRUD図生成部320が画面名毎のCRUD図を生成する生成要求を受信した場合、CRUD図DB330は、図8(a)に示すように、画面名に対応づけて、特定したテーブル名毎に、C,R,U,Dを示したCRUD図を記憶する。画面IDに関する生成要求であれば、CRUD図DB330は画面IDに対応づいたCRUD図を記憶する。一方、CRUD図生成部320がボタン名毎のCRUD図を生成する生成要求を受信した場合、CRUD図DB330は、図8(b)に示すように、ボタン名に対応づけて、特定したテーブル名毎に、C,R,U,Dを示したCRUD図を記憶する。ボタンIDに関する生成要求であれば、CRUD図DB330はボタンIDに対応づいたCRUD図を記憶する。このように、CRUD図DB330は画面IDや画面名毎のCRUD図やボタンIDやボタン名毎のCRUD図を記憶するため、第2端末400がCRUD図DB330にアクセスすれば、これらのCRUD図を取得することができる。
次に、図9を参照して、上述したCRUD図生成処理の詳細について説明する。尚、図9では、一例として画面名に関するCRUD図生成処理を説明するが、画面ID、ボタン名、ボタンIDについても基本的に画面名と同様であるため説明を省略する。後述する図10についても同様である。
図9はCRUD図生成処理の一例を示すフローチャートである。まず、CRUD図生成部320はモニタリングDB310からモニタリングデータを読み出す(ステップS301)。ステップS301の処理が完了すると、CRUD図生成部320は読み出したモニタリングデータの末尾まで後続の処理に関してループ処理を開始する(ステップS302)。具体的には、まず、CRUD図生成部320は読み出したモニタリングデータにおける画面名を保持する(ステップS303)。次いで、CRUD図生成部320はモニタリングデータにおけるパラメータを確認し、SQLデータがあるか否かを判断する(ステップS304)。
ここで、CRUD図生成部320はSQLデータがあると判断した場合(ステップS304:YES)、そのSQLデータを特定し、SQL構文解析処理を実行する(ステップS305)。具体的には、CRUD図生成部320はSQLデータが表すSQL構文から命令と命令の対象となっているテーブル名を取得して特定する。尚、命令はSELECT、INSERT、UPDATE、DELETEのほか、例えばJOINやCOUNTなどもある。ステップS305の処理が完了すると、次いで、CRUD図生成部320は取得した命令の種別を判断する(ステップS306〜S309)。尚、図9において、SELECT、INSERT、UPDATE、DELETEをそれぞれ順にA、B、C、Dとして表記し、SELECT、INSERT、UPDATE、DELETE以外をEとして表記している。
例えば、CRUD図生成部320がSELECTを命令として取得した場合(S306:YES)、命令に対応した命令種別「1」を保持する(ステップS310)。一方、CRUD図生成部320がSELECTを命令として取得せず(ステップS306:NO)、INSERTを命令として取得した場合(ステップS307:YES)、命令に対応した命令種別「2」を保持する(ステップS310)。同様に、CRUD図生成部320がINSERTを命令として取得せず(ステップS307:NO)、UPDATEを命令として取得した場合(ステップS308:YES)、命令に対応した命令種別「3」を保持する(ステップS310)。CRUD図生成部320がUPDATEを命令として取得せず(ステップS308:NO)、DELETEを命令として取得した場合(ステップS309:YES)、命令に対応した命令種別「4」を保持する(ステップS310)。尚、CRUD図生成部320がDELETEを命令として取得しなかった場合(ステップS309:NO)、後続のステップS310からステップS312までの処理をスキップする。
ステップS310の処理が完了すると、CRUD図生成部320はステップS305の処理で取得したテーブル名を保持する(ステップS311)。ステップS311の処理が完了すると、CRUD図生成部320はステップS303で保持した画面名、ステップS310の処理で保持した命令種別、及びステップS311の処理で保持したテーブル名を引数としてCRUD図書込処理を実行する(ステップS312)。尚、CRUD図書込処理の詳細については後述する。
一方、上述したステップS304の処理において、CRUD図生成部320はSQLデータがないと判断した場合(ステップS304:NO)、ステップS303で保持した画面名、予め定めた命令種別「5」、及びテーブル名「NULL」を引数としてCRUD図書込処理を実行する(ステップS313)。例えば図5に示すように、パラメータによってはSQLデータが存在しない場合がある。
ステップS312,S313の処理が完了すると、CRUD図生成部320は次のモニタリングデータに移行する(ステップS314)。これにより、次のモニタリングデータに対してステップS303の処理からステップS312までの処理、又は、ステップS303,S304,S313の処理が実行される。そして、モニタリングデータの末尾まで、ステップS303の処理からステップS312までの処理、又は、ステップS303,S304,S313の処理が完了すると、CRUD図生成部320はCRUD図生成処理を終え、生成したCRUD図をCRUD図DB330に格納する。
次に、図10を参照して、上述したCRUD図書込処理について説明する。
図10はCRUD図書込処理の一例を示すフローチャートである。まず、CRUD図生成部320はCRUD図ファイルをオープンする(ステップS401)。CRUD図ファイルは予め定めた表形式の電子ファイルである。CRUD図書込処理が初回である場合には、CRUD図ファイルには何も記入されていない。すなわち、CRUD図ファイルには上述した引数としての画面名、命令種別に応じた命令の頭文字、テーブル名が全く記入されていない。逆に、CRUD図書込処理が2回目以降である場合には、CRUD図ファイルに上述した引数としての画面名、命令種別に応じた命令の頭文字、テーブル名が記入されている場合がある。
ステップS401の処理が完了すると、次いで、CRUD図生成部320はCRUD図ファイルの画面名が空文字になるまで後続の処理に関してループ処理を開始する(ステップS402)。次いで、CRUD図生成部320はCRUD図ファイルの画面名と引数の画面名が一致するか否かを判断する(ステップS403)。CRUD図生成部320は画面名が一致すると判断した場合(ステップS403:YES)、CRUD図ファイルのテーブル名が空文字になるまで後続の処理に関してループ処理を開始する(ステップS404)。
次いで、CRUD図生成部320はCRUD図ファイルのテーブル名と引数のテーブル名が一致するか否かを判断する(ステップS405)。CRUD図生成部320はテーブル名が一致しないと判断した場合(ステップS405:NO)、次のテーブル名に移行する(ステップS406)。すなわち、CRUD図生成部320はテーブル名が一致するか、テーブル名が空文字になるまで、ステップS405の処理を繰り返す。一方、上述したステップS403の処理において、CRUD図生成部320は画面名が一致しないと判断した場合(ステップS403:NO)、次の画面名に移行する(ステップS407)。すなわち、CRUD図生成部320は画面名が一致するか、画面名が空文字になるまで、ステップS404からS406までの処理を繰り返す。
ステップS402からステップS407までの処理が完了すると、CRUD図生成部320はCRUD図ファイルの画面名が空文字であるか否かを判断する(ステップS408)。CRUD図生成部320は画面名が空文字であると判断した場合(ステップS408:YES)、CRUD図ファイルへ引数の画面名を記入する(ステップS409)。一方、CRUD図生成部320は画面名が空文字でないと判断した場合(ステップS408:NO)、ステップS409の処理をスキップする。すなわち、既に記入されている画面名が後続の処理対象となる。
ステップS408又はステップS409の処理が完了すると、次いで、CRUD図生成部320はCRUD図ファイルのテーブル名が空文字であるか否かを判断する(ステップS410)。CRUD図生成部320はテーブル名が空文字であると判断した場合(ステップS410:YES)、CRUD図ファイルへ引数のテーブル名を記入する(ステップS411)。一方、CRUD図生成部320はテーブル名が空文字でないと判断した場合(ステップS410:NO)、ステップS411の処理をスキップする。すなわち、既に記入されているテーブル名が後続の処理対象となる。
ステップS410又はステップS411の処理が完了すると、次いで、CRUD図生成部320はCRUDを記入する(ステップS412)。より詳しくは、ステップS408からS411の処理によって特定された画面名とテーブル名により指定される記入欄にC,R,U,Dのいずれかを記入する。例えば、当該記入欄の1文字目の位置にCが記入され、4文字目の位置にDが既に記入されている場合、CRUD図生成部320はこれらの記載内容を取得し、命令種別「1」が引数であれば、2文字目の位置を無記入の状態からRに書き換える。ステップS412の処理が完了すると、CRUD図ファイルをクローズし(ステップS413)、処理を終了する。
以上、図9及び図10を参照して説明したように、最初は何も記入されていないCRUD図ファイルに対し、互いに重複しない画面名と互いに重複しないテーブル名が順に記入されていく。そして、画面名とテーブル名とによって特定される記入欄に記入すべき命令が存在する場合、該当の記入欄に命令種別に応じてC,R,U,Dが順に記入されていく。これにより、CRUD図が完成し、CRUD図DB330に蓄積される。
以上、本実施形態によれば、第2サーバ300はCRUD図生成部320を備えている。CRUD図生成部320は、画面表示の命令を含むアプリのコンパイルにより生成された第1の中間コードに、処理に関するログをモニタリングDB310に記憶させる命令を埋め込んだ第2の中間コードの実行によりモニタリングDB310に記憶されたログに基づいて、表示画面の画面名に対応づけてSQLを特定する。そして、CRUD図生成部320は、特定したSQLを解析してテーブル名を特定し、画面名に対応づけて、特定したテーブル名毎に、特定したC,R,U,Dを示したCRUD図を出力する。画面ID,ボタン名、ボタンIDの場合についても基本的に画面名の場合と同様である。これにより、テーブルに対して実行されたデータ操作の種別を示したCRUD図を画面ごと又はボタンごとに出力することができる。
ここで、仮にソースファイル内を検索し、SQLを発行している行を特定することで、SQLとSQL発行元のソースファイル名を利用してCRUD図を生成しても、画面やボタンごとのCRUD図を生成することはできない。また、仮にアプリがSQLを発行する際に、発行したSQLと発行元のクラスやメソッドといった内部構造レベルを利用した場合であっても同様である。本実施形態では、モニタリングDB310に記憶された画面を特定するログやボタンを特定するログを利用しているため、CRUD図を画面ごと又はボタンごとに出力することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、上述した実施形態では、ソースプログラムの一例としてアプリについて説明したが、アプリに代えて例えばミドルウェアを利用してもよい。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータに実行させることを特徴とする解析プログラム。
(付記2)前記操作命令を特定する処理は、前記記憶部に記憶された前記表示画面を特定するログに基づいて、前記操作命令を特定する、ことを特徴とする付記1に記載の解析プログラム。
(付記3)ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータに実行させることを特徴とする解析プログラム。
(付記4)前記操作命令を特定する処理は、前記記憶部に記憶された前記表示ボタンを特定するログに基づいて、前記操作命令を特定する、ことを特徴とする付記3に記載の解析プログラム。
(付記5)前記操作命令の種別を示す情報は、生成を特定する文字、参照を特定する文字、更新を特定する文字、若しくは削除を特定する文字、又は、前記生成を特定する文字、前記参照を特定する文字、前記更新を特定する文字、前記削除を特定する文字の少なくとも2つの組み合わせである、ことを特徴とする付記1から4のいずれか1項に記載の解析プログラム。
(付記6)画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータが実行することを特徴とする解析方法。
(付記7)ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理をコンピュータが実行することを特徴とする解析方法。
(付記8)画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理を実行する処理部を有することを特徴とする解析装置。
(付記9)前記処理部は、前記記憶部に記憶された前記表示画面を特定するログに基づいて、前記操作命令を特定する、ことを特徴とする付記8に記載の解析装置。
(付記10)ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、特定した前記操作命令を解析してアクセス先を特定し、前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、処理を実行する処理部を有することを特徴とする解析装置。
(付記11)前記処理部は、前記記憶部に記憶された前記表示ボタンを特定するログに基づいて、前記操作命令を特定する、ことを特徴とする付記10に記載の解析装置。
(付記12)前記操作命令の種別を示す情報は、生成を特定する文字、参照を特定する文字、更新を特定する文字、若しくは削除を特定する文字、又は、前記生成を特定する文字、前記参照を特定する文字、前記更新を特定する文字、前記削除を特定する文字の少なくとも2つの組み合わせである、ことを特徴とする付記8から11のいずれか1項に記載の解析装置。
S 解析システム
100 第1端末
200 第1サーバ
210 処理結果DB
220 データ処理部
230 挙動監視部
300 第2サーバ
310 モニタリングDB
320 CRUD図生成部
330 CRUD図DB
400 第2端末

Claims (9)

  1. 画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理をコンピュータに実行させることを特徴とする解析プログラム。
  2. 前記操作命令を特定する処理は、前記記憶部に記憶された前記表示画面を特定するログに基づいて、前記操作命令を特定する、
    ことを特徴とする請求項1に記載の解析プログラム。
  3. ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理をコンピュータに実行させることを特徴とする解析プログラム。
  4. 前記操作命令を特定する処理は、前記記憶部に記憶された前記表示ボタンを特定するログに基づいて、前記操作命令を特定する、
    ことを特徴とする請求項3に記載の解析プログラム。
  5. 前記操作命令の種別を示す情報は、生成を特定する文字、参照を特定する文字、更新を特定する文字、若しくは削除を特定する文字、又は、前記生成を特定する文字、前記参照を特定する文字、前記更新を特定する文字、前記削除を特定する文字の少なくとも2つの組み合わせである、
    ことを特徴とする請求項1から4のいずれか1項に記載の解析プログラム。
  6. 画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理をコンピュータが実行することを特徴とする解析方法。
  7. ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理をコンピュータが実行することを特徴とする解析方法。
  8. 画面表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示画面の識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示画面の識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理を実行する処理部を有することを特徴とする解析装置。
  9. ボタン表示の命令を含むソースプログラムのコンパイルにより生成されたプログラムに、処理に関するログを記憶部に記憶させる命令を埋め込んだプログラムの実行により前記記憶部に記憶されたログに基づいて、表示ボタンの識別情報に対応づけてデータベースに関する操作命令を特定し、
    特定した前記操作命令を解析してアクセス先を特定し、
    前記表示ボタンの識別情報に対応づけて、特定したアクセス先毎に、特定した操作命令の種別を示す情報を示した対応表を出力する、
    処理を実行する処理部を有することを特徴とする解析装置。
JP2016182007A 2016-09-16 2016-09-16 解析プログラム、解析方法、及び解析装置 Active JP6717140B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016182007A JP6717140B2 (ja) 2016-09-16 2016-09-16 解析プログラム、解析方法、及び解析装置
US15/697,650 US10310958B2 (en) 2016-09-16 2017-09-07 Recording medium recording analysis program, analysis method, and analysis apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016182007A JP6717140B2 (ja) 2016-09-16 2016-09-16 解析プログラム、解析方法、及び解析装置

Publications (2)

Publication Number Publication Date
JP2018045619A true JP2018045619A (ja) 2018-03-22
JP6717140B2 JP6717140B2 (ja) 2020-07-01

Family

ID=61621092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016182007A Active JP6717140B2 (ja) 2016-09-16 2016-09-16 解析プログラム、解析方法、及び解析装置

Country Status (2)

Country Link
US (1) US10310958B2 (ja)
JP (1) JP6717140B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158460A1 (ja) * 2019-01-31 2020-08-06 日本電信電話株式会社 デバッグ支援システムおよびデバッグ支援方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10491615B2 (en) * 2017-01-09 2019-11-26 Sap Se User classification by local to global sequence alignment techniques for anomaly-based intrusion detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
JP2008077285A (ja) * 2006-09-20 2008-04-03 Hitachi Information Systems Ltd Sql管理システムとsql管理方法およびプログラム
JP2009230618A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 設計書作成プログラム、該装置、及び該方法
JP2010108030A (ja) * 2008-10-28 2010-05-13 Nec Corp 情報処理装置
JP2012178136A (ja) * 2010-10-25 2012-09-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 予測装置、予測方法、及び、プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145121A (en) * 1997-04-17 2000-11-07 University Of Washington Trace based method for the analysis, benchmarking and tuning of object oriented databases and applications
US20050049999A1 (en) * 2003-08-29 2005-03-03 Immo-Gert Birn Database access statement tracing
US8108350B2 (en) * 2004-05-12 2012-01-31 Oracle International Corporation End-to-end tracing for database applications
JP2007213392A (ja) 2006-02-10 2007-08-23 Nec Corp Sqlトレース取得システム及び方法
WO2009044589A1 (ja) * 2007-10-03 2009-04-09 Nec Corporation 階層型負荷推定システム、方法およびプログラム
US8356289B2 (en) * 2008-03-26 2013-01-15 Avaya Inc. Efficient encoding of instrumented data in real-time concurrent systems
US20090287729A1 (en) * 2008-05-16 2009-11-19 Microsoft Corporation Source code coverage testing
US10481878B2 (en) * 2008-10-09 2019-11-19 Objectstore, Inc. User interface apparatus and methods
US9916140B2 (en) * 2015-03-23 2018-03-13 International Business Machines Corporation Method of generating end-to-end web application from tooling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
JP2008077285A (ja) * 2006-09-20 2008-04-03 Hitachi Information Systems Ltd Sql管理システムとsql管理方法およびプログラム
JP2009230618A (ja) * 2008-03-25 2009-10-08 Fujitsu Ltd 設計書作成プログラム、該装置、及び該方法
JP2010108030A (ja) * 2008-10-28 2010-05-13 Nec Corp 情報処理装置
JP2012178136A (ja) * 2010-10-25 2012-09-13 Bank Of Tokyo-Mitsubishi Ufj Ltd 予測装置、予測方法、及び、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020158460A1 (ja) * 2019-01-31 2020-08-06 日本電信電話株式会社 デバッグ支援システムおよびデバッグ支援方法
JP2020123268A (ja) * 2019-01-31 2020-08-13 日本電信電話株式会社 デバッグ支援システムおよびデバッグ支援方法
JP7115342B2 (ja) 2019-01-31 2022-08-09 日本電信電話株式会社 デバッグ支援システムおよびデバッグ支援方法

Also Published As

Publication number Publication date
US20180081779A1 (en) 2018-03-22
JP6717140B2 (ja) 2020-07-01
US10310958B2 (en) 2019-06-04

Similar Documents

Publication Publication Date Title
EP3342145B1 (en) Deep linking to mobile application states through programmatic replay of user interface events
CN102971688B (zh) 跨平台应用程序框架
US20110090236A1 (en) Graphic Object Data Binding
US8793653B2 (en) Program code library selection in an integrated development environment
KR20140067018A (ko) 메타데이터를 이용하여 운영 체제의 네이티브 애플리케이션 프로그래밍 인터페이스를 기술하는 기법
JP2020119348A (ja) 解析プログラム、解析方法および解析装置
CN106648569B (zh) 目标序列化实现方法和装置
US20100313186A1 (en) Developer-managed debugger data records
JP6717140B2 (ja) 解析プログラム、解析方法、及び解析装置
US10241899B2 (en) Test input information search device and method
JP2006350750A (ja) グリーン調達装置及びグリーン調達処理プログラム
JP2012168900A (ja) プログラミング装置、プログラム
CN113504904A (zh) 用户定义函数实现方法、装置、计算机设备和存储介质
CN106445483A (zh) 生成行动应用程序的方法和系统
KR100846203B1 (ko) 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
JP7344521B1 (ja) プログラム、方法、情報処理装置、及びシステム
JP2020087087A (ja) 修正候補特定プログラム
US11500759B2 (en) Information processing system, information processing method, and development apparatus
JPH11338686A (ja) プログラム開発支援装置及びプログラム開発支援方法並びにプログラム開発支援プログラムを記録した記録媒体
JP7455767B2 (ja) コード読解支援装置、方法及びプログラム
CN115437935A (zh) 测试用例生成方法、装置、计算机设备和存储介质
Chen Developing a music player mobile application with cloud server
CN116974643A (zh) 数据处理方法、系统、电子设备及计算机可读存储介质
CN116679912A (zh) 代码生成方法、装置、设备、存储介质及计算机程序
CN115576962A (zh) 数据库的操作方法、装置、介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200423

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: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200525

R150 Certificate of patent or registration of utility model

Ref document number: 6717140

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150