程序分析裝置、程序分析方法及程序分析程序的制作方法
【技術領域】
[0001]本發明涉及程序分析裝置、程序分析方法及程序分析程序。
【背景技術】
[0002]為了檢測研發出的程序的問題部位,對程序的源代碼或者執行形式的程序執行分析工具。
[0003]程序的設計者根據分析結果判定程序有無問題,將判定結果反饋在程序的設計中。
[0004]但是,如果構成程序的全部源代碼不齊全,則不能進行充分的程序分析。
[0005]S卩,在將用于提供追加功能的程序插入在已有的程序中的情況下,需要對插入的程序與已有的程序的全部組合實施程序分析。
[0006]因此,在插入的程序增加時,分析對象的組合非常巨大,導致程序分析花費非常多的工時。
[0007]另外,在程序的分析工具輸出的警告內容中,除了與程序的問題有關的內容以外,還包含設計者意識到的內容即與程序的問題無關的內容。但是,不能自動地區分與程序的問題有關的內容和與程序的問題無關的內容。
[0008]現有技術文獻
[0009]專利文獻
[0010]專利文獻1:日本特開平7-210424號公報
【發明內容】
[0011]發明要解決的問題
[0012]本發明的目的在于,例如能夠容易地進行與追加新部分程序后的新執行程序有關的程序分析。
[0013]用于解決問題的手段
[0014]本發明的程序分析裝置具有:
[0015]列表取得部,其從存儲待執行的執行程序和表示構成所述執行程序的部分程序的部分程序列表的程序執行裝置,取得所述部分程序列表;
[0016]源代碼取得部,其取得由所述列表取得部取得的所述部分程序列表中示出的所述部分程序的源代碼和在所述執行程序中追加的新部分程序的源代碼;以及
[0017]程序分析部,其使用由所述源代碼取得部取得的所述部分程序的所述源代碼和所述新部分程序的所述源代碼,判定包含所述新部分程序的新執行程序是否產生問題。
[0018]發明效果
[0019]根據本發明,能夠通過取得部分程序的源代碼和新部分程序的源代碼,容易地進行與追加新部分程序后的新執行程序有關的程序分析。
【附圖說明】
[0020]圖1是實施方式I的程序管理系統100的結構圖。
[0021 ]圖2是實施方式I的外部終端200的功能結構圖。
[0022]圖3是表示實施方式I的程序管理方法的處理流程的流程圖。
[0023]圖4是表示實施方式I的外部終端200的硬件結構的一例的圖。
[0024]圖5是實施方式2的應用服務器110的功能結構圖。
[0025]圖6是表示實施方式2的程序管理方法的處理流程的流程圖。
[0026]圖7是實施方式3的程序管理系統100的功能結構圖。
[0027]圖8是表示實施方式3的程序管理方法的處理流程的流程圖。
[0028]圖9是實施方式4的應用文件118的結構圖。
[0029]圖10是實施方式4的外部終端200的功能結構圖。
[0030]圖11是表示實施方式4的程序管理方法的處理流程的流程圖。
[0031]圖12是實施方式4的程序分析處理(S200)的流程圖。
[0032]圖13是實施方式4的主程序生成處理(S210)的流程圖。
[0033]圖14是表示實施方式4的第一構造設計文件291的一例的圖。
[0034]圖15是表示實施方式4的第二構造設計文件292的一例的圖。
[0035]圖16是表示實施方式4的應用的測試方法的概要圖。
[0036]圖17是實施方式5的程序分析處理(S200)的流程圖。
[0037]圖18是表示實施方式6的第一構造設計文件291的一例的圖。
[0038]圖19是表示實施方式6的第二構造設計文件292的一例的圖。
[0039]圖20是表示實施方式6的第三構造設計文件293的一例的圖。
[0040]圖21是實施方式7的主程序生成處理(S210)的流程圖。
[0041]圖22是表示實施方式7的第一構造設計文件291的一例的圖。
[0042]圖23是表示實施方式7的第一構造設計文件291的一例的圖。
[0043]圖24是表示實施方式7的第一構造設計文件291的一例的圖。
【具體實施方式】
[0044]實施方式I
[0045]對進行與追加新部分程序后的新執行程序有關的程序分析的方式進行說明。
[0046]圖1是實施方式I的程序管理系統100的結構圖。
[0047]根據圖1說明實施方式I的程序管理系統100的結構。
[0048]程序管理系統100具有應用服務器110、車輛120和外部終端200 (程序分析裝置的一例)。并且,車輛120具有控制車輛120的電子控制裝置121 (程序執行裝置的一例)。但是,電子控制裝置121也可以是進行車輛控制以外的信息處理的裝置。
[0049]外部終端200以有線或者無線的方式與應用服務器110和車輛120進行通信。
[0050]電子控制裝置121存儲應用列表122 (部分程序列表的一例)和執行程序123。
[0051]執行程序123例如是用于控制車輛120的執行形式的程序。
[0052]應用列表122是表不構成執行程序123的應用程序(部分程序的一例)的名稱的數據。
[0053]下面,將構成執行程序123的應用程序稱作“搭載應用”。
[0054]在對電子控制裝置121追加應用程序的情況下,即插入(add on)或者加入(plugin)應用程序的情況下,外部終端200按照下面所述進行動作。
[0055]下面,將追加的應用程序稱作“追加應用”,將追加應用程序后的執行程序123稱作“新執行程序123”。
[0056](I)外部終端200從電子控制裝置121取得應用列表122。
[0057](2)外部終端200從應用服務器110取得根據在應用列表122中示出的應用名稱識別出的搭載應用的源代碼111。
[0058]并且,外部終端200從應用服務器110取得追加應用的源代碼111。
[0059](3)外部終端200使用追加應用的源代碼111和搭載應用的源代碼111,進行與新執行程序123有關的程序分析。在程序分析中判定新執行程序123是否產生問題。
[0060](4)在判定為新執行程序123沒有產生問題的情況下,外部終端200生成新執行程序123,利用新執行程序123更新電子控制裝置121中存儲的執行程序123。并且,外部終端200將追加應用的應用名稱追加到應用列表122。
[0061]通過以上的動作,能夠判定在追加了應用程序時新執行程序123是否產生問題。
[0062]圖2是實施方式I的外部終端200的功能結構圖。
[0063]根據圖2說明實施方式I的外部終端200的功能結構。
[0064]外部終端200具有追加應用受理部210、應用列表讀入部220 (列表取得部的一例)和應用收集部230 (源代碼取得部的一例)。
[0065]外部終端200具有程序分析部240、程序生成部250、程序更新部260和終端存儲部 290。
[0066]追加應用受理部210受理針對電子控制裝置121的應用程序的追加請求。
[0067]應用列表讀入部220從電子控制裝置121讀入應用列表122。
[0068]應用收集部230從應用服務器110下載根據在應用列表122中示出的應用名稱識別出的搭載應用的源代碼111。并且,應用收集部230從應用服務器110下載追加應用的源代碼111。
[0069]程序分析部240使用追加應用的源代碼111和搭載應用的源代碼111,進行與新執行程序123有關的程序分析。
[0070]程序生成部250在判定為新執行程序123沒有產生問題的情況下,生成新執行程序 123。
[0071]程序更新部260將電子控制裝置121中存儲的執行程序123更新成新執行程序123。并且,程序更新部260將追加應用的應用名稱追加到應用列表122。
[0072]終端存儲部290存儲由外部終端200使用的數據。
[0073]例如,終端存儲部290存儲應用列表122、追加應用的源代碼111、搭載應用的源代碼111和新執行程序123等。
[0074]圖3是表示實施方式I的程序管理方法的處理流程的流程圖。
[0075]根據圖3說明實施方式I的程序管理方法。
[0076]在此,假設在應用服務器110中預先存儲有研發出的應用的源代碼111。
[0077]在源代碼111利用C語言記述的情況下,記述源代碼111的文件的擴展符是c”或者“.h”。
[0078]在SllO中,用戶將針對電子控制裝置121的應用的追加請求輸入到外部終端200。例如,車輛120的經營商(用戶的一例)將應用的追加請求輸入到外部終端200。
[0079]然后,外部終端200的追加應用受理部210受理應用的追加請求。
[0080]另外,應用的追加請求包含想要對電子控制裝置121追加的追加應用的應用名稱(識別符的一例)。
[0081]在SllO之后,處理進入S120。
[0082]在S120中,應用列表讀入部220與電子控制裝置121進行通信。然后,應用列表讀入部220從電子控制裝置121讀入應用列表122。
[0083]在S120之后,處理進入S130。
[0084]在S130中,應用收集