Python software fuzzy test method based on dynamic type perception

A dynamic type and fuzz testing technology, which is applied in software testing/debugging, software engineering design, error detection/correction, etc., can solve problems such as the lack of fuzzing testing methods, and achieve improved maintainability, robustness, and good control Effect

Active Publication Date: 2019-11-01
NANJING UNIV
View PDF6 Cites 14 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The present invention solves the problem of the current lack of fuzzy testing methods for Python software, and can provide input that triggers potential defects, thereby helping developers to debug and repair defects, and improving the maintainability and robustness of the software, so that it can be more Control the quality of software products well

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Python software fuzzy test method based on dynamic type perception
  • Python software fuzzy test method based on dynamic type perception
  • Python software fuzzy test method based on dynamic type perception

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0043] The inventive method first obtains the source code of the Python software project from github through the git clone command in the version control software git; then carries out lexical analysis and syntax analysis to the source code of the project to generate a corresponding abstract syntax tree; Traverse the generated abstract syntax tree, identify and extract the function definition nodes, and use the tuple F={module, name, args} to record the relevant information of the function definition nodes; then use the dynamic type awareness strategy to generate each function definition F A collection of test cases; finally, execute these test cases to get the execution result report of the test case, get a single test case and its corresponding execution result from the report, and finally perform mutation-based fuzz testing and provide test cases that trigger potential defects according to the test results , so as to assist developers in debugging and software quality assura...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention provides a Python software fuzzy test method based on dynamic type perception. The Python software fuzzy test method comprises the following steps: 1) obtaining a source program code ofan open source Python software project from a gyhub; 2) generating an abstract syntax tree corresponding to the source program code; 3) identifying and extracting a function definition node from the abstract syntax tree; 4) generating parameters by using a dynamic type sensing strategy according to the information of the function definition nodes, and generating a test case set corresponding to the function definition; and 5) executing the test case to generate a test result report, carrying out variation-based fuzzy test according to the result of the test report, and providing a test case with potential defects. According to the method, the problem that a fuzzy test method for Python software is lacked at present is solved, input for triggering potential defects can be provided. A developer is helped to debug and repair the defects. The maintainability and robustness of the software are improved, and therefore the quality of a software product can be better controlled.

Description

technical field [0001] The invention belongs to the field of computer technology, especially the field of software analysis and testing. The invention provides a python language-oriented and dynamic type perception-based python software fuzz testing method, which is used for detecting potential defects in a python software project and providing an input for triggering defects to help developers debug and repair defects. Background technique [0002] Software defects are one of the root causes of network security threats. Flaws are weaknesses in system design, implementation, operation, or management that can be exploited to violate the system's security policy. By attacking security flaws, especially Oday flaws, serious damage and loss can be caused. Software defects have caused serious crisis management problems in many industries such as finance, energy, and healthcare, causing huge losses. Therefore, detecting potential defects is very important for improving program q...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F11/36G06F8/41
CPCG06F8/42G06F8/425G06F11/3684G06F11/3688G06F11/3692
Inventor 陈林罗阳赵恒辉
Owner NANJING UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products