CN113986253A - 信息处理装置、信息处理方法和记录介质 - Google Patents
信息处理装置、信息处理方法和记录介质 Download PDFInfo
- Publication number
- CN113986253A CN113986253A CN202111308206.7A CN202111308206A CN113986253A CN 113986253 A CN113986253 A CN 113986253A CN 202111308206 A CN202111308206 A CN 202111308206A CN 113986253 A CN113986253 A CN 113986253A
- Authority
- CN
- China
- Prior art keywords
- program source
- maintenance
- syntax
- information
- current
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 15
- 238000003672 processing method Methods 0.000 title claims abstract description 5
- 238000012423 maintenance Methods 0.000 claims abstract description 178
- 238000013461 design Methods 0.000 claims abstract description 54
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims description 75
- 230000018109 developmental process Effects 0.000 description 121
- 238000011161 development Methods 0.000 description 120
- 238000006243 chemical reaction Methods 0.000 description 80
- 230000005012 migration Effects 0.000 description 29
- 238000013508 migration Methods 0.000 description 28
- 238000007689 inspection Methods 0.000 description 24
- 238000000034 method Methods 0.000 description 19
- 238000013509 system migration Methods 0.000 description 19
- 230000005764 inhibitory process Effects 0.000 description 10
- 230000004048 modification Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 108020004705 Codon Proteins 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供信息处理装置、信息处理方法和记录介质。信息处理装置具备:语法分析程序部,其进行维护前的当前程序源的句法解析,并生成用于所述维护前的当前程序源的令牌以及句法的一览表;设定部,其基于新程序源的设计基准,设定许可信息和禁止信息,其中,所述许可信息表示允许在所述新程序源中使用的令牌、句法以及字符串,所述禁止信息表示禁止在所述新程序源中使用的令牌、句法以及字符串;以及工具生成部,其生成用于判定在维护后的当前程序源中是否使用了所述许可信息以及所述禁止信息的工具。
Description
本申请为2017年3月22日递交的、申请号为2017800222066、发明名称为“程序源转换方法、程序源转换装置、信息处理装置、信息处理方法和程序”的专利申请的分案申请。
技术领域
本发明设计一种伴随着从当前系统向新系统的系统迁移的软件开发的技术。
背景技术
在从当前系统向新系统的系统迁移中,例如具有程序的转换开发这样的作业。在转换开发中,将用于当前系统的当前程序源的程序语言(例:COBOL(COmmon BusinessOriented Language))置换为其他程序语言(例:JAVA(注册商标)),生成用于新系统的新程序源。
在转换开发的中途阶段,存在实施当前系统的维护开发的情况。如果是大型系统的转换开发,则由于将成为长期作业,因此有时也会涉及多次转换开发的中途阶段下的维护开发。在已实施维护开发的情况下,针对开发中途的新系统实施追加作业。追加作业是指暂时生成、且使完成了系统测试的新系统的新程序源反映通过维护开发所产生的程序修正变更部分的作业。追加作业是必须的,但是由于使转换开发的作业量增大,造成系统迁移的延迟化,因此存在想要减少作业工时从而提早结束的愿望。但是,由于在维护开发中基本不会考虑转换开发的设计内容,因此难以预估追加作业的作业工时,且减少作业工时绝非易事。
日本专利文献1公开了一种使用抽象句法树来对验证对象程序是否满足所指定的内部规格来进行验证的程序验证装置。
专利文献
专利文献1:日本特开2011-215998号公报
发明内容
发明要解决的课题
但是,日本专利文献1并未记载、启示与追加作业有关的上述问题及其解决对策。其结果是,无法实现进行程序的转换开发的系统迁移的提早化。因此,本发明是鉴于以上情况而完成的,其目的在于,实现从进行维护开发的当前系统向新系统的系统迁移的提早化。
用于解决课题的方法
为了实现所述目的,本发明的信息处理装置的特征在于,
将第1程序源转换为第2程序源的程序源转换装置执行以下工序:
生成解析所述第1程序源并检查被允许的允许规则的代码检查工具的工序;
将所述第1程序源转换为所述第2程序源的工序;
在对所述第1程序源有过维护开发的情况下,提取所述允许规则外的用法的工序,该用法用于使用所述代码检查工具来检查所述维护开发过的第1程序源,并决定用于将所述维护开发过的第1程序源反映于所述转换完成的第2程序源的方针;以及
基于所述方针将所述维护开发过的第1程序源转换为第2程序源,并与所述转换完成的第2程序源合并的工序。对于其他单元将予以后述。
发明效果
根据本发明,能够实现提前从进行维护开发的当前系统向新系统的系统迁移。
附图说明
图1是表示不应用本发明时的系统迁移的时序。
图2是表示应用了本发明时的系统迁移的时序。
图3是表示迁移开发环境中的转换开发的详细步骤以及当前系统维护开发环境中的维护开发的详细步骤的流程图。
图4是反转装置的功能结构图。
图5是代码检查工具的功能结构图。
图6是表示维护后的当前程序源判定处理(判定句法的情况)的流程图。
具体实施方式
以下,一边参照附图,一边对本发明的成为优选例的实施方式进行详细说明。
《概要》
[现有系统迁移]
如图1所示,例如通过在当前系统用服务器1、当前系统维护用PC(PersonalComputer)2、测试服务器2t、存储库用服务器3、新系统维护用PC4、测试服务器4t、转换开发用服务器5、测试服务器5t以及新系统用服务器6之间进行信息的交换,来实现成为比较例的、进行程序的转换开发的系统迁移。
当前系统用服务器1是进行如下处理的服务器,即,读取当前程序源P1(维护前的当前程序源)以供当前系统的正式运用。当前系统用服务器1处于当前系统正式环境下,例如被设置于转换开发者的客户处。
当前程序源P1是用于当前系统的程序的源代码。当前程序源P1例如通过COBOL记述,但是也可以通过其他语言记述。
此外,在本说明书中,存在无论是否进行过维护开发都将当前程序源称为“第1程序源”,将当前系统称为“第1系统”的情况。
当前系统维护用PC2是修正当前程序源P1并生成已完成维护的当前程序源P2的服务器。已完成维护的当前程序源P2等于已完成维护开发的当前程序源P1。以与当前程序源P1相同的语言来记述已完成维护的当前程序源P2。
测试服务器2t是进行已完成维护的当前程序源P2的动作确认的测试的服务器。
当前系统维护用PC2以及测试服务器2t处于当前系统维护开发环境下,例如被设置于转换开发业者的客户处。
此外,维护开发包含修正引起在当前系统中产生的故障的漏洞等非预定的作业、或者包含伴随法律修正的程序规格变更等预定的作业。
存储库用服务器3是资源管理用服务器。存储库用服务器3保存并管理当前程序源P1、已完成维护的当前程序源P2、新程序源P3以及已完成维护的新程序源P4。
新程序源P3是用于新系统的程序的源代码。
已完成维护的新程序源P4等于已完成维护开发的新程序源P3。
存储库用服务器3处于资源管理环境下,例如设置于客户处。此外,资源管理环境也可以兼具当前系统维护开发环境、或者后述的新系统维护开发环境。换言之,能够将当前系统维护用PC2、或者新系统维护用PC4设计成作为存储库用服务器3来发挥作用。
新系统维护用PC4是修正新程序源P3并生成已完成维护的新程序源P4的服务器。
测试服务器4t是进行已完成维护的新程序源P4的动作确认的测试(系统测试)的服务器。
新系统维护用PC4以及测试服务器4t处于新系统维护开发环境下,例如被设置于客户处。
转换开发用服务器5是将当前程序源P1的程序语言置换为其他程序语言,并生成新程序源P3的服务器。新程序源P3例如以JAVA来进行记述,但是也可以通过其他语言来进行记述。
测试服务器5t是进行新程序源P3的动作确认的测试的服务器。
转换开发用服务器5以及测试服务器5t处于迁移开发环境下,例如被设置于转换开发者处。
新系统用服务器6是进行如下处理的服务器,即,读取已完成维护的新程序源P4以供新系统的正式运用。新系统用服务器6处于新系统正式环境下,例如被设置于客户处。
此外,在本说明书中,存在无论是否进行过维护开发都将新程序源将称为“第2程序源”,将新系统称为“第2系统”的情况。
图1中的系统迁移的步骤如下所示。
首先,在步骤A1中,当前系统用服务器1读取从存储库用服务器3取得的当前程序源P1,进行正式运用。
接着,在步骤A2中,转换开发用服务器5针对从存储库用服务器3取得的当前程序源P1进行当前系统的转换开发,生成新程序源P3。另外,测试服务器5t进行新程序源P3的动作确认的测试。结束了由测试服务器5t进行的测试的新程序源P3被保存于新系统维护用PC4。
然后,在步骤A3中,当前系统维护用PC2修正从存储库用服务器3取得的当前程序源P1,并进行维护开发,生成已完成维护的当前程序源P2。另外,测试服务器2t进行已完成维护的当前程序源P2的动作确认的测试。在步骤A2完成之前,与步骤A2并行进行1次或者多次步骤A3(并行维护)。结束了由测试服务器2t进行的测试的已完成维护的当前程序源P2被保存于存储库用服务器3。
接着,在步骤A4中,测试服务器4t进行新程序源P3的系统测试。具体地,测试服务器4t作为系统测试,对输出为新程序源P3的转换结果进行确认。结束了由测试服务器4t进行的系统测试的新程序源P3被保存于存储库用服务器3。
接着,在步骤A5中,当前系统用服务器1读取从存储库用服务器3取得的已完成维护的当前程序源P2,并以完成维护的内容开始正式运用。
然后,在步骤A6中,转换开发用服务器5读取从存储库用服务器3取得的已完成维护的当前程序源P2,进行追加作业。具体地,转换开发用服务器5将当前程序源P1与已完成维护的当前程序源P2的差分确定为基于步骤A3的维护开发的程序变更修正部分。另外,转换开发用服务器5对已确定的程序变更修正部分,进行成为了完成维护的当前系统的转换开发。另外,转换开发用服务器5使成为了完成维护的当前系统的转换开发的结果反映于新程序源P3,来生成已完成维护的新程序源P4。“使成为了完成维护的当前系统的转换开发的结果反映于新程序源P3”是指,采取以下工序,即,使步骤A2中的初始的转换开发的设计对应于并行维护。另外,测试服务器5t进行已完成维护的新程序源P4的动作确认的测试。结束了由测试服务器5t进行的测试的已完成维护的新程序源P4被保存于新系统维护用PC4。
接着,在步骤A7中,测试服务器4t进行已完成维护的新程序源P4的系统测试。具体地,测试服务器4t作为系统测试,对输出为已完成维护的新程序源P4的转换结果进行确认。结束了由测试服务器4t进行的系统测试的已完成维护的新程序源P4被保存于存储库用服务器3。
然后,在步骤A8中,进行系统迁移(符号M1)。具体地,在步骤A5中,结束当前系统用服务器1进行过的、以完成维护的内容来进行的正式运用,并且新系统用服务器6读取从存储库用服务器3取得的已完成维护的新程序源P4,并以完成维护的内容开始正式运用。
然后,在步骤A9中,当前系统用服务器1使用已完成维护的当前程序源P2,以完成维护的内容开始备份运用。
步骤A6的追加作业的作业量依赖于步骤A3的维护开发中的当前程序源P1的程序变更修正的结果。过去,由于在维护开发中基本不考虑转换开发的设计内容(因为维护开发业者优先考虑维护开发的便利,而不会关注转换开发),因此维护开发中的当前程序源P1的程序变更修正的实现方式多种多样。例如,有时在维护开发中使用不以迁移设计为对象的新的(COBOL的)指令码来修正程序(该“修正”包含使用了新的“指令码”的修正以及使用了新的“指令码的使用方法”的修正这两方的意思)。此时,需要修正转换开发的迁移设计。虽然能够使用预定的转换工具来机械地进行大多数转换(程序语言的转换),但是在修正了转换开发的迁移设计的情况下,需要以对应于该迁移设计的修正的方式来修正转换工具。另外,在使用修正后的转换工具来进行转换时,需要预先进行修正后的转换工具自身的动作确认的测试。由于这些作业有时伴随着追加作业,因此难以在转换开发侧预测追加作业的作业量,并预估、减少追加作业的作业工时。
此外,关于非常复杂的转换步骤,从开发成本的观点出发,有时并不使用转换工具而是以手动作业来进行转换。假设在当前程序源P1中对转换手动作业部分有过维护开发的修正。此时,即使没有修正转换开发的迁移设计,在追加作业中,仍以手动作业的方式完成符合维护开发的修正结果的转换,并进行是否正确完成转换的测试。
[本实施方式的系统迁移]
鉴于上述情况,在本实施方式中,采用图2所示的步骤。如图2所示,与图1所示的比较例同样,例如通过在当前系统用服务器1、当前系统维护用PC2、测试服务器2t、存储库用服务器3、新系统维护用PC4、测试服务器4t、转换开发用服务器5、测试服务器5t以及新系统用服务器6之间进行信息的交换来实现本实施方式中的、进行程序的转换开发的系统迁移。以下,以与图1的不同点为中心进行叙述,针对本实施方式中的系统迁移进行说明。
在步骤A2的初期进行步骤B1。在步骤B1中,在决定了在转换开发中作为前提的程序句法(以下,有时仅称为“句法”)之后,转换开发用服务器5生成反映了句法的设计基准10以及代码检查工具20。
设计基准10是新程序源P3的设计基准,并汇总记述了系统迁移的迁移设计(后述)的必要条件。
代码检查工具20是用于使用当前系统维护用PC2进行的维护开发的编程(后述)的工具。代码检查工具20的详细内容将予以后述。
然后,进行步骤B2来代替步骤A3(图1)。在步骤B2中,当前系统维护用PC2在进行维护开发,并生成已完成维护的当前程序源P2时,使用从转换开发用服务器5取得到的设计基准10以及代码检查工具20,来利用以转换开发为前提的(所考虑到)句法等。当前系统维护用PC2针对生成出的已完成维护的当前程序源P2,使代码检查工具20进行动作,并判定是否利用了脱离于设计基准10的句法等。在存在脱离于设计基准10的句法等的情况下,当前系统维护用PC2也可以通过不存在脱离于设计基准10的句法等的方式来生成已完成维护的当前程序源P2。当无论如何在维护开发中都需要脱离于设计基准10的句法等的情况下,当前系统维护用PC2生成汇总记述了这种句法等的基准外一览表30。基准外一览表30能够决定用于将已完成维护的当前程序源P2反映于新程序源P3的方针。对基准外一览表30的详细内容将予以后述。
然后,在步骤A2的尾声进行步骤B3。在步骤B3中,在存在基准外一览表30的情况下,转换开发用服务器5反映从当前系统维护用PC2取得的基准外一览表30并生成新程序源P3。
步骤B4的追加作业是相当于步骤A6(图1)的追加作业的作业。转换开发用服务器5基于基准外一览表30的方针,来转换已完成维护的当前程序源P2并与新程序源P3合并。
基于设计基准10来进行转换开发(步骤A2)。因此,在维护开发中,如果以基于设计基准10的方式生成已完成维护的当前程序源P2则不会生成基准外一览表30。其结果是,在追加作业(步骤B4)中,能够省略与系统迁移的迁移设计有关的部分。
另外,在维护开发中,即使以脱离于设计基准10的方式生成已完成维护的当前程序源P2,并生成基准外一览表30,也能够在步骤B3阶段、即先于追加作业(步骤B4)来进行与基准外一览表30的句法等相对应的、系统迁移的迁移设计(追加作业的提前)。过去(图1),在追加作业(步骤A6)中,如果不是在取得作为维护开发的成果的已完成维护的当前程序源P2并进行了句法解析等之后,则无法确定相当于基准外一览表30的句法等的句法等,且无法进行与该已确定的句法等对应的、系统迁移的迁移设计。
如上所述,能够省略追加作业(步骤B4)的一部分,或者能够在转换开发的阶段提前进行系统开发的迁移设计。其结果是,与步骤A6(图1)的追加作业相比,能够实现追加作业(步骤B4)的工期缩短或工时减少,并能够使本实施方式的系统迁移(符号M2)比现有(参照图1)的系统迁移(符号M1)提前(系统迁移的提早化)。
此外,步骤B1中的生成设计基准10以及代码检查工具20所需的期间、步骤B3中的反映基准外一览表30所需的期间短到与追加作业的缩短期间相比是能够忽视的。
执行上述步骤B1、B3、B4的转换开发用服务器5以及执行步骤B2的当前系统维护用PC2构成本发明的程序源转换装置,并执行本发明的程序源转换方法。
[转换开发的详细内容、维护开发的详细内容]
参照图3,针对迁移开发环境中的转换开发的详细步骤以及当前系统维护开发环境中的维护开发的详细步骤进行说明。
如图3的左侧所示,在配置有转换开发用服务器5以及测试服务器5t的迁移开发环境中,迁移性分析(步骤B11)、迁移设计(步骤B12)、反转(步骤B13)、程序转换(步骤B31)、转换测试(步骤B32)、程序转换(步骤B41)以及测试(步骤B42)按照此顺序来执行。
在迁移性分析(步骤B11)中,进行当前程序源P1的句法解析等。
在迁移设计(步骤B12)中,进行编程规则(例:变量命名、方法或类的设定)的设定等。通过迁移设计(步骤B12)来生成设计基准10。
在反转(步骤B13)中,通过将迁移设计(步骤B12)的结果反映(反转)于公知技术的语法分析程序,来生成代码检查工具20。
在步骤B1(图2)中执行上述迁移性分析(步骤B11)、迁移设计(步骤B12)和反转(步骤B13)。
在程序转换(步骤B31)中,将用于当前程序源P1的程序语言转换为其他程序语言,来生成新程序源P3。
在转换测试(步骤B32)中,进行基于测试服务器5t的新程序源P3的测试。
在步骤B3(图2)中执行上述程序转换(步骤B31)以及转换测试(步骤B32)。
在程序转换(步骤B41)中,将用于已完成维护的当前程序源P2的程序语言转换为其他程序语言,来生成已完成维护的新程序源P4。
在测试(步骤B42)中,进行基于测试服务器5t的已完成维护的新程序源P4的测试。
在步骤B4(图2)中执行上述程序转换(步骤B41)以及转换测试(步骤B42)。
如图3的右侧所示,在配置有当前系统维护用PC2以及测试服务器2t的当前系统维护开发环境中,基本设计(步骤B21)、详细设计(步骤B22)、编程(步骤B23)以及测试(步骤B24)按照此顺序来执行。
在基本设计(步骤B21)中,决定当前程序源P1的修正变更部分以及该部分的修正事项。在基本设计(步骤B21)中,适当参照设计基准10。
在详细设计(步骤B22)中,以尽量符合设计基准10的方式来进行编程规则的设定等。当详细设计(步骤B22)结束时,生成已完成维护的当前程序源P2。
在编程(步骤B23)中,针对所生成的已完成维护的当前程序源P2,进行包含了代码检查工具20的输出结果的编程审查。重复进行编程审查,去除已完成维护的当前程序源P2中所包含的漏洞等。
在测试(步骤B42)中,进行基于测试服务器2t的已完成维护的当前程序源P2的测试。当测试(步骤B42)结束时,生成确保了动作确认的已完成维护的当前程序源P2。
在步骤B2(图2)中执行上述基本设计(步骤B21)、详细设计(步骤B22)、编程(步骤B23)以及测试(步骤B24)。
《结构》
[反转装置]
参照图4来说明本实施方式的反转装置R(信息处理装置)。反转装置R是进行反转(图3的步骤B13)的装置,还是成为转换开发服务器5的一部分的装置。反转装置R是包含诸如输入部、输出部、控制部以及存储部的硬件的计算机。例如,在由CPU(CentralProcessing Unit)构成控制部的情况下,通过基于CPU的程序执行处理来实现由包含该控制部的计算机所进行的信息处理。另外,该计算机所包含的存储部根据CPU的指令,存储各种用于实现该计算机的功能的程序。由此实现软件与硬件的协调动作。所述程序能够记录于记录介质、或者经由网络来提供。
反转装置R具备语法分析程序部r1(语法分析程序单元)、设定部r2(设定单元)、编辑部r3以及工具生成部r4(工具生成单元)。语法分析程序部r1、设定部r2、编辑部r3、工具生成部r4是反转装置R的控制部的具体的功能部。另外,反转装置R具备代码检查程序14。代码检查程序14构成代码检查工具20的一部分,是记述了代码检查工具20的处理内容的程序源。代码检查程序14通过反转(图3的步骤B13)生成,被存储于反转装置R的存储部。
(语法分析程序部r1)
语法分析程序部r1进行当前程序源P1的句法解析。在当前程序源P1的句法解析结束时,语法分析程序部r1能够确定用于当前程序源P1的令牌以及句法。语法分析程序部r1将已确定的令牌作为维护前的令牌一览表P1a进行输出,并将已确定的句法作为维护前的句法一览表P1b进行输出。能够对每一种程序语言来准备语法分析程序部r1。
(设定部r2)
设定部r2基于新程序源P3的设计基准10,将允许在新程序源P3中使用的信息设定为许可信息11。许可信息11表示的许可是指,从生成新程序源P3的转换开发侧相对于生成已完成维护的当前程序源P2的维护开发侧的许可,从缩短追加作业(图2的步骤B4)的观点出发,意味着也可以对已完成维护的当前程序源P2使用许可信息11中所示的信息。
许可信息11具备追加令牌许可信息11a、追加句法许可信息11b以及追加字符串许可信息11c。
追加令牌许可信息11a是表示允许在新程序源P3中使用的令牌的信息。
追加句法许可信息11b是表示允许在新程序源P3中使用的句法的信息。
追加字符串许可信息11c是表示允许在新程序源P3中使用的字符串的信息。“字符串”例如是注释文字,对用于程序源的代码中的程序的动作没有贡献。在本说明书中,设“字符串”这样的语句用于上述意思。
例如,由于用于当前程序源P1的令牌、句法、字符串是作为转换开发的开发对象的信息,因此优选设为许可信息11(维护前的令牌一览表P1a中的令牌以及维护前的句法一览表P1b中的句法被分类为许可信息11)。但是,并不妨碍使许可信息11不包含用于当前程序源P1的令牌、句法、字符串的一部分。另外,也可以在转换开发侧,适当准备用于当前程序源P1的令牌、句法、字符串以外的令牌、句法、字符串,并追加至许可信息11。
另外,设定部r2基于新程序源P3的设计基准10,将禁止在新程序源P3中使用的信息设定为禁止信息12。禁止信息12表示的禁止是指,从生成新程序源P3的转换开发侧相对于生成已完成维护的当前程序源P2的维护开发侧的禁止,从缩短追加作业(图2的步骤B4)的观点出发,意味着对于已完成维护的当前程序源P2,不想使用禁止信息12所示的信息(或者也可以设为不能使用)。
禁止信息12具备追加令牌禁止信息12a、追加句法禁止信息12b以及追加字符串禁止信息12c。
追加令牌禁止信息12a是表示禁止在新程序源P3中使用的令牌的信息。
追加句法禁止信息12b是表示禁止在新程序源P3中使用的句法的信息。
追加字符串禁止信息12c是表示禁止在新程序源P3中使用的字符串的信息。
例如,由于用于当前程序源P1的令牌、句法、字符串是作为转换开发的开发对象的信息,因此优选不设为禁止信息12。但是,并不妨碍使禁止信息12包含用于当前程序源P1的令牌、句法、字符串的一部分。另外,也可以在转换开发侧,适当准备预定的令牌、句法、字符串,并追加至禁止信息12。
上述许可信息11以及禁止信息12构成维护开发的允许规则,并从转换开发侧提示给维护开发侧。
(编辑部r3)
编辑部r3对从语法分析程序部r1输出的维护前的令牌一览表P1a和维护前的句法一览表P1b以及从设定部r2输出的许可信息11和禁止信息12以汇总为所希望的形式的方式来进行编辑。编辑部r3将汇总后的信息作为检查信息13来进行输出。
(工具生成部r4)
工具生成部r4通过将检查信息13和代码检查程序14封装化,来生成代码检查工具20(工具)。
工具生成部r4所生成的代码检查工具20以及通过迁移设计(图3的步骤B12)所生成的设计基准10被安装于当前系统维护开发环境的测试服务器2t(参照图2)。此外,也可以将代码检查工具20以及设计基准10安装于当前系统维护开发环境的当前系统维护用PC2。
[代码检查工具20的详细内容]
如图5所示,除了已说明的检查信息13,代码检查工具20还具备语法分析程序部21以及判定部22。语法分析程序部21以及判定部22构成代码检查程序14。
(语法分析程序部21)
语法分析程序部21进行维护后的当前程序源P5的句法解析。维护后的当前程序源P5是指,通过维护开发,当前程序源P1被暂定地、或者确定地修正变更后得到的程序源。具体地,维护后的当前程序源P5是编程(图3的步骤B23)处于中途时或已结束时的(测试前的)已完成维护的当前程序源P2,或者是测试(图3的步骤B42)结束时的已完成维护的当前程序源P2。
当维护后的当前程序源P5的句法解析完成时,语法分析程序部21能够确定用于维护后的当前程序源P5的令牌以及句法。语法分析程序部21将确定出的令牌作为维护后的令牌一览表P5a来进行输出,并将确定出的句法作为维护后的句法一览表P5b来进行输出。能够对每一种程序语言来准备语法分析程序部21。
(判定部22)
判定部22判定在维护后的当前程序源P5中是否使用了许可信息11以及禁止信息12。具体地,向判定部22输入维护后的令牌一览表P5a、维护后的句法一览表P5b以及代码检查工具20所具有的检查信息13(图4)。另外,确定维护后的令牌一览表P5a与检查信息13所包含的维护前的令牌一览表P1a的差分,并确定维护后的句法一览表P5b与检查信息13所包含的维护前的句法一览表P1b的差分。另外,判定确定出的这些差分是否被分类为许可信息11、并且判定是否被分类为禁止信息12。此外,判定部22的判定处理的详细内容将予以后述。
判定部22使测试服务器2t输出上述判定的判定结果23。当许可信息11未示出的信息被用于维护后的当前程序源P5、或者禁止信息12所示的信息被用于维护后的当前程序源P5时,判定部22将所使用的这些信息的一览表作为基准外一览表30(参照图2)包含于判定结果23。
此外,可以在进行了语法分析程序部21的句法解析之后进行基于判定部22的判定,也可以一边进行该句法的解析一边进行基于判定部22的判定。
另外,判定部22不只是对令牌以及句法进行判定,对字符串也可以进行与上述同样的判定。具体地,首先,代码检查工具20通过周知的技术,从维护后的当前程序源P5中提取字符串,并生成维护后的字符串一览表P5c。另外,向判定部22输入维护后的字符串一览表P5c以及检查信息13(图4)。另外,判定维护后的字符串一览表P5c中包含的每个字符串是否被分类为许可信息11、并且判定是否被分类为禁止信息12。判定部22使测试服务器2t输出关于字符串的判定结果23。在将许可信息11未示出的信息用于维护后的字符串一览表P5c、或者、将禁止信息12所示的信息用于维护后的字符串一览表P5c时,判定部22将所使用的这些信息的一览表作为基准外一览表30(参照图2)包含于判定结果23。
(判定部22的判定处理)
如图6所示,判定部22对维护后的当前程序源P5进行的、维护后的当前程序源判定处理如下所示。在图6中,对维护后的当前程序源P5的维护后的句法一览表P5b中所包含的句法进行说明。
首先,在步骤S1中,判定部22判定许可信息11的追加句法许可信息11b是否包含维护后的句法一览表P5b。在包含的情况下(步骤S1中为是),表示维护后的句法一览表P5b中的所有句法都是被允许在新程序源P3中使用的句法,并前进至步骤S2。另一方面,在不包含的情况下(步骤S1中为否),表示维护后的句法一览表P5b中的句法中的至少1个不被允许在新程序源P3中使用,并前进至步骤S4。
接着,在步骤S2中,判定部22判定禁止信息12的追加句法禁止信息12b与维护后的句法一览表P5b是否彼此无关。在彼此无关的情况下(步骤S2中为是),表示维护后的句法一览表P5b中的句法都不相当于禁止在新程序源P3中使用的句法,并前进至步骤S3。另一方面,在不是彼此无关的情况下(步骤S2中为否),表示维护后的句法一览表P5b中的句法中的至少1个被禁止在新程序源P3中使用,并前进至步骤S4。
然后,在步骤S3中,判定部22输出OK判定,该OK判定表示维护后的句法一览表P5b中的句法仅由许可信息11的追加句法许可信息11b构成(按照设计基准10)。
另外,在步骤S4中,判定部22输出NG判定,该NG判定表示维护后的句法一览表P5b中的句法中包含并不相当于许可信息11的追加句法许可信息11b的句法、或者包含相当于禁止信息12的追加句法禁止信息12b的句法(脱离设计基准)。
在步骤S4之后的步骤S5中,判定部22提取维护后的句法一览表P5b中的句法中的、成为NG判定的主要原因的句法,并追加至基准外一览表30(允许规则外的用法)。
接着,在步骤S6中,判定部22使测试服务器2t输出符合OK判定以及NG判定的判定结果23。
判定结果23被发送至迁移开发环境的转换开发用服务器5以及测试服务器5t。在转换开发侧,能够基于判定结果23,生成新程序源P3。
此外,虽然上述判定部22的处理的说明与句法有关,但是也可以通过同样的逻辑处理令牌以及字符串的情况。即,判定维护后的句法一览表P5b中的令牌是否仅由许可信息11的追加令牌许可信息11a构成。另外,判定维护后的句法一览表P5b中的字符串是否仅由许可信息11的追加字符串许可信息11c构成。
(总结)
根据本实施方式,在转换当前程序源P1的程序语言来生成新程序源P3的转换开发、与当前程序源P1的维护开发并行的情况下,设定允许和禁止用于新程序源P3的许可信息11以及禁止信息12,并通过代码检查工具20,来判定是否在进行了维护开发后的维护后的当前程序源P5中使用了许可信息11以及禁止信息12。由此,基于该判定结果,能够在切实地掌握基于维护开发的程序修正变更部分之后进行新程序源P3的系统测试等,并能够使针对已完成维护的当前程序源P2的追加作业(图2的步骤B4)的作业工时的预估变得容易,并且实现追加作业的工期缩短、工时减少(减低化)。
因此,能够实现从进行了维护开发的当前系统向新系统的系统迁移的提早化。
另外,通过代码检查工具20,能够在维护后的当前程序源P5中不存在基准外一览表30、或者存在基准外一览表30的情况下,在转换开发侧取得该基准外一览表30。由此,如果不存在基准外一览表30,则能够在针对已完成维护的当前程序源P2的追加作业中省略与系统迁移的迁移设计相关的部分。另外,即使存在基准外一览表30,也能够使系统迁移的迁移设计先于追加作业进行。其结果是,能够进一步实现追加作业的工期缩短、工时减少。
(变形例)
本发明并不限定于上述实施方式,在不脱离本发明的主旨的范围内,可以实施变更,例如,有以下的(a)、(b)。
(a):并不局限于当前程序源的程序语言的转换这样的转换开发,虽然提供相同种类的服务,但是能够应用于需要按地域在一定程序上变更程序源的内容的系统开发。即,在利用运用于A地域的系统的当前程序源来生成运用于B地域的预定的新程序源的情况下,能够在掌握基于A地域的当前程序源的维护开发的程序修正变更部分之后,着手用于B地域的新程序源的追加作业。结果是,能够使该追加作业的作业量减少,并实现追加作业的工期缩短、工时减少。
(b):在本实施方式中,步骤B3(图2)说明了步骤A2的一部分先于追加作业(步骤B4)进行。但是,也可以使步骤B3不作为步骤A2的一部分,而是作为步骤A2的后段的作业、追加作业(步骤B4)的前段的作业来进行处理。此时,新程序源P3成为步骤A2的作业的结果,而不是成为步骤B3的作业的结果。另外,此时,步骤B3成为转换开发用服务器5将从当前系统维护用PC2取得的基准外一览表30反映于在步骤A2中生成的新程序源P3的作业。能够以与步骤A2并行实施的方式来处理步骤B3。另外,也能够将步骤B3和步骤B4合并后的作业作为追加作业来进行处理。
另外,还能够实现将本实施方式中所说明的各种技术适当组合后的技术。
既能够将本实施方式中说明的软件作为硬件来实现,又能够将硬件作为软件来实现。
除此以外,对于硬件、软件、流程图等,在不脱离本发明的主旨的范围内可以进行适当变更。
附图标记说明
2 当前系统维护用PC
2t 测试服务器(测试装置)
5 转换开发用服务器
5t 测试服务器
P1 当前程序源(维护前的当前程序源)
P2 已完成维护的当前程序源
P3 新程序源
P4 已完成维护的新程序源
P5 维护后的当前程序源
10 设计基准
11 许可信息
12 禁止信息
13 检查信息
20 代码检查工具
21 语法分析程序部
22 判定部
23 判定结果
30 基准外一览表
R 反转装置(信息处理装置)
r1 语法分析程序部(语法分析程序单元)
r2 设定部(设定单元)
r3 编辑部
r4 工具生成部(工具生成单元)。
Claims (4)
1.一种信息处理装置,其特征在于,具备:
语法分析程序部,其进行维护前的当前程序源的句法解析,并生成用于所述维护前的当前程序源的令牌以及句法的一览表;
设定部,其基于新程序源的设计基准,设定许可信息和禁止信息,其中,所述许可信息表示允许在所述新程序源中使用的令牌、句法以及字符串,所述禁止信息表示禁止在所述新程序源中使用的令牌、句法以及字符串;以及
工具生成部,其生成用于判定在维护后的当前程序源中是否使用了所述许可信息以及所述禁止信息的工具。
2.根据权利要求1所述的信息处理装置,其特征在于,
在通过对所述维护后的当前程序源进行测试的测试装置进行了运转的情况下,当在所述维护后的当前程序源中使用了所述许可信息中未示出的信息、或者在所述维护后的当前程序源中使用了所述禁止信息中所示的信息时,所述工具生成部所生成的工具使所述测试装置输出所使用的这些所述信息的一览表。
3.一种信息处理方法,其特征在于,
信息处理装置执行以下步骤:
进行维护前的当前程序源的句法解析,并生成用于所述维护前的当前程序源的令牌以及句法的一览表的步骤;
基于新程序源的设计基准,设定许可信息和禁止信息的步骤,其中,所述许可信息表示允许在所述新程序源中使用的令牌、句法以及字符串,所述禁止信息表示禁止在所述新程序源中使用的令牌、句法以及字符串;以及
生成用于判定在维护后的当前程序源中是否使用了所述许可信息以及所述禁止信息的工具的步骤。
4.一种记录介质,其存储有程序,其特征在于,
该程序用于使计算机作为以下单元发挥作用:
语法分析程序单元,其进行维护前的当前程序源的句法解析,并基于所述句法解析,生成用于所述维护前的当前程序源的令牌以及句法的一览表;
设定单元,其基于新程序源的设计基准,设定许可信息和禁止信息,其中,所述许可信息表示允许在所述新程序源中使用的令牌、句法以及字符串,所述禁止信息表示禁止在所述新程序源中使用的令牌、句法以及字符串;以及
工具生成单元,其生成用于判定在维护后的当前程序源中是否使用了所述许可信息以及所述禁止信息的工具。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-069300 | 2016-03-30 | ||
JP2016069300A JP6653205B2 (ja) | 2016-03-30 | 2016-03-30 | プログラムソース変換方法、プログラムソース変換装置、情報処理装置、情報処理方法、および、プログラム |
CN201780022206.6A CN109074254B (zh) | 2016-03-30 | 2017-03-22 | 程序源转换方法、程序源转换装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022206.6A Division CN109074254B (zh) | 2016-03-30 | 2017-03-22 | 程序源转换方法、程序源转换装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986253A true CN113986253A (zh) | 2022-01-28 |
Family
ID=59964446
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022206.6A Active CN109074254B (zh) | 2016-03-30 | 2017-03-22 | 程序源转换方法、程序源转换装置 |
CN202111308206.7A Pending CN113986253A (zh) | 2016-03-30 | 2017-03-22 | 信息处理装置、信息处理方法和记录介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780022206.6A Active CN109074254B (zh) | 2016-03-30 | 2017-03-22 | 程序源转换方法、程序源转换装置 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6653205B2 (zh) |
CN (2) | CN109074254B (zh) |
WO (1) | WO2017170045A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012991A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于静态分析的c语言安全规则检查方法 |
JP2012053657A (ja) * | 2010-09-01 | 2012-03-15 | Systems:Kk | 情報処理装置、情報処理方法、及びプログラム |
CN102498491A (zh) * | 2009-09-14 | 2012-06-13 | 森清 | 安全审计系统及安全审计方法 |
CN102804147A (zh) * | 2010-03-29 | 2012-11-28 | 株式会社软4软 | 执行abap源代码的代码检查的代码检查执行系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02245875A (ja) * | 1989-03-20 | 1990-10-01 | Fujitsu Ltd | 情報変換管理制御方式 |
TWI259969B (en) * | 2004-05-18 | 2006-08-11 | Carry Computer Eng Co Ltd | Method and system for show store apparatus volume label word |
JP4115511B1 (ja) * | 2007-05-08 | 2008-07-09 | 株式会社システムズ | プログラムパターン分析装置、パターン出現状況情報生産方法、パターン情報生成装置、およびプログラム |
JP2012059026A (ja) * | 2010-09-09 | 2012-03-22 | Hitachi Ltd | ソースコード変換方法およびソースコード変換プログラム |
CN103942140A (zh) * | 2013-12-19 | 2014-07-23 | 江苏锐天信息科技有限公司 | 一种测试程序自动转换方法 |
CN105426711B (zh) * | 2015-11-18 | 2018-05-15 | 北京理工大学 | 一种计算机软件源代码相似度检测方法 |
-
2016
- 2016-03-30 JP JP2016069300A patent/JP6653205B2/ja active Active
-
2017
- 2017-03-22 CN CN201780022206.6A patent/CN109074254B/zh active Active
- 2017-03-22 WO PCT/JP2017/011471 patent/WO2017170045A1/ja active Application Filing
- 2017-03-22 CN CN202111308206.7A patent/CN113986253A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102498491A (zh) * | 2009-09-14 | 2012-06-13 | 森清 | 安全审计系统及安全审计方法 |
CN102804147A (zh) * | 2010-03-29 | 2012-11-28 | 株式会社软4软 | 执行abap源代码的代码检查的代码检查执行系统 |
JP2012053657A (ja) * | 2010-09-01 | 2012-03-15 | Systems:Kk | 情報処理装置、情報処理方法、及びプログラム |
CN102012991A (zh) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | 基于静态分析的c语言安全规则检查方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6653205B2 (ja) | 2020-02-26 |
CN109074254B (zh) | 2021-12-24 |
WO2017170045A1 (ja) | 2017-10-05 |
JP2017182491A (ja) | 2017-10-05 |
CN109074254A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346140B2 (en) | System and method for model based technology and process for safety-critical software development | |
Cabot et al. | UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming | |
Zhang et al. | Model-based development of dynamically adaptive software | |
US8020153B2 (en) | Source code checker, source code checking method, program for causing execution of the method, and storage medium for storing the program | |
US20080104573A1 (en) | Software build validation before check-in | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
US8627286B2 (en) | Fully declarative build system for build optimization | |
US7721250B2 (en) | System and method for interactive and integrated software development process and phases | |
JP5109143B2 (ja) | 検証装置および検証方法 | |
US20200034280A1 (en) | Equivalence verification device and computer readable medium | |
CN109074254B (zh) | 程序源转换方法、程序源转换装置 | |
JP2008293382A (ja) | テスト仕様自動生成方式 | |
US20110246965A1 (en) | Correcting document generation for policy compliance | |
Lin et al. | Support for safety case generation via model transformation | |
Gönczy et al. | Methodologies for model-driven development and deployment: An overview | |
CN112579065A (zh) | 一种将图形组态画面生成跨平台代码的方法及系统 | |
KR101731629B1 (ko) | Circus로부터 go 코드를 자동으로 생성하는 방법 및 장치 | |
Ripon et al. | PVS embedding of cCSP semantic models and their relationship | |
Reid et al. | Using the TypeScript compiler to fix erroneous Node. js snippets | |
JP6289235B2 (ja) | ソフトウェア生成方法、ソフトウェア生成装置及びソフトウェア実行装置 | |
Kim et al. | Methods of Extracting and Providing R&D Documentation Guideline for Licensing Medical Device Software | |
JP2001084163A (ja) | 更新処理の影響事前調査装置及び方法、更新処理プログラムの動作テスト装置及び方法 | |
Althammer et al. | An open system for dependable system validation and verification support-The DECOS generic test bench | |
CN115827467A (zh) | 代码检测方法、介质、装置和计算设备 | |
JP5525459B2 (ja) | プログラム改造支援方法およびプログラム改造支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40063943 Country of ref document: HK |