CN101641678B - 源程序再次研究方法及源程序再次研究装置 - Google Patents

源程序再次研究方法及源程序再次研究装置 Download PDF

Info

Publication number
CN101641678B
CN101641678B CN2007800524946A CN200780052494A CN101641678B CN 101641678 B CN101641678 B CN 101641678B CN 2007800524946 A CN2007800524946 A CN 2007800524946A CN 200780052494 A CN200780052494 A CN 200780052494A CN 101641678 B CN101641678 B CN 101641678B
Authority
CN
China
Prior art keywords
once
source program
mentioned
needs
research
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.)
Expired - Fee Related
Application number
CN2007800524946A
Other languages
English (en)
Other versions
CN101641678A (zh
Inventor
佐佐木孝次
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
Publication of CN101641678A publication Critical patent/CN101641678A/zh
Application granted granted Critical
Publication of CN101641678B publication Critical patent/CN101641678B/zh
Expired - Fee Related 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/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

将作为修改前的源程序的修改前的源程序与作为修改后的源程序的修改后源程序进行比较,提取作为需要再次研究的部分的需要再次研究部分,向规定的存储部中存储研究履历,上述研究履历是表示被提取的各个需要再次研究部分是被研究完还是未被研究的履历,向规定的输出部中输出将被提取的需要再次研究部分与存储在规定的存储部中的是被研究完还是未被研究的研究履历对应关联后的信息,在对于在规定的输出部作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新存储在规定的存储部中的研究履历。

Description

源程序再次研究方法及源程序再次研究装置
技术领域
本发明涉及源程序再次研究方法以及源程序再次研究装置。 
背景技术
以往,通常通过修改已有的源程序,追加或更新新功能,来开发新的软件。 
在这样的软件的开发过程中,在基于记载有追加或更新的处理的设计式样书修改已有的源程序之后,软件开发人员分别再次研究(审议)修改后的源程序,这是很重要的。 
在再次研究(审议)工作中,软件开发人员研究“设计式样书中所记载的应该追加或更新的处理是否记载在修改后的源程序中?”,“在修改后的源程序中,追加或更新部分的执行逻辑是否正确?”,“在修改后的源程序中,追加或更新部分的记述形式是否正确?”,“在修改后的源程序中,是否具有追加或更新部分所影响的部分?”等项目。 
具体地说,各个软件开发人员参照(目视观察)印刷有对修改前后的源程序进行比较而得出的差别信息的纸张,研究上述项目,列举出修改后的源程序中的问题点。然后,在所有软件开发人员已经确认了对列举的所有问题点已经进行了研究处理的时刻,再次研究(审议)工作结束。 
在此,在专利文献1中公开了一种程序开发支援系统,能够通过提取修改前后的源程序的变更部分,将该变更部分输出至画面,来减轻软件开发人员在再次研究(审议)工作中的负担。 
另外,在专利文献2以及专利文献3中,公开了程序分析装置以及变量检索装置,检索因通过变更源程序而被影响的部分,将该被影响的部分输出至画面,来减轻软件开发人员在再次研究(审议)工作中的负担。 
专利文献1:JP特开昭63-273132号公报; 
专利文献2:JP特开平8-190475号公报; 
专利文献3:JP特开平11-327879号公报。 
发明内容
发明要解决的课题 
但是,上述以往的技术存在如下问题,即,由于未将各个软件开发人员针对修改后的源程序中的问题点进行研究的痕迹留作履历,所以不能高可靠性地进行再次研究。 
即,存在由于各个软件开发人员通过目视观察来进行研究工作,而不将针对修改后的源程序中的问题点进行了研究的痕迹留作履历,所以不能高可靠性地进行再次研究的问题。 
另外,上述以往的技术存在如下问题,即,由于没有将是否完全对各个软件开发人员认为是“源程序的变更所影响的部分”的范围进行研究的情况留作履历,所以不能高可靠性地进行再次研究。 
另外,上述以往的技术存在如下问题,即,在源程序的修改前后应该进行研究的部分的位置信息(具体地说,源程序中记载的行号)发生错位的情况下,各个软件开发人员必须更新应该进行研究的部分的位置信息,然后进行工作,因此不能减轻软件开发人员的负担,从而不能高可靠性地进行再次研究。 
因此,本发明是为了解决上述以往技术的课题而作出的,其目的在于提供能够高可靠性地进行再次研究的源程序再次研究程序、源程序再次研究方法以及源程序再次研究装置。 
用于解决课题的手段 
为了解决上述课题,达到目的,本发明的第一方面的源程序再次研究程序,使计算机执行对修改后的源程序进行再次研究的源程序再次研究方法,其特征在于,使计算机执行:需要再次研究部分提取步骤,将作为修改前的源程序的修改前的源程序与作为修改后的源程序的修改后源程序进行比较,提取作为需要再次研究的部分的需要再次研究部分;研究履历存储步骤,向规定的存储部中存储研究履历,上述研究履历是表示通过上述需要再次研究部分提取步骤提取的各个上述需要再次研究部分是被研究完还是未被研究的履历;信息输出步骤,向规定的输出部中输出将通过上述需要再次研究部 分提取步骤提取的上述需要再次研究部分与存储在上述规定的存储部中的被研究完还是未被研究的上述研究履历对应关联后的信息;研究履历更新步骤,在对于在上述规定的输出部作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新存储在上述规定的存储部中的上述研究履历。 
另外,在本发明的第二方面,在上述的发明的基础上,上述需要再次研究部分提取步骤将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行提取,上述研究履历存储步骤将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行存储。 
另外,在本发明的第三方面,在上述的发明的基础上,上述需要再次研究部分提取步骤按影响的程度将修改部分和受影响部分分级然后进行提取,来作为上述需要再次研究部分,上述修改部分是将上述修改后源程序中的从上述修改前的源程序修改后的部分,上述受影响部分是因上述修改部分而在上述修改后源程序中记述的处理受影响的部分,上述信息输出步骤从上述修改部分和分级后的受影响部分中输出从规定的输入部接受了的部分,来作为上述需要再次研究部分。 
另外,本发明的第四方面的源程序再次研究方法,对修改后的源程序进行再次研究,其特征在于,包括:需要再次研究部分提取工序,将作为修改前的源程序的修改前源程序与作为修改后的源程序的修改后源程序进行比较,提取需要再次研究部分,该需要再次研究部分包括修改部分和受影响部分,上述修改部分是上述修改后源程序中的从上述修改前源程序进行修改后的部分,上述受影响部分是因上述修改部分而导致在上述修改后源程序中记述的处理受影响的部分;研究履历存储工序,存储研究履历,上述研究履历是表示通过上述需要再次研究部分提取工序提取的各个上述需要再次研究部分是被研究完还是未被研究的履历;信息输出工序,向规定的输出部中输出将通过上述需要再次研究部分提取工序提取的上述需要再次研究部分与通过上述研究履历存储工序存储的上述研究履历对应关联的信息;研究履历更新工序,在对于在上述规定的输出部作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新通过上述研究履历存储工序存储的上述研究履历。 
另外,在本发明的第五方面,在上述的发明的基础上,上述需要再次研究部分提取工序将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行提取,上述研究履历存储工序将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行存储。 
另外,在本发明的第六方面,在上述的发明的基础上,上述需要再次研究部分提取工序按影响的程度将修改部分和受影响部分分级然后进行提取,来作为上述需要再次研究部分,上述信息输出工序从上述修改部分和分级后的受影响部分中输出从规定的输入部接受了的部分,来作为上述需要再次研究部分。 
另外,本发明的第七方面的源程序再次研究装置,对修改后的源程序进行再次研究,其特征在于,具有:需要再次研究部分提取单元,将作为修改前的源程序的修改前源程序与作为修改后的源程序的修改后源程序进行比较,提取需要再次研究部分,该需要再次研究部分包括修改部分和受影响部分,上述修改部分是上述修改后源程序中的从上述修改前源程序进行修改后的部分,上述受影响部分是因上述修改部分而导致在上述修改后源程序中记述的处理受影响的部分;研究履历存储单元,存储研究履历,上述研究履历是表示通过上述需要再次研究部分提取单元提取的哥哥上述需要再次研究部分是被研究完还是未被研究的履历;信息输出单元,向规定的输出部中输出将通过上述需要再次研究部分提取单元提取的上述需要再次研究部分与通过上述研究履历存储单元存储的上述研究履历对应关联的信息;研究履历更新单元,在对于在上述规定的输出部作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新通过上述研究履历存储单元存储的上述研究履历。 
另外,在本发明的第八方面,在上述的发明的基础上,上述需要再次研究部分提取单元将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行提取,上述研究履历存储单元将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行存储。 
另外,在本发明的第九方面,在上述的发明的基础上,上述需要再次研究部分提取单元按影响的程度将修改部分和受影响部分分级然后进行提取,来作为上述需要再次研究部分,上述信息输出单元从上述修改部分和分级后 的受影响部分中输出从规定的输入部接受了的部分,来作为上述需要再次研究部分。 
发明效果 
根据本发明的第一方面,将作为修改前的源程序的修改前的源程序与作为修改后的源程序的修改后源程序进行比较,提取作为需要再次研究的部分的需要再次研究部分,向规定的存储部中存储研究履历,上述研究履历是表示被提取的各个需要再次研究部分是被研究完还是未被研究的履历,向规定的输出部中输出将被提取的需要再次研究部分与存储在规定的存储部中的是被研究完还是未被研究的研究履历对应关联后的信息,在对于在规定的输出部作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新存储在规定的存储部中的研究履历,因此,能够留有软件开发人员分别进行研究后的痕迹作为履历,并且能够共有软件开发人员分别需要进行研究的部分,从而能够高可靠性地进行再次研究。 
另外,根据本发明的其他方面,将需要再次研究部分与修改后源程序的位置信息对应关联,然后进行提取,将需要再次研究部分与修改后源程序的位置信息对应关联,然后进行存储,因此,即使在修改前后需要再次研究部分的位置信息(具体地说,需要再次研究部分在源程序中记载的行号)产生错位,也能够制作反映一直更新的修改后的位置信息的研究履历,从而能够高可靠性地进行再次研究。 
另外,根据本发明的另外其他方面,按影响的程度将修改部分和受影响部分分级然后进行提取,来作为需要再次研究部分,上述修改部分是将修改后源程序中的从修改前的源程序修改后的部分,上述受影响部分是因修改部分而在修改后源程序中记述的处理受影响的部分,从修改部分和分级后的受影响部分中输出从规定的输入部接受了的部分,来作为需要再次研究部分,因此,通过显示满足用户需要的等级的需要再次研究部分,该用户能够迅速地进行研究,从而能够高可靠性地进行再次研究。 
附图说明
图1-1是用于说明第一实施例的源程序再次研究装置的概要以及特征的 图。 
图1-2是用于说明第一实施例的源程序再次研究装置的概要以及特征的图。 
图2是表示第一实施例的源程序再次研究装置的结构的框图。 
图3是用于说明第一实施例的源程序存储部的图。 
图4是用于说明第一实施例的源程序存储部的图。 
图5是用于说明第一实施例的源程序存储部的图。 
图6是用于说明第一实施例的需要再次研究部分提取部的图。 
图7是用于说明第一实施例的需要再次研究部分提取部的图。 
图8是用于说明第一实施例的需要再次研究部分提取部的图。 
图9是用于说明第一实施例的需要再次研究部分提取部的图。 
图10是用于说明第一实施例的需要再次研究部分提取部的图。 
图11是用于说明第一实施例的需要再次研究部分提取部的图。 
图12是用于说明第一实施例的需要再次研究部分提取部的图。 
图13是用于说明第一实施例的需要再次研究部分提取部的图。 
图14是用于说明第一实施例的需要再次研究部分提取部的图。 
图15是用于说明第一实施例的需要再次研究部分提取部的图。 
图16是用于说明第一实施例的研究履历存储的图。 
图17是用于说明第一实施例的信息显示部的图。 
图18是用于说明第一实施例的信息显示部的图。 
图19是用于说明第一实施例的信息显示部的图。 
图20是用于说明第一实施例的信息显示部的图。 
图21是用于说明第一实施例的源程序再次研究装置的需要再次研究部分的提取处理的图。 
图22是用于说明第一实施例的源程序再次研究装置的研究履历更新处理的图。 
图23是表示实施第一实施例的源程序再次研究程序的计算机的图。 
附图标记说明 
10源程序再次研究装置 
11输入部 
12输出部 
13输入输出控制I/F部 
14存储部 
14a源程序存储部 
14b提取结果存储部 
14c研究履历存储部 
15处理部 
15a需要再次研究部分提取部 
15b信息显示部 
15c研究履历更新部 
具体实施方式
下面,参照附图,详细说明本发明的源程序再次研究程序、源程序再次研究方法以及源程序再次研究装置的实施例。此外,下面,将包含本发明的源程序再次研究程序而构成的源程序再次研究装置作为实施例来进行说明。另外,下面,按顺序说明第一实施例的源程序再次研究装置的概要以及特征、第一实施例的源程序再次研究装置的结构以及处理的步骤、第一实施例的效果,最后,说明其他的实施例。 
第一实施例 
[第一实施例的源程序再次研究装置的概要以及特征] 
首先,最初利用图1-1以及图1-2具体地说明第一实施例的源程序再次研究装置的主要特征。图1-1以及图1-2是用于说明第一实施例的源程序再次研究装置的概要以及特征的图。 
第一实施例的源程序再次研究装置主要用于再次研究修改完的源程序。即,第一实施例的源程序再次研究装置,主要基于记载有追加或更新的处理的设计式样书,在软件开发人员修改已有的源程序后,对修改后的源程序进行再次研究(审议)。 
在此,本发明的主要特征是能够高可靠性地进行再次研究。如果简单地说明该主要特征,就是第一实施例的源程序再次研究装置将作为修改前的源 程序的修改前的源程序与作为修改后的源程序的修改后源程序进行比较,将作为需要再次研究的部分的需要再次研究部分与修改后源程序的位置信息对应关联,然后进行提取,而且,按影响的程度,将修改部分和受影响部分进行分级然后进行提取,来作为需要再次研究部分,上述修改部分是修改后源程序中的对修改前的源程序进行修改而得到的部分,上述受影响部分是因修改部分而在修改后源程序中记述的处理受影响的部分。 
例如,如图1-1的(A)所示,第一实施例的源程序再次研究装置将已有的源程序即“修改前的源程序”与基于设计式样书最初对已有的源程序进行修改而得到的修改后源程序即“第一次修改后的源程序”进行比较,将需要再次研究部分与作为修改后源程序的位置信息的“行号”对应关联,然后进行提取。 
在此,第一实施例的源程序再次研究装置最初提取“第一次修改后的源程序”中的对“修改前的源程序”进行修改而得到的部分即修改部分,作为“第零级”的需要再次研究部分。即,如图1-1的(A)所示,第一实施例的源程序再次研究装置将“第一次修改后的源程序”与“修改前的源程序”进行比较,提取函数“funcA”中的内容发生了变更的“第五行”、追加的“第六行”、“第九行”以及“第十一~十四行”,作为“第零级”的需要再次研究部分。 
接着,第一实施例的源程序再次研究装置提取受影响部分,来作为“第一级”的需要再次研究部分,其中,所述受影响部分是指,因在作为“第零级”而被提取的需要再次研究部分中函数的内容发生变更的部分而导致处理流程受影响的部分。即,如图1-1的(A)所示,第一实施例的源程序再次研究装置,提取在作为“第零级”的需要再次研究部分中因函数“funcA”中的内容发生变更的“第五行”的部分而直接导致处理流程受影响的受影响部分即“第七行”以及“第八行”,作为“第一级”的需要再次研究部分。 
进一步,第一实施例的源程序再次研究装置,提取参照(引用)了在作为“第零级”而被提取的需要再次研究部分中“被变更的函数”的部分,来作为“第二级”的需要再次研究部分。即,如图1-1的(A)所示,第一实施例的源程序再次研究装置,提取记载了对“第零级”的需要再次研究部分中的函数“funcA”进行参照(引用)的函数“funcB”的处理的“第十七行”, 作为“第二级”的需要再次研究部分。 
此后,第一实施例的源程序再次研究装置提取因作为“第二级”而被提取的需要再次研究部分的函数而受影响的部分,作为“第三级”的需要再次研究部分。即,如图1-1的(A)所示,第一实施例的源程序再次研究装置提取因“第二级”的需要再次研究部分的函数“funcB”而直接导致处理流程受影响的受影响部分即“第十八~二十一行”,作为“第三级”的需要再次研究部分。 
然后,第一实施例的源程序再次研究装置将研究履历与修改后源程序的位置信息对应关联后存储在规定的存储部中,上述研究履历是表示各个被提取的需要再次研究部分是被研究完还是未被研究的履历。 
即,第一实施例的源程序再次研究装置存储表示作为“第零级”的需要再次研究部分而提取的“第五行”、“第六行”、“第九行”以及“第十一~十四行”,作为“第一级”的需要再次研究部分而提取的“第七行”以及“第八行”,作为“第二级”的需要再次研究部分而提取的“第十七行”,作为“第三级”的需要再次研究部分而提取的“第十八~二十一行”分别是被研究完还是未被研究的研究履历。此外,第一实施例的源程序再次研究装置在直到接受来自软件开发人员的再次研究开始要求为止,将上述“第零级”至“第三级”的需要再次研究部分存储为“未被研究”。 
然后,第一实施例的源程序再次研究装置向规定的输出部输出将被提取的需要再次研究部分与被存储的是被研究完还是未被研究的研究履历对应关联的信息。另外,第一实施例的源程序再次研究装置从规定的输入部接受由软件开发人员指定的“等级”,将到达该“等级”的需要再次研究部分显示在“第零级”至“第三级”的需要再次研究部分上。 
即,在从软件开发人员接受“显示直到‘第三级’的所有的需要再次研究部分”的要求时,例如,如图1-1的(A)所示,第一实施例的源程序再次研究装置排列“第一次修改后的源程序”和“修改前的源程序”,将它们显示在监视器上,并且在“第一次修改后的源程序”的“行号”的左侧,显示需要再次研究部分,并在各个与“第零级”至“第三级”相对应的位置上附加显示“标记”。在此,在被附加的“标记”中,“空心四边形(□)”表示“未被研究”,“黑色圆形(●)”表示“被研究完”。 
此外,在图1-1的(A)中,表示“第零级”的“第五行”、“第九行”以及“第十一~十四行”附加显示有作为“被研究完”的“标记”的“黑色圆形(●)”的情况,但是,在最初从软件开发人员接受“显示直到‘第三级’为止的所有的需要再次研究部分”的要求时,在所有的作为需要再次研究部分的行号的左侧,在分别与“第零级”至“第三级”对应的位置上,附加显示作为“未被研究”的“标记”的“空心四边形(□)”。 
并且,对于监视器上作为未被研究而输出的需要再次研究部分,在从规定的输入部接受“被研究完”输入的情况下,第一实施例的源程序再次研究装置更新被存储的研究履历。即,例如假设在“2007年2月26日”,作为软件开发人员的“日本太郎”在“第零级”的“第五行”、“第九行”以及“第十一~十四行”上,记录“追加了记载在设计式样书中的处理。没有问题”的“指摘记录”,并且接受“状态”成为“被研究完”的显示变更的输入,在这种情况下,如图1-1的(A)所示,第一实施例的源程序再次研究装置在行号的左侧,将“标记”从“未被研究”的“空心四边形(□)”变更为“被研究完”的“黑色圆形(●)”来进行显示,并且如图1-1的(B)所示,更行研究履历。 
另外,同样,在作为软件开发人员的“日本太郎”参照“第零级”的“第六行”,判断问题点没有被解决(没有记载变量“y”的初始化处理)的情况下,第一实施例的源程序再次研究装置仅接受“变量‘y’没有被初始化。请确认”的“指摘记录”,作为“未被研究”的“标记”的“空心四边形(□)”不发生变更(参照图1-1的(B))。此外,在本实施例中,作为软件开发人员的“日本太郎”仅再次研究“第零级”的需要再次研究部分,然后结束处理。 
在此,在图1-1的(B)所示的情况下“第一次修改后的源程序”的再次研究结束,然后基于再次研究结果,软件开发人员将“第一次修改后的源程序”制作成修改后的“第二次修改后的源程序”。即,软件开发人员参照在图1-1的(B)所示的研究履历中的作为“第零级”的需要再次研究部分的“第六行”中的指摘记录“变量‘y’没有被初始化。请确认”,修改图1-1的(A)所示的“第一次修改后的源程序”,制作出图1-2的(C)所示的“第二次修改后的源程序”。此外,在“第二次修改后的源程序”中,“第 一次修改后的源程序”中的“第六行:int y,z;”被分开,而成为“第六行:int y=0;”和“第七行:int z=0;”这两行,在第六行,将变量“y”的初值设定为“0”,并且重新在第七行,将变量“z”的初值设定为“0”。 
然后,储存有“第二次修改后的源程序”的第一实施例的源程序再次研究装置将“第二次修改后的源程序”与“第一次修改后的源程序”进行比较,将需要再次研究部分与“第二次修改后的源程序”的位置信息(行号)对应关联,然后进行提取。 
即,储存有“第二次修改后的源程序”的第一实施例的源程序再次研究装置将“第一次修改后的源程序”中作为“第零级”的需要再次研究部分而提取的“第五行”、“第六行”、“第九行”以及“第十一~十四行”的部分与作为“第二次修改后的源程序”的行号的“第五行”、“第六行”、“第十行”以及“第十二~十五行”对应关联,然后进行提取,将“第一次修改后的源程序”中作为“第一级”的需要再次研究部分而提取的“第七行”以及“第八行”的部分与作为“第二次修改后的源程序”的行号的“第八行”以及“第九行”对应关联,然后进行提取,将作为“第二级”的需要再次研究部分而提取的“第十七行”的部分与作为“第二次修改后的源程序”的行号的“第十八行”对应关联,然后进行提取,还将“第一次修改后的源程序”中作为“第三级”的需要再次研究部分而提取的“第十八~二十一行”的部分与作为“第二次修改后的源程序”的行号的“第十九~二十二行”对应关联,然后进行提取。另外,还提取“第七行”的部分,作为“第二次修改后的源程序”中“第零级”的需要再次研究部分。 
由此,在再次从软件开发人员接受“显示直到‘第三级’为止的所有的需要再次研究部分”的要求时,第一实施例的源程序再次研究装置将图1-1的(B)所示的研究履历的“行号”更新为“第二次修改后的源程序”中的“行号”,然后如图1-2的(C)所示,基于被更新的研究履历,排列显示“第二次修改后的源程序”和“修改前的源程序”,并且在“第二次修改后的源程序”的“行号”的左侧显示需要再次研究部分,并在各个与“第零级”至“第三级”相对应的位置上附加显示“标记”。 
即,如图1-2的(D)所示,将在“第一次修改后的源程序”中作为“第零级”的需要再次研究部分而提取的部分的行号即“第五行”、“第六行”、 “第九行”以及“第十一~十四行”更新为“第二次修改后的源程序”的行号即“第五行”、“第六行”、“第十行”以及“第十二~十五行”,如图1-2的(C)所示,在被更新的“第二次修改后的源程序”的“行号”的左侧显示需要再次研究部分,并在各个与“第零级”至“第三级”对应的位置上附加现实“标记”。 
因此,第一实施例的源程序再次研究装置能够将各个软件开发人员研究的痕迹留作履历,并且能够共有各个软件开发人员需要研究的部分,根据上述的主要特征,能够高可靠性地进行再次研究。 
[第一实施例的源程序再次研究装置的结构] 
接着,利用图2~20,说明第一实施例的源程序再次研究装置。图2是表示第一实施例的源程序再次研究装置的结构的框图,图3~5是用于说明第一实施例的源程序存储部的图,图6~15是用于说明第一实施例的需要再次研究部分提取部的图,图16是用于说明第一实施例的研究履历存储的图,图17~20是用于说明第一实施例的信息显示部的图。 
如图2所示,第一实施例的源程序再次研究装置10具有输入部11、输出部12、输入输出控制I/F部13、存储部14、处理部15。 
输入部11用于输入各种信息,具有键盘、鼠标等,尤其作为与本发明密切相关输入部11,例如,从键盘接受“源程序的储存”、“需要再次研究部分的显示要求”、“需要再次研究部分的等级指定”、“研究履历的更新”等,然后进行输入。 
输出部12用于输出各种信息,具有监视器、扬声器,尤其作为与本发明密切相关的输出部12,例如,在监视器的画面上显示由后述的信息显示部15b显示的处理结果。 
输入输出控制I/F部13控制输入部11及输出部12与存储部14及处理部15之间的数据传送。 
存储部14用于存储处理部15的各种处理所使用的数据和处理部15的各种处理结果,尤其作为与本发明密切相关的存储部14,如图2所示,具有源程序存储部14a、提取结果存储部14b、研究履历存储部14c。在此,研究履历存储部14c是执行存储研究履历的步骤的要素。 
源程序存储部14a存储作为修改前的源程序的修改前的源程序和作为修 改后的源程序的修改后源程序。具体地说,存储图3所示的作为已有的源程序的“修改前的源程序”,或者存储图4所示的基于设计式样书最初将“修改前的源程序”修改后的修改后源程序即“第一次修改后的源程序”,或者存储图5所示的软件开发人员参照后述研究履历存储部14c所存储的研究履历将“第一次修改后的源程序”进一步进行修改后的“第二次修改后的源程序”。此外,图3~5中的“源程序”都存储为用C语言记述的“文件名:sample.c”的文件。 
提取结果存储部14b存储后述的需要再次研究部分提取部15a所提取的结果,研究履历存储部14c存储研究履历,该研究履历是表示后述的需要再次研究部分提取部15a所提取的各个需要再次研究部分是被研究完还是未被研究的履历。此外,在后面详细描述提取结果存储部14b和研究履历存储部14c。 
处理部15基于从输入输出控制I/F部13传送来的数据执行各种处理,作为尤其与本发明密切相关的处理部15,如图2所示,具有需要再次研究部分提取部15a、信息显示部15b、研究履历更新部15c。在此,需要再次研究部分提取部15a具有执行提取需要再次研究部分的步骤的功能,信息显示部15b具有执行显示信息的步骤的功能,研究履历更新部15c具有执行更新研究履历的步骤的功能。 
需要再次研究部分提取部15a将源程序存储部14a所存储的修改前的源程序与修改后源程序进行比较,将作为需要再次研究的部分的需要再次研究部分与修改后源程序的位置信息对应关联,然后进行提取,进一步,以影响的程度将修改部分和受影响部分分级然后进行提取,来作为需要再次研究部分,然后将其结果储存在提取结果存储部14b中,上述修改部分是修改后源程序中的对修改前的源程序进行修改而得到的部分,上述受影响部分是因修改部分而在修改后源程序中记述的处理受影响的部分。 
在此,最初,需要再次研究部分提取部15a将图3所示的“修改前的源程序”与图4所示的“第一次修改后的源程序”进行比较,将“第一次修改后的源程序”中的对“修改前的源程序”进行修改而得到的部分即修改部分,作为“第零级”的需要再次研究部分,并将其与“第一次修改后的源程序”的位置信息即“行号”对应关联,然后进行提取。 
即,如图12所示,需要再次研究部分提取部15a将“第一次修改后的源程序”与“修改前的源程序”进行比较,提取函数“funcA”中的内容发生变更的“第五行”和追加的“第六行”、“第九行”、“第十一~十四行”,作为“第零级”的需要再次研究部分。 
接着,需要再次研究部分提取部15a按影响的程度将受影响部分进行分级,然后进行提取,上述受影响部分是因“第零级”的需要再次研究部分而在修改后源程序中记述的处理受影响的部分。 
具体地说,需要再次研究部分提取部15a通过静态分析图3所示的“修改前的源程序”,制作图6所示的将“修改前的源程序”中的处理的流程进行汇集后的“控制流程”,并制作图7所示的将“修改前的源程序”中的“定义,引用等”的处理依存关系的流程进行汇集后的“数据流程”。进一步,需要再次研究部分提取部15a通过静态分析图4所示的“第一次修改后的源程序”,制作图8所示的“第一次修改后的源程序”中的“控制流程”,并制作图9所示的“第一次修改后的源程序”中的“数据流程”。此外,在图7以及图9所示的“数据流程”中,虚线的箭头表示处理间的引用关系。即,表示虚线的终点上的处理是引用虚线的起点上的处理结果而实施的处理。 
然后,需要再次研究部分提取部15a参照“修改前的源程序”中的“控制流程”以及“数据流程”和“第一次修改后的源程序”中的“控制流程”以及“数据流程”,提取因作为“第零级”而提取的需要再次研究部分中的函数的内容发生变更的部分而处理流程受影响的受影响部分,来作为“第一级”的需要再次研究部分。即,如图13的(A)所示,需要再次研究部分提取部15a提取“第七行”以及“第八行”,来作为“第一级”的需要再次研究部分,上述“第七行”以及“第八行”是因“第零级”的需要再次研究部分即“调查对象行号”中的作为“对象要素”的函数“funcA”的内容发生变更的“第五行”的部分,而直接使处理流程受影响的受影响部分。此外,不依据“第零级”的需要再次研究部分即“调查对象行号”的“第六行”、“第九行”以及“第十一~十四行”提取“第一级”的需要再次研究部分。 
而且,与上述相同,需要再次研究部分提取部15a参照“修改前的源程序”中的“控制流程”以及“数据流程”和“第一次修改后的源程序”中的“控制流程”以及“数据流程”,提取对作为“第零级”而提取的需要再次 研究部分所处的“被变更的函数”进行引用的部分,作为“第二级”的需要再次研究部分。即,如图13的(B)所示,需要再次研究部分提取部15a提取记载有作为“对象要素”的“funcB”的处理中的“第十七行”,作为“第二级”的需要再次研究部分,该“funcB”的处理引用作为“调查对象行要素”的函数“funcA”。 
此后,与上述相同,需要再次研究部分提取部15a参照“修改前的源程序”中的“控制流程”以及“数据流程”和“第一次修改后的源程序”中的“控制流程”以及“数据流程”,提取因作为“第二级”而提取的需要再次研究部分所处的函数而受影响的部分,作为“第三级”的需要再次研究部分。即,如图13的(C)所示,需要再次研究部分提取部15a提取“第十八~二十一行”,作为“第三级”的需要再次研究部分,上述“第十八~二十一行”是因在“第二级”的需要再次研究部分即“调查对象行号:第十七行”中记载的作为“对象要素”的函数“funcB”,而直接使处理流程受影响的受影响部分。 
提取结果存储部14b存储需要再次研究部分提取部15a所提取的需要再次研究部分。例如,存储图12以及图13的(A)~(C)所示的“第零级”至“第三级”的需要再次研究部分。 
研究履历存储部14c将研究履历与修改后源程序的位置信息对应关联然后进行存储,研究履历是表示各个被提取的需要再次研究部分是被研究完还是未被研究的履历。 
即,研究履历存储部14c存储表示作为“第零级”的需要再次研究部分而提取的“第五行”、“第六行”、“第九行”以及“第十一~十四行”,作为“第一级”的需要再次研究部分而提取的“第七行”以及“第八行”,作为“第二级”的需要再次研究部分而提取的“第十七行”,作为“第三级”的需要再次研究部分而提取的“第十八~二十一行”分别是被研究完还是未被研究的研究履历。此外,如图16的(A)所示,研究履历存储部14c直到接受来自软件开发人员的再次研究开始要求为止,认为这些“第零级”至“第三级”的需要再次研究部分为“未被研究”,从而在所有的项目中不进行任何存储。 
信息显示部15b向输出部12输出将被提取的需要再次研究部分与被存 储的是被研究完还是未被研究的研究履历对应关联后的信息。另外,信息显示部15b从规定的输入部接受软件开发人员指定的“等级”,在“第零级”至“第三级”中的需要再次研究部分上显示直到该“等级”的需要再次研究部分。 
例如,信息显示部15b在接受软件开发人员发出的“显示直到‘第三级’的所有的需要再次研究部分”的要求时,将图12以及图13的(A)~(C)所示的“第零级”至“第三级”的需要再次研究部分汇集显示在图17所示的“需要再次研究部分一览窗口”。在图17所示的“需要再次研究部分一览窗口”中,函数“funcA”中的“第零级”的需要再次研究部分具有“7部分”,显示“0 funcA 0/7”来表示所有都未被研究,函数“funcA”中的“第一级”的需要再次研究部分具有“2处”,显示“1 funcA 0/2”来表示所有都未被研究,函数“funcB”中的“第二级”的需要再次研究部分具有“1处”,显示“2 funcB 0/1”来表示所有都未被研究,函数“funcB”中的“第三级”的需要再次研究部分具有“4处”,显示“3 funcB 0/4”来表示所有都未被研究。在此,还利用右下方的“再次研究实际完成量0/14”显示合计14处的需要再次研究部分都未被研究。另外,利用右上方的“第三级”显示接受了“显示直到‘第三级’的所有的需要再次研究部分”的要求。 
另外,信息显示部15b在从输入部11接受软件开发人员在图17所示的“需要再次研究部分一览窗口”按下“0 funcA 0/7”的显示部分时,在“研究履历窗口”,显示“第零级”的需要再次研究部分上的“研究履历”。基于图16的(A)所示的研究履历存储部14c所存储的内容,“第五行”、“第六行”、“第九行”以及“第十一~十四行”都是未被研究,因此在图17所示的“研究履历窗口”中,显示没有存储任何内容。 
进一步,如图17所示,信息显示部15b在“新源程序窗口”显示“第一次修改后的源程序”,在“旧源程序窗口”显示“修改前的源程序”。另外,信息显示部15b在图17所示的“新源程序窗口”,在“第一次修改后的源程序”的“行号”的左侧,显示需要再次研究部分,并在与“第零级”至“第三级”相对应的位置上分别附加显示“标记”。在此,信息显示部15b将附加的“标记”显示为表示“未被研究”的“空心四边形(□)”。 
研究履历更新部15c在从输入部11接受在监视器中作为未被研究而输 出的需要再次研究部分已经“被研究完”时,更新研究履历存储部14c所存储的研究履历。例如,在“2007年2月26日”,作为软件开发人员的“日本太郎”按压图17所示的“新源程序窗口”中的“第零级”的需要再次研究部分中的“第五行”、“第九行”以及“第十一~十四行”的“标记”,使“研究状态对话框”显示,接受将“追加了在设计式样书中记载的处理。没有问题”作为“指摘记录”的输入,并接受将“被研究完”作为“研究状态”的输入(参照图18的左侧),而且,按压图17所示的“新源程序窗口”中的“第零级”的需要再次研究部分中的“第六行”的“标记”,使“研究状态对话框”显示,接受将“变量‘y’没有被初始化。请确认”作为“指摘记录”的输入,并接受将“未被研究”作为“研究状态”的输入(参照图18的右侧),从而研究履历更新部15c如图16的(B)所示那样更新研究履历。 
而且,信息显示部15b在研究履历更新部15c如图16的(B)所示那样更新研究履历时,如图19所示,更新输出部12上显示的画面。即,将“研究履历窗口”中的显示变更为图19那样,而且,将“新源程序窗口”中的“第五行”、“第九行”以及“第十一~十四行”的“标记”从作为“未被研究”的“空心四边形(□)”变更为作为“被研究完”的“黑色圆形(●)”,并进行显示。另外,对于函数“funcA”中的“第零级”的需要再次研究部分,“7部分”中的“6部分”变为“被研究完”,因此在图17所示的“需要再次研究部分一览窗口”中,“0 funcA 0/7”变更为“0 funcA 6/7”,并进行显示。而且,右下方的“再次研究实际完成量”变更为“6/14”,并进行显示。 
在此,输入部11在图19所示的情况下从软件开发人员接受“第一次修改后的源程序”的再次研究工作结束要求,然后,软件开发人员基于该再次研究结果,制作将“第一次修改后的源程序”修改后的“第二次修改后的源程序”,而且,将“第二次修改后的源程序”储存在源程序存储部14a中。 
例如,软件开发人员参照图19的“研究履历窗口”中的“第零级”的需要再次研究部分中的“第六行”的指摘记录“变量‘y’没有被初始化。请确认”,修改图4所示的“第一次修改后的源程序”,制作图5所示的“第二次修改后的源程序”。在此,如图5所示,在“第二次修改后的源程序” 中,“第一次修改后的源程序”中的“第六行:int y,z;”被分开,而修改为“第六行:int y=0;”和“第七行:int z=0;”2行,在第六行中,变量“y”的初值被设定为“0”,重新在第七行中,将变量“z”的初值设定为“0”。 
于是,需要再次研究部分提取部15a将“第二次修改后的源程序”与“第一次修改后的源程序”进行比较,将需要再次研究部分与“第二次修改后的源程序”的位置信息(行号)对应关联,然后进行提取。 
即,如图14所示,需要再次研究部分提取部15a将“第二次修改后的源程序”与“第一次修改后的源程序”进行比较,将在“第一次修改后的源程序”中作为“第零级”的需要再次研究部分而提取的“第五行”、“第六行”、“第九行”以及“第十一~十四行”的部分与作为“第二次修改后的源程序”的行号的“第五行”、“第六行”、“第十行”以及“第十二~十五行”对应关联,然后进行提取,另外,还新提取“第七行”的部分,作为“第二次修改后的源程序”中的“第零级”的需要再次研究部分。 
而且,需要再次研究部分提取部15a通过静态分析图5所示的“第二次修改后的源程序”,制作图10所示的“第二次修改后的源程序”中的“控制流程”,并制作图11所示的“第二次修改后的源程序”中的“数据流程”。此外,在图11所示的“数据流程”中,虚线的箭头表示处理间的引用关系。即,表示虚线的终点上的处理是引用虚线的起点上的处理结果来实施的处理。 
并且,需要再次研究部分提取部15a参照这些新制作的“控制流程”以及“数据流程”,如图15的(A)所示,将在“第一次修改后的源程序”中作为“第一级”的需要再次研究部分而提取的“第七行”以及“第八行”的部分(参照图13的(A))与作为“第二次修改后的源程序”的行号的“第八行”以及“第九行”对应关联,然后进行提取,并且如图15的(B)所示,将作为“第二级”的需要再次研究部分而提取的“第十七行”的部分(参照图13的(B))与作为“第二次修改后的源程序”的行号的“第十八行”对应关联,然后进行提取,并且如图15的(C)所示,将在“第一次修改后的源程序”中作为“第三级”的需要再次研究部分而提取的“第十八~二十一行”的部分(参照图13的(C))与作为“第二次修改后的源程序”的行号 的“第十九~二十二行”对应关联,然后进行提取。然后,需要再次研究部分提取部15a将图14以及图15的(A)~(C)所示的提取结果储存在提取结果存储部14b中。 
在此,研究履历更新部15c在再次从软件开发人员接受“显示直到‘第三级’的所有的需要再次研究部分”的要求时,基于储存在提取结果存储部14b中的提取结果,如图16的(C)所示那样更新“第零级”的需要再次研究部分的研究履历,信息显示部15b基于研究履历更新部15c更新后的研究履历显示如图20那样的画面。 
即,在图20所示的“需要再次研究部分一览窗口”中,函数“funcA”中的“第零级”的需要再次研究部分新追加了第七行而成为“8部分”,利用“0 funcA 6/8”显示其中“6部分”是“被研究完”,函数“funcA”中的“第一级”的需要再次研究部分具有“2处”,利用“1 funcA 0/2”显示所有都未被研究,函数“funcB”中的“第二级”的需要再次研究部分具有“1处”,利用“2 funcB 0/1”显示所有都未被研究,函数“funcB”中的“第三级”的需要再次研究部分具有“4处”,利用“3 funcB 0/4”显示所有都未被研究。在此,利用右下方的“再次研究实际完成量6/15”显示合计15处的需要再次研究部分中的“6部分”是“被研究完”。 
而且,如图20所示,信息显示部15b在“新源程序窗口”中显示“第二次修改后的源程序”,在“旧源程序窗口”中显示“修改前的源程序”。另外,信息显示部15b在图20所示的“新源程序窗口”中,在“第二次修改后的源程序”的“行号”的左侧,显示需要再次研究部分,并在与“第零级”至“第三级”对应的位置上分别附加显示“标记”。例如,信息显示部15b将表示“未被研究”的“空心四边形(□)”的“标记”显示在“第二次修改后的源程序”中的“第六行”以及“第七行”上,作为“第零级”的需要再次研究部分。 
[第一实施例的源程序再次研究装置进行的处理的步骤] 
接着,利用图21以及图22,说明第一实施例的源程序再次研究装置10进行的处理。图21是用于说明第一实施例的源程序再次研究装置的需要再次研究部分的提取处理的图,图22是用于说明第一实施例的源程序再次研究装置的研究履历更新处理的图。 
[第一实施例的源程序再次研究装置的需要再次研究部分的提取处理的步骤] 
首先,第一实施例的源程序再次研究装置10在将修改后的源程序储存在源程序存储部14a中时(步骤S2101为是),需要再次研究部分提取部15a根据修改前后的源程序和修改前后的源程序中控制流程及数据流程,将“第零级”至“第三级”的需要再次研究部分与修改后(最新)的源程序的位置信息(行号)对应关联(步骤S2102),然后进行提取,此后结束处理。 
例如,需要再次研究部分提取部15a在储存有“第一次修改后的源程序”时,最初将图3所示的“修改前的源程序”和图4所示的“第一次修改后的源程序”进行比较,如图12所示,提取函数“funcA”的内容发生变更的“第五行”,和追加的“第六行”、“第九行”以及“第十一~十四行”,作为“第零级”的需要再次研究部分。 
接着,需要再次研究部分提取部15a通过静态分析图3所示的“修改前的源程序”,制作图6所示的“控制流程”和图7所示的“数据流程”,进一步,通过静态分析图4所示的“第一次修改后的源程序”,制作图8所示的“控制流程”,和图9所示的“数据流程”,然后参照这些流程,如图13的(A)所示,还提取“第七行”以及“第八行”,作为“第一级”的需要再次研究部分,上述“第七行”以及“第八行”是因在作为“第零级”的需要再次研究部分的“调查对象行号”中的作为“对象要素”的函数“funcA”的内容发生变更的“第五行”的部分,而直接使处理流程受影响的受影响部分。 
而且,与上述相同,需要再次研究部分提取部15a参照“修改前的源程序”中的“控制流程”以及“数据流程”和“第一次修改后的源程序”中的“控制流程”以及“数据流程”,如图13的(B)所示,提取记载有作为“对象要素”的函数“funcB”的处理的“第十七行”,作为“第二级”的需要再次研究部分,上述函数“funcB”引用作为“调查对象行要素”的函数“funcA”。 
然后,与上述相同,需要再次研究部分提取部15a参照“修改前的源程序”中的“控制流程”以及“数据流程”和“第一次修改后的源程序”中的“控制流程”以及“数据流程”,如图13的(C)所示,提取“第十八~二 十一行”,作为“第三级”的需要再次研究部分,上述“第十八~二十一行”是因在作为“第二级”的需要再次研究部分的“调查对象行号:第十七行”中记载的作为“对象要素”的函数“funcB”,而直接使处理流程受影响的受影响部分。 
另外,需要再次研究部分提取部15a在储存有“第二次修改后的源程序”时,如图14所示,将“第二次修改后的源程序”和“第一次修改后的源程序”进行比较,将在“第一次修改后的源程序”中作为“第零级”的需要再次研究部分而提取的“第五行”、“第六行”、“第九行”以及“第十一~十四行”的部分与作为“第二次修改后的源程序”的行号的“第五行”、“第六行”、“第十行”以及“第十二~十五行”对应关联,然后进行提取,另外,还新提取“第七行”的部分,作为“第二次修改后的源程序”中的“第零级”的需要再次研究部分。 
而且,需要再次研究部分提取部15a通过静态分析图5所示的“第二次修改后的源程序”,制作图10所示的“第二次修改后的源程序”中的“控制流程”,并且制作图11所示的“第二次修改后的源程序”中的“数据流程”,然后参照这些新制作的“控制流程”以及“数据流程”,如图15的(A)所示,将在“第一次修改后的源程序”中作为“第一级”的需要再次研究部分而提取的“第七行”以及“第八行”的部分与作为“第二次修改后的源程序”的行号的“第八行”以及“第九行”对应关联,然后进行提取,如图15的(B)所示,将作为“第二级”的需要再次研究部分而提取的“第十七行”的部分与作为“第二次修改后的源程序”的行号的“第十八行”对应关联,然后进行提取,如图15的(C)所示,将在“第一次修改后的源程序”中作为“第三级”的需要再次研究部分而提取的“第十八~二十一行”的部分与作为“第二次修改后的源程序”的行号的“第十九~二十二行”对应关联,然后进行提取。 
[第一实施例的源程序再次研究装置的研究履历更新处理的步骤] 
首先,第一实施例的源程序再次研究装置10在软件开发人员接受再次研究工作开始要求时(步骤S2201为是),信息显示部15b将需要再次研究部分与研究履历对应关联,并进行表示(步骤S2202)。 
即,信息显示部15b在从软件开发人员接受“显示直到‘第三级’的所 有的需要再次研究部分”的再次研究工作开始要求时,例如,在输出部12显示图17所示的画面。 
然后,研究履历更新部15c进行待机,直到接受来自软件开发人员的研究履历的更新(步骤S2203),在没有接受研究履历的更新的情况下(步骤S2203为否)进行待机,直到接受来自软件开发人员的再次研究工作结束要求(步骤S2205)。 
与此相反,在接受来自软件开发人员的研究履历的更新时(步骤S2203为是),研究履历更新部15c更新研究履历(步骤S2204)。 
例如,在“2007年2月26日”,作为软件开发人员的“日本太郎”,按压图17所示的“新源程序窗口”中的“第零级”的需要再次研究部分中的“第五行”、“第九行”以及“第十一~十四行”的“标记”,使“研究状态对话框”显示,接受将“追加了记载在设计式样书中的处理。没有问题”作为“指摘记录”的输入,并接受将“被研究完”作为“研究状态”的输入(参照图18的左侧),进一步,在按下图17所示的“新源程序窗口”中的“第零级”的需要再次研究部分中的“第六行”的“标记”,使“研究状态对话框”显示,接受将“变量‘y’没有被初始化。请确认”作为“指摘记录”的输入,并接受将“未被研究”作为“研究状态”的输入(参照图18的右侧)时,研究履历更新部15c如图16的(B)所示更新研究履历。此外,信息显示部15b在通过研究履历更新部15c如图16的(B)所示更新研究履历时,如图19所示,更新在输出部12上显示的画面。 
然后,第一实施例的源程序再次研究装置10在接受来自软件开发人员的再次研究工作结束要求时(步骤S2205为是),结束处理。 
[第一实施例的效果] 
如上所述,根据第一实施例,将作为修改前的源程序的修改前的源程序与作为修改后的源程序的修改后源程序进行比较,提取作为需要再次研究的部分的需要再次研究部分,将表示各个被提取的需要再次研究部分是被研究完还是未被研究的履历即研究履历存储在研究履历更新部15c中,然后在输出部12(监视器)中显示将被提取的需要再次研究部分与存储在研究履历更新部15c中的是被研究完还是未被研究的研究履历对应关联的信息,在从输入部11接受在输出部12(监视器)中作为未被研究而显示的需要再次研究 部分被研究完时,更新存储在研究履历更新部15c中的研究履历,因此,各个软件开发人员进行研究后的痕迹留作履历,并且能够共有各个软件开发人员需要研究的部分,从而能够高可靠性地进行再次研究。 
另外,根据第一实施例,将需要再次研究部分与上述修改后源程序的位置信息(行号)对应关联,然后进行提取,研究履历更新部15c将需要再次研究部分与修改后源程序的位置信息(行号)对应关联,然后进行存储,因此,即使在修改前后发生需要再次研究部分的位置信息(具体地说,需要再次研究部分在源程序中记载的行号)的错位,也能够制作反映一直更新的修改后的位置信息的研究履历,从而能够高可靠性地进行再次研究。 
另外,根据第一实施例,提取在修改后源程序中的对修改前的源程序修改而得到的部分即修改部分,作为“第零级”的需要再次研究部分,按影响的程度将因修改部分而在修改后源程序中记述的处理受影响的部分即受影响部分分为“第一级”、“第二级”以及“第三级”的需要再次研究部分,然后进行提取,从输出部12显示分为“第零级”至“第三级”的需要再次研究部分中的从输入部11接受的等级,作为需要再次研究部分,因此,通过显示满足客户需要的等级的需要再次研究部分,该用户能够迅速地进行研究,从而能够高可靠性地进行再次研究。 
第二实施例 
那么,到此说明第一实施例的源程序再次研究装置,但是本发明存在上述实施例以外的可以以各种不同的形式实施的实施例。因此,下面,将各种不同的实施例分为(1)~(3)作为第二实施例中的源程序再次研究装置进行说明。 
(1)需要再次研究部分 
在上述的第一实施例中,说明了每储存最新的源程序,就提取需要再次研究部分的情况,本发明不限于此,例如,可以接受来自程序开发人的再次研究工作开始要求,然后提取需要再次研究部分。 
(2)系统结构等 
另外,在上述实施例中说明的各处理中,作为自动进行的处理来说明的全部处理或一部分处理能够通过手动来进行(例如,不需要接受来自程序开发人的再次研究工作开始要求,在储存有最新的源程序时,自动生成再次研 究工作开始要求等),或者,作为手动进行的处理来说明的全部处理或一部分处理能够利用公知的方法来自动进行。另外,对于上述内容中和附图中示出的包括处理步骤、具体的名称、各种数据和参数的信息,除了特别的情况之外能够任意地进行更新。 
另外,附图的各装置的各结构要素表示功能概念,不需要物理上成为图示的结构。即,各处理部以及各存储部的分散及统一的具体方式(例如,图2的方式等)不限于附图,例如,能够将信息显示部15b与研究履历更新部15c统一等,按照各种负荷和使用情况等,以任意单位,功能性地或物理性地分散及统一构成全部各结构要素或一部分结构要素。而且,各装置所进行的各处理功能中的全部处理功能或任意一部分处理功能由CPU以及通过该CPU分析执行的程序来实现,或者,通过布线逻辑而形成的硬件来实现。 
(3)源程序再次研究程序 
在上述第一实施例中,说明了通过硬件逻辑实现各种处理的情况,但本发明不限于此,可以通过计算机执行预先准备的程序。因此,下面,利用图23,说明实施具有与上述第一实施例所示的源程序再次研究装置10相同的功能的源程序再次研究程序的计算机的一个例子。图23是表示实施第一实施例的源程序再次研究程序的计算机的图。 
如图23所示,作为信息处理装置的计算机230的结构为利用总线237等连接键盘231、显示器232、CPU233、ROM234、HDD235以及RAM236。 
在ROM234中,预先存储发挥与上述第一实施例所示的源程序再次研究装置10相同的功能的源程序再次研究程序,也就是说,如图23所示,预先存储需要再次研究部分提取程序234a、信息表示程序234b、研究履历更新程序234c。此外,对于这些程序234a~234c,与图2所示的源程序再次研究装置10的各结构要素相同,可以适当地进行统一或分散。 
而且,CPU233通过从ROM234读取这些程序234a~234c进行实施,如图23所示,使各程序234a~234c作为需要再次研究部分提取处理233a、信息表示处理233b、研究履历更新处理233c发挥功能。此外,各工序233a~233c与图2的需要再次研究部分提取部15a、信息显示部15b、研究履历更新部15c分别对应。 
另外,如图23所示,在HDD235中设置有源程序数据235a、提取结果 数据235b、研究履历数据235c。该源程序数据235a对应于图2中使用的源程序存储部14a,提取结果数据235b对应于图2中使用的提取结果存储部14b,研究履历数据235c对应于图2中使用的研究履历存储部14c。然后,CPU233对应于源程序数据235a登录源程序数据236a,对应于提取结果数据235b登录提取结果数据236b,对应于研究履历数据235c登录研究履历数据236c,然后读出该源程序数据236a、提取结果数据236b、研究履历数据236c将它们储存在RAM236中,此后基于储存在RAM236中的源程序数据236a、提取结果数据236b、研究履历数据236c执行源程序再次研究处理。 
此外,对于上述各程序234a~234c,不需要从最初就存储在ROM234中,例如,能够将各程序存储在插入计算机230的软盘(FD)、CD-ROM、MO盘、DVD盘、光磁盘、IC卡等“可移动的物理介质”,计算机230内外所具有的HDD等“固定物理介质”,经公用线路、网络、LAN、WAN等与计算机230连接的“其他计算机(或者服务器)”等中,计算机230可以从这些中读取各程序来执行。 
产业上的可利用性 
如上所述,本发明的源程序再次研究程序、源程序再次研究方法以及源程序再次研究装置适用于对修改后的源程序进行再次研究的情况,尤其,能够高可靠性地进行再次研究。 

Claims (6)

1.一种源程序再次研究方法,对修改后的源程序进行再次研究,其特征在于,包括:
需要再次研究部分提取工序,将作为修改前的源程序的修改前源程序与作为修改后的源程序的修改后源程序进行比较,提取需要再次研究部分,该需要再次研究部分包括修改部分和受影响部分,上述修改部分是上述修改后源程序中的从上述修改前源程序进行修改后的部分,上述受影响部分是因上述修改部分而导致在上述修改后源程序中记述的处理受影响的部分;
研究履历存储工序,存储研究履历,上述研究履历是表示通过上述需要再次研究部分提取工序提取的上述需要再次研究部分分别是被研究完还是未被研究的履历;
信息输出工序,向规定的输出部输出关联信息,所述关联信息是指,将通过上述需要再次研究部分提取工序提取的上述需要再次研究部分与通过上述研究履历存储工序存储的上述研究履历对应关联后的信息;
研究履历更新工序,在对于在上述规定的输出部中作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新通过上述研究履历存储工序存储的上述研究履历。
2.如权利要求1所述的源程序再次研究方法,其特征在于,
上述需要再次研究部分提取工序,将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行提取,
上述研究履历存储工序,将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行存储。
3.如权利要求2所述的源程序再次研究方法,其特征在于,
上述需要再次研究部分提取工序,按影响的程度,对上述修改部分和上述受影响部分进行分级然后进行提取,来作为上述需要再次研究部分,
上述信息输出工序,从上述修改部分和分级后的受影响部分中输出从规定的输入部接受了的部分,来作为上述需要再次研究部分。
4.一种源程序再次研究装置,对修改后的源程序进行再次研究,其特征在于,具有:
需要再次研究部分提取单元,将作为修改前的源程序的修改前源程序与作为修改后的源程序的修改后源程序进行比较,提取需要再次研究部分,该需要再次研究部分包括修改部分和受影响部分,上述修改部分是上述修改后源程序中的从上述修改前源程序进行修改后的部分,上述受影响部分是因上述修改部分而导致在上述修改后源程序中记述的处理受影响的部分;
研究履历存储单元,存储研究履历,上述研究履历是表示通过上述需要再次研究部分提取单元提取的上述需要再次研究部分分别是被研究完还是未被研究的履历;
信息输出单元,向规定的输出部输出关联信息,所述关联信息是指,将通过上述需要再次研究部分提取单元提取的上述需要再次研究部分与通过上述研究履历存储单元存储的上述研究履历对应关联后的信息;
研究履历更新单元,在对于在上述规定的输出部中作为未被研究而输出的需要再次研究部分,从规定的输入部接受被研究完的输入的情况下,更新通过上述研究履历存储单元存储的上述研究履历。
5.如权利要求4所述的源程序再次研究装置,其特征在于,
上述需要再次研究部分提取单元,将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行提取,
上述研究履历存储单元,将上述需要再次研究部分与上述修改后源程序的位置信息对应关联,然后进行存储。
6.如权利要求5所述的源程序再次研究装置,其特征在于,
上述需要再次研究部分提取单元,按影响的程度,对上述修改部分和上述受影响部分进行分级然后进行提取,来作为上述需要再次研究部分,
上述信息输出单元,从上述修改部分和分级后的受影响部分中输出从规定的输入部接受了的部分,来作为上述需要再次研究部分。
CN2007800524946A 2007-04-09 2007-04-09 源程序再次研究方法及源程序再次研究装置 Expired - Fee Related CN101641678B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/057852 WO2008129619A1 (ja) 2007-04-09 2007-04-09 ソースプログラム再検討プログラム、ソースプログラム再検討方法およびソースプログラム再検討装置

Publications (2)

Publication Number Publication Date
CN101641678A CN101641678A (zh) 2010-02-03
CN101641678B true CN101641678B (zh) 2012-03-21

Family

ID=39875167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800524946A Expired - Fee Related CN101641678B (zh) 2007-04-09 2007-04-09 源程序再次研究方法及源程序再次研究装置

Country Status (4)

Country Link
US (1) US20100037209A1 (zh)
JP (1) JP5056849B2 (zh)
CN (1) CN101641678B (zh)
WO (1) WO2008129619A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627286B2 (en) * 2010-03-26 2014-01-07 Oracle International Corporation Fully declarative build system for build optimization
US20110271253A1 (en) * 2010-04-28 2011-11-03 International Business Machines Corporation Enhancing functional tests coverage using traceability and static analysis
JP5741265B2 (ja) * 2011-07-13 2015-07-01 富士電機株式会社 プログラム改善支援システム
JP2013045307A (ja) * 2011-08-24 2013-03-04 Nec Corp 静的解析システム、静的解析結果表示方法及びプログラム
WO2013058393A1 (ja) * 2011-10-18 2013-04-25 日本電気株式会社 異常検出装置、プログラム、及び、方法
US20130311440A1 (en) * 2012-05-15 2013-11-21 International Business Machines Corporation Comparison search queries
US9158518B2 (en) * 2013-03-11 2015-10-13 Blackberry Limited Collaborative application development environment using a connected device
US9773264B2 (en) 2013-03-26 2017-09-26 Blackberry Limited Method for providing composite user interface controls and an online storefront for same
US10127506B2 (en) * 2015-08-07 2018-11-13 International Business Machines Corporation Determining users for limited product deployment based on review histories
JP6847710B2 (ja) * 2017-02-28 2021-03-24 本田技研工業株式会社 設計支援システム、設計支援方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167566A (en) * 1998-05-15 2000-12-26 Fujitsu Limited Variable retrieving apparatus and method and computer readable recording medium recording variable retrieving program therein
JP2005190330A (ja) * 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd ソースプログラムのレビュー支援システム
CN1773506A (zh) * 2004-11-12 2006-05-17 国际商业机器公司 管理文件修订的方法与系统
US7194679B1 (en) * 1998-10-20 2007-03-20 International Business Machines Corporation Web-based file review system utilizing source and comment files

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216140B1 (en) * 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US7071934B1 (en) * 1998-03-20 2006-07-04 International Business Machines Corp. Method and apparatus for visually-oriented navigation of compared object versions
US6658626B1 (en) * 1998-07-31 2003-12-02 The Regents Of The University Of California User interface for displaying document comparison information
EP1356377A2 (en) * 2000-10-04 2003-10-29 Siemens Energy & Automation, Inc. Manufacturing system software version management
US7152224B1 (en) * 2000-11-21 2006-12-19 Microsoft Corporation Versioned project associations
US6910204B1 (en) * 2001-04-13 2005-06-21 Unisys Corporation Software development methodology including creation of focus areas and decomposition of same to create use cases
US6662198B2 (en) * 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
JP2004126866A (ja) * 2002-10-01 2004-04-22 Mitsubishi Electric Corp 記述出力抑制プログラム解析装置及び記述出力抑制プログラム解析方法
JP2006178511A (ja) * 2004-12-20 2006-07-06 Fujitsu Ltd ソフトウェア変更トレーサビリティ管理装置
US20080120598A1 (en) * 2006-11-20 2008-05-22 Viewtier Systems, Inc. Method and apparatus of a build management system
WO2009011056A1 (ja) * 2007-07-19 2009-01-22 Fujitsu Limited アプリケーション改善支援プログラム、アプリケーション改善支援方法およびアプリケーション改善支援装置
KR101484680B1 (ko) * 2007-10-04 2015-01-21 삼성전자 주식회사 컴포넌트 기반 소프트웨어 제품 관리 시스템 및 방법
US20090158250A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Systems, methods and computer program products for operation history management for hpc programs optimization
US8312430B2 (en) * 2008-08-27 2012-11-13 International Business Machines Corporation Guarding code check-in with test case execution results
US9514103B2 (en) * 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
US9176828B2 (en) * 2012-09-04 2015-11-03 Opshub, Inc. System and method for merging results from multiple runs based on run inputs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167566A (en) * 1998-05-15 2000-12-26 Fujitsu Limited Variable retrieving apparatus and method and computer readable recording medium recording variable retrieving program therein
US7194679B1 (en) * 1998-10-20 2007-03-20 International Business Machines Corporation Web-based file review system utilizing source and comment files
JP2005190330A (ja) * 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd ソースプログラムのレビュー支援システム
CN1773506A (zh) * 2004-11-12 2006-05-17 国际商业机器公司 管理文件修订的方法与系统

Also Published As

Publication number Publication date
JPWO2008129619A1 (ja) 2010-07-22
WO2008129619A1 (ja) 2008-10-30
CN101641678A (zh) 2010-02-03
US20100037209A1 (en) 2010-02-11
JP5056849B2 (ja) 2012-10-24

Similar Documents

Publication Publication Date Title
CN101641678B (zh) 源程序再次研究方法及源程序再次研究装置
US20180101621A1 (en) Identifier vocabulary data access method and system
CN101174240B (zh) 一种软件测试管理方法及其系统
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US7814101B2 (en) Term database extension for label system
JP4917744B2 (ja) ランタイムおよび設計でのテキスト変換と多言語サポートをするラベルシステム
JP4796538B2 (ja) コメントデータを関連付ける方法
CN101866315A (zh) 软件开发工具的测试方法及系统
CN103646049A (zh) 自动生成数据报表的方法及系统
US20030110175A1 (en) Deploying predefined data warehouse process models
CN113687827B (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
WO2020230241A1 (ja) テスト装置、テスト方法及びプログラム
JP7381290B2 (ja) 計算機システム及びデータの管理方法
CN114691491A (zh) 一种用于智慧屏的用例模板生成方法、系统及介质
Zhao et al. ASM-based design of data warehouses and on-line analytical processing systems
JP3540241B2 (ja) アプリケーション起動メニュー定義ファイル生成装置及びアプリケーション起動メニュー生成装置
JP2003015914A (ja) 情報処理装置を評価するためのテストプログラムを作成する方法、装置、およびそのための処理を記述したプログラム
JP4957043B2 (ja) 情報処理装置、プログラム及び業務アプリケーション導入方法
CN113778541A (zh) 一种小程序生成方法、装置、电子设备和存储介质
JP2009070206A (ja) データ検索システムおよびデータ検索方法ならびにデータ検索装置,検索実行者端末およびプログラム
JP5163308B2 (ja) Ipモデル生成装置、ipモデル生成方法、およびipモデル生成プログラム
JP2009163566A (ja) ジョブ解析支援装置
CN100428249C (zh) 验证支持装置和验证支持方法
JP7541227B2 (ja) 情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体
JPH06131232A (ja) データ辞書の多重定義修正支援装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20180409