CN110825633A - 一种针对Java语言的软件缺陷检测与提取方法 - Google Patents

一种针对Java语言的软件缺陷检测与提取方法 Download PDF

Info

Publication number
CN110825633A
CN110825633A CN201911060906.1A CN201911060906A CN110825633A CN 110825633 A CN110825633 A CN 110825633A CN 201911060906 A CN201911060906 A CN 201911060906A CN 110825633 A CN110825633 A CN 110825633A
Authority
CN
China
Prior art keywords
java
file
project
defect information
defect
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
Application number
CN201911060906.1A
Other languages
English (en)
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.)
Jiangsu University of Science and Technology
Original Assignee
Jiangsu University of Science and Technology
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 Jiangsu University of Science and Technology filed Critical Jiangsu University of Science and Technology
Priority to CN201911060906.1A priority Critical patent/CN110825633A/zh
Publication of CN110825633A publication Critical patent/CN110825633A/zh
Pending legal-status Critical Current

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Landscapes

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

Abstract

本发明属于软件测试技术领域,一种针对Java语言的软件缺陷检测与提取方法,包含以下步骤:(1)获取Java项目的数据包文件,从中提取.java和.class等格式的源代码文件;(2)通过Java项目开发平台Eclipse创建相关的项目工程,并加载Java项目的源代码文件到工程中去,通过Eclipse的Export功能导出项目的jar包文件;(3)通过CKJM度量工具对jar包文件进行相关度量元的计算,生成XML格式的报告文件;(4)通过extract_for_java_xml.py程序对步骤三中的XML报告文件进行解析,提取相应的度量元的值到Excel表中;(5)利用网络爬虫工具get.py程序爬取相关的网页中的缺陷信息,在本地生成相应的缺陷信息报告;(6)通过步骤四中度量元信息表和步骤五中的缺陷信息表的匹配合并,生成最终的缺陷信息报告。

Description

一种针对Java语言的软件缺陷检测与提取方法
技术领域
本发明属于软件测试技术领域,具体地说,是一种针对Java语言的软件缺陷检测与提取方法。
背景技术
在互联网技术和全球云计算的大力发展环境下,Java语言的开发者人数连续数年高速增长,并保持有着广阔的前景和显著的优势。随着Java应用领域的不断扩大,软件质量要求越来越高,软件缺陷度量成为Java软件开发的必要步骤。软件缺陷信息的度量是软件度量的一部分,缺陷信息的检测与提取是对项目开发与应用过程中产生的缺陷数据进行采集和量化,将分散的缺陷数据统一管理,使其有序而清晰,同时通过采用一系列算法对数据进行处理,分析缺陷密度和趋势,用以指导产品开发并提高产品可靠度。
目前针对Java语言的软件缺陷检测与提取工作所存在的问题:常见的检测方法包括静态分析和动态监测方法。动态监测工具扫描速度不能定位到造成漏洞的具体代码,且漏报率高。静态分析工具可以找到特定的代码,但误报率高。他们都各自有局限性。本方法提出一个结合静态分析和动态监测的缺陷检测与提取方法,用来检测Java源代码的缺陷信息。在静态分析部分,采用以度量元为主要检测信息,探测源程序文件中相关的类对代码局部和整体的影响。在动态监测部分利用静态分析结果生成的度量元报告关联缺陷信息进行源代码缺陷的统计与分析。公开号为CN109240925A的专利《一种Java语言编码缺陷率走查方法》提出一种Java语言编码缺陷率走查方法,使用Eclipse工具导入XML文件对待走查项目进行走查,获得缺陷行数、缺陷位置和缺陷率。公开号为CN108021390A的专利《一种Java应用编程接口的文档缺陷自动修复方法》可对Java API中有缺陷的文档进行自动修复,分别提取Java API文档的参数相关约束描述信息和执行代码中的异常信息及其触发条件处理信息,并进行比对,从而检测出文档描述中可能存在的缺陷问题,并采用基于预定义模板的方式对其进行修复。公开号为CN104021084A的公开专利《一种Java源代码缺陷检测方法及装置》提出一种方法及装置能够全面而准确地检测Java源代码的安全缺陷,同时减少程序运算量,提高检测性能。公开号为CN104461864A的公开专利《一种基于Eclipse插件的Java源代码缺陷检测方法及其系统》提出一种基于Eclipse插件的Java源代码缺陷检测方法及其系统,该方法主要在Java开发环境下直接进行代码缺陷的检测。
到目前为止,还没有一种专门针对Java语言,将静态分析与动态分析相结合的缺陷检测与提取方法。要实现此方法必须解决以下几方面问题:
(1)静态分析应开发相应的自动化检测与信息提取工具,尽可能的减少人工的干预。
(2)针对相关度量元的检测生成的报告应能够达到相关的缺陷度量要求,符合相关的行业标准。
(3)方法应有工具支撑实现数据整合,能够实现度量元信息的自动计算,检测效率、精确度均高于已知方法。
(4)可以反映总体缺陷分布情况,可以直观反映出软件的缺陷主要集中在哪些方面。
(5)能够实现计算出的度量元信息与已知缺陷信息间的关联,保证缺陷检测与信息提取的准确率。
(6)能够对Java语言项目缺陷信息进行评估和预测,用以指导项目开发与产品测试工作。
(7)方法应对Java语言项目具有通用性,避免因软件版本或应用范畴的不同而需要大量人工改进。
发明内容
为了解决上述背景技术存在的技术问题。本发明旨在提供一种针对Java语言的软件缺陷信息检测与提取方法。快速方便的生成符合要求的代码缺陷报告,并对软件的可靠性进行评估和预测,用以指导软件开发和可靠性测试的进行。
为了实现上述技术目的,本发明的技术方案为:
一种针对Java语言的软件缺陷信息检测与提取方法,用以指导项目的开发和可靠性测试工作。相关方法包含以下步骤:
(1)获取Java项目的数据包文件,从中提取.java和.class等格式的源代码文件。
(2)通过Java项目开发平台Eclipse创建相关的项目工程,并加载Java项目的源代码文件到工程中去,通过Eclipse的Export功能导出项目的jar包文件。
(3)通过CKJM度量工具对jar包文件进行相关度量元的计算,生成XML格式的报告文件。
(4)通过extract_for_java_xml.py程序对(3)中的XML报告文件进行解析,提取相应的度量元的值到Excel表中。
(5)利用网络爬虫工具get.py程序爬取相关的网页中的缺陷信息,在本地生成相应的缺陷信息报告。
(6)通过(4)中度量元信息表和(5)中的缺陷信息表的匹配合并,生成最终的缺陷信息报告。
本发明的有益效果:
(1)本发明是基于Java语言项目源文件进行的静态度量元信息的检测与提取,其精度与准确度远高于一般的基于功能和模块的缺陷度量方法。
(2)本发明静态测试与动态测试相结合,弥补了传统缺陷测试的不足。
(3)本发明具体实现有大量的工具支撑自动化程度高,非专业人员也可完成相关的软件缺陷信息的自动化测试与提取,同时提高了测试效率降低了后期维护成本。
(4)本发明可用于软件开发与测试过程中的不同阶段,不受数据量的限制且无软件和硬件的要求,具有更好的适应性。
(5)本发明针对基于Java语言开发的软件,通用于项目源代码,应用范围更广。
附图说明
图1是本发明流程图。
具体实施方式
为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
本发明利用Eclipse开发平台和多个工具对基于Java语言开发的软件进行缺陷信息的检测与提取,实现对缺陷信息的预测以指导项目开发和可靠性测试。该检测方法包括源文件的自动化编译与检测以及度量元计算的工具和网页信息的自动化提取与信息关联工具。其主要思想是:实现对Java语言开发的软件源代码的编译,制定相关的度量元评定标准对代码进行检测与扫描并生成相应的度量元信息报告。通过爬虫工具获取开发者已提交的缺陷信息,生成相关的已知缺陷信息报告。通过上述报告间的信息关联确定缺陷的具体位置、缺陷描述、危害等级等信息。
图1是基于Java语言的软件缺陷信息检测与提取流程图,所述方法如下:
步骤一:首先打开项目源代码文件包,提取相关的.java格式的源代码文件并存放在新建的文件夹中。
步骤二:配置相关的Java项目开发环境,通过Eclipse开发平台创建相关的工程并添加步骤一中的源代码文件,对工程进行编译,处理其中的.java源程序文件以生成相对应的.class格式的编译后文件。通过Export导出功能将编译后的文件以jar包的形式导出。
步骤三:配置CKJM工具运行环境,通过CKJM度量工具对步骤二中生成的jar包文件进行相关度量元的分析,生成XML格式的报告文件。执行命令行如下:
java-jar C:/ckjmTest/ckjm_ext.jar C:/ckjmTest/jstl-1.1.2.jar
步骤四:extract_for_java_xml.py程序是基于Python开发的用于解析XML文件的工具。通过修改extract_for_java_xml.py程序代码行中147行要处理的XML文件路径,对步骤3中的XML报告文件进行解析,提取相应的度量元的值到Excel模板中。其执行命令如下:
python extract_for_java_xml.py out xxx
步骤五:通过网络爬虫工具爬取源代码所在网站中由开发者提供的缺陷修改日志和缺陷修改报告中已知的缺陷信息。以Apache网站为例,网站内存在开发者提供的源代码中存在的缺陷数量、缺陷位置、缺陷描述等相关信息,通常包含在缺陷日志和缺陷修改报告中。
步骤六:将步骤四中的度量元检测报告和步骤五中的缺陷报告通过mergy.py程序进行关联,关联的最终结果是生成最终的Result.xls报告文件。
其中,步骤二所述的通过Eclipse的Export功能导出项目的jar包文件有如下步骤:
(a)创建项目工程并导入扩展名为java的源程序文件;
(b)配置Eclipse编译环境并编译项目;
(c)在需要导出的包上右键,选择“Export”;
(d)选中“JAR file”,点“Next”;
(e)以jar包的形式导出扩展名为.class的文件。
在步骤三中CKJM程序通过处理编译的Java文件的字节码来计算19个大小和结构软件度量。该程序为每个类计算以下指标,并在其标准输出上显示或按照类的名称保存在XML文件中:
WMC:每个类的加权方法(NOM:QMOOD度量套件中的方法数)
DIT:继承树的深度
NOC:子类个数
CBO:对象类之间的耦合
RFC:类的响应
LCOM:方法缺乏内聚
Ca:传入耦合(不是C&K度量)
Ce:传出耦合(不是C&K度量)
NPM:类的公共方法数(不是C&K度量;CIS:QMOOD度量套件中的类接口大小)
LCOM3:亨德森-塞勒斯版本的方法缺乏内聚
LCO:代码行(不是C&K指标)
DAM:数据访问度量标准(QMOOD度量套件)
MOA:聚合度量(QMOOD度量套件)
MFA:功能抽象测量(QMOOD度量套件)
CAM:类方法之间的内聚(QMOOD度量套件)
IC:继承耦合(C&K度量套件的质量导向扩展)
CBM:方法之间的耦合(C&K度量套件的质量导向扩展)
AMC:平均方法复杂性(C&K度量套件的质量导向扩展)
CC:McCabe圈复杂度
相关的度量元信息的名称及计算公式如表1所示。
表1
Figure BDA0002257929220000061
Figure BDA0002257929220000071
在步骤四中extract_for_java_xml.py程序对步骤三中的XML报告文件进行解析,提取相应的度量元的值到Excel模板中。extract_for_java_xml.py中对XML文件解析的代码如下:
Figure BDA0002257929220000081
在上述代码中用到了SAX解析方法,SAX既是一个接口也是一个软件包。作为接口,SAX是事件驱动型XML解析的一个标准接口,不会改变SAX的工作原理。简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
在这里,元素开始事件遇到元素开始就会自动调用,遇到标签内的内容就会自动调用处理内容事件的对应函数,遇到结束标签就会自动的去调用结束事件的函数。程序会将XML文档进行通读,并从起始点到结束点全部触发一遍所包含的事件。
在上述解析完成后extract_for_java_xml.py程序会将结果保存在Excel表格中,
在步骤五中,对项目所在网站的爬虫,首先需要解析网页下的所有commit支线的类,其代码如下:
Figure BDA0002257929220000091
从代码中可以看出,进入网页时若在“div”标签下则满足variable=="class"and value=="commit-message pr-1"条件,“self.div”赋值为真,标签为真则将相应标签加入列表中。标签收集完成后会对其进行逐个处理,处理过程中同样会先加载并验证二级标签,标签内的相应数据会提取到外部环境。
在爬取数据的过程中,需要对.java和.class文件进行严格区分,其代码如下:
Figure BDA0002257929220000092
Figure BDA0002257929220000111
Figure BDA0002257929220000121
从上述代码中可以看出,缺陷信息板块主要的起始标签为“div”和“td”,仅当检测文件扩展名为.java/class时,才会以“div”标签开始提取。代码可以看出在函数的提取过程当中是否接受函数内容与函数名判断挂钩,若函数名提取为“@@”则直接pass。
在步骤六中两个报告的数据信息关联主要是通过具有相同命名规则的ID进行的,数据关联的结果是在第4步中生成的报告中重新修改了最后一列Defects的值。
本方法最终的报告将以Excel的形式进行呈现,其中包含了ID为函数名的值以及所有的度量元信息,在最后一列Defects中将呈现软件代码中每个函数体(ID)所包含的缺陷信息,根据数值的大小可以直观的查看相应函数体缺陷信息数量并对其进行整体或局部的统计分析。
从上述步骤可以看出,本发明实施的针对Java语言的软件缺陷信息的检测与提取方法,避免了缺陷信息的人工测试与提取带来的效率不高的问题;本方法针对不同的网页制定了特有的算法进行网络数据的爬取,度量结果与代码本身依存度更高且指导性更强,有效解决了缺陷信息与源代码匹配度差的问题;本方法中多次进行相关检测报告的数据整合,实现对项目源代码的全覆盖,有效解决了缺陷信息与源代码本身关联性差造成的最终报告碎片化的问题。
下面,以提取Apache上的一个Java开源项目——Xalan的一个特定版本v2.4.1的缺陷信息为例说明方法的实现过程。
(1)获取项目基本信息
首先,通过Apache官网的项目列表(http://www.apache.org/index.html#projects-list),找到指定的项目——Xalan,接着,点击进入后,可看到项目的简介,其功能是利用标准样式表XSLT转换XML文档。该项目具体分为C++和JAVA两种编程语言的子项目,即Xalan C++和Xalan Java。在本例中仅考虑Java版本的Xalan项目,即Xalan Java。
(2)下载项目源代码
现在需要下载Xalan Java项目在版本v2.4.1时的源代码。首先在上述的Xalan项目简介页中的Xalan Java项目的简介处,通过点击给出的存档链接,查看Xalan的所有历史版本,这里下载ZIP压缩格式的源代码包。源代码都存放在xalan-j_2.4.1的子文件夹src中。
(3)计算模块的度量元信息
按照前文中面向对象软件度量元的描述,计算各个模块的所有度量元的值。为简便起见,这里仅拿其中的一个模块(TemplatesHandlerImpl.java)举例,
首先需要针对项目源程序文件生成jar包文件,
按照前文度量元的定义,可以轻易计算出各度量元的值,如表2所示:
表2 模块TemplatesHandlerIImpl的度量元值
Metric Value Metric Value Metric Value Metric Value
WMC 8 CA 0 MOA 0 MAX_CC 1
DIT 0 CE 4 MFA 0 AVG_CC 1
NOC 0 NPM 7 CAM 0.2679 Defects 9
CBO 4 LCOM3 1.1429 IC 0
RFC 9 LOC 52 CBM 0
LCOM 28 DAM 1 AMC 5
(4)收集模块缺陷信息
由于当前版本中模块的缺陷信息需要依据紧邻的下一版本的更新日志或缺陷报告来确定。因此,这里下载下一版本即Xalan-j_2.5.0,并查看其包含缺陷修复信息的提交日志,即文件commits.xml以确定之前版本v2.4.1的缺陷信息:
打开commits.xml文件,一条完整记录的包括多种信息,比如被修改的模块的名称,被修改模块的完整路径,修改日期等等。遍历该文档,最终可以发现TemplatesHandlerImpl模块共有2个缺陷。
(5)关联度量元信息和缺陷信息
当计算完所有模块的度量元信息和缺陷信息后,根据具有唯一标识性的模块ID或模块名称,对模块的度量元信息和模块缺陷信息进行匹配合并,进而得到该软件完整的缺陷信息表。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种针对Java语言的软件缺陷信息检测与提取方法,其特征在于,包含以下步骤:
步骤一:获取Java项目的数据包文件,从中提取.java和.class等格式的源代码文件;
步骤二:通过Java项目开发平台Eclipse创建相关的项目工程,并加载Java项目的源代码文件到工程中去,通过Eclipse的Export功能导出项目的jar包文件;
步骤三:通过CKJM度量工具对jar包文件进行相关度量元的计算,生成XML格式的报告文件;
步骤四:通过extract_for_java_xml.py程序对步骤三中的XML报告文件进行解析,提取相应的度量元的值到Excel表中;
步骤五:利用网络爬虫工具get.py程序爬取相关的网页中的缺陷信息,在本地生成相应的缺陷信息报告;
步骤六:通过步骤四中度量元信息表和步骤五中的缺陷信息表的匹配合并,生成最终的缺陷信息报告。
2.根据权利要求1所述的针对Java语言的软件缺陷信息检测与提取方法,其特征在于,所述步骤二中Eclipse的Export功能导出项目的jar包文件有如下程序:
(a)创建项目工程并导入扩展名为java的源程序文件;
(b)配置Eclipse编译环境并编译项目;
(c)在需要导出的包上右键,选择“Export”;
(d)选中“JARfile”,点“Next”;
(e)以jar包的形式导出扩展名为.class的文件。
3.根据权利要求1所述的针对Java语言的软件缺陷信息检测与提取方法,其特征在于,所述步骤四中使用了SAX解析方法文档进行顺序扫描,当扫描到文档开始与结束、元素开始与结束、文档结束时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
4.根据权利要求1所述的针对Java语言的软件缺陷信息检测与提取方法,其特征在于,所述步骤五中在生成的网页爬虫报告文件中,每条数据将能够体现出如缺陷代码具体位置、缺陷函数名、缺陷描述软件版本信息等,重复的数据将会进行累加。
5.根据权利要求1所述的针对Java语言的软件缺陷信息检测与提取方法,其特征在于,所述步骤六中生成的报告通过mergy.py程序进行关联,关联的最终结果生成最终的Result.xls报告文件。
CN201911060906.1A 2019-11-01 2019-11-01 一种针对Java语言的软件缺陷检测与提取方法 Pending CN110825633A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911060906.1A CN110825633A (zh) 2019-11-01 2019-11-01 一种针对Java语言的软件缺陷检测与提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911060906.1A CN110825633A (zh) 2019-11-01 2019-11-01 一种针对Java语言的软件缺陷检测与提取方法

Publications (1)

Publication Number Publication Date
CN110825633A true CN110825633A (zh) 2020-02-21

Family

ID=69552008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911060906.1A Pending CN110825633A (zh) 2019-11-01 2019-11-01 一种针对Java语言的软件缺陷检测与提取方法

Country Status (1)

Country Link
CN (1) CN110825633A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338657A (zh) * 2020-02-26 2020-06-26 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN112199115A (zh) * 2020-09-21 2021-01-08 复旦大学 基于特征相似度匹配的跨Java字节码和源代码行关联方法
CN112597011A (zh) * 2020-12-16 2021-04-02 测点大数据(苏州)有限公司 一种基于多语言的算子测试用例生成和优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838671A (zh) * 2014-01-26 2014-06-04 北京理工大学 一种基于复杂网络的软件缺陷度量方法
CN105808435A (zh) * 2016-03-08 2016-07-27 北京理工大学 一种基于复杂网络的软件缺陷评估模型的构建方法
EP3392780A2 (en) * 2017-04-19 2018-10-24 Tata Consultancy Services Limited Systems and methods for classification of software defect reports

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838671A (zh) * 2014-01-26 2014-06-04 北京理工大学 一种基于复杂网络的软件缺陷度量方法
CN105808435A (zh) * 2016-03-08 2016-07-27 北京理工大学 一种基于复杂网络的软件缺陷评估模型的构建方法
EP3392780A2 (en) * 2017-04-19 2018-10-24 Tata Consultancy Services Limited Systems and methods for classification of software defect reports

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338657A (zh) * 2020-02-26 2020-06-26 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN111338657B (zh) * 2020-02-26 2023-12-01 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN112199115A (zh) * 2020-09-21 2021-01-08 复旦大学 基于特征相似度匹配的跨Java字节码和源代码行关联方法
CN112597011A (zh) * 2020-12-16 2021-04-02 测点大数据(苏州)有限公司 一种基于多语言的算子测试用例生成和优化方法
CN112597011B (zh) * 2020-12-16 2024-04-16 测点大数据(苏州)有限公司 一种基于多语言的算子测试用例生成和优化方法

Similar Documents

Publication Publication Date Title
Koyuncu et al. Fixminer: Mining relevant fix patterns for automated program repair
Youm et al. Improved bug localization based on code change histories and bug reports
US8984485B2 (en) Analysis of source code changes
US20200019494A1 (en) Method and apparatus for performing test by using test case
US10521224B2 (en) Automatic identification of relevant software projects for cross project learning
US10387236B2 (en) Processing data errors for a data processing system
CN110825633A (zh) 一种针对Java语言的软件缺陷检测与提取方法
US20140109053A1 (en) Identifying high impact bugs
Ferenc et al. A public unified bug dataset for java and its assessment regarding metrics and bug prediction
Imtiaz et al. How do developers act on static analysis alerts? an empirical study of coverity usage
Meurice et al. Static analysis of dynamic database usage in java systems
Cheung et al. Development nature matters: An empirical study of code clones in JavaScript applications
Nagy et al. SQLInspect: A static analyzer to inspect database usage in Java applications
Jashki et al. Towards a more efficient static software change impact analysis method
CN110851830B (zh) 基于指令格式识别的面向cpu未公开指令发现方法
CN112328259A (zh) 一种编译时长的处理方法和装置
CN116578980A (zh) 基于神经网络的代码分析方法及其装置、电子设备
CN112631925B (zh) 一种单变量原子违背缺陷的检测方法
Yamashina et al. SHINOBI: A real-time code clone detection tool for software maintenance
CN113127003A (zh) 代码异常告警方法、装置、设备及存储介质
Leuenberger et al. Harvesting the wisdom of the crowd to infer method nullness in Java
CN110717032A (zh) 多系统的方法调用链路图的生成及显示方法
CN115982058B (zh) 一种计算流体力学代码错误定位方法、装置、设备及介质
CN117827684B (zh) 数据计算作业的预警方法、装置、电子设备及存储介质
He et al. A coverage and slicing dependencies analysis for seeking software security defects

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200221

RJ01 Rejection of invention patent application after publication