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