CN114253544A - Verification system and verification method for verification system - Google Patents

Verification system and verification method for verification system Download PDF

Info

Publication number
CN114253544A
CN114253544A CN202011014387.8A CN202011014387A CN114253544A CN 114253544 A CN114253544 A CN 114253544A CN 202011014387 A CN202011014387 A CN 202011014387A CN 114253544 A CN114253544 A CN 114253544A
Authority
CN
China
Prior art keywords
verification
program code
image file
validation
local server
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
CN202011014387.8A
Other languages
Chinese (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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202011014387.8A priority Critical patent/CN114253544A/en
Publication of CN114253544A publication Critical patent/CN114253544A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

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

Abstract

A verification method is used for verifying a system. The verification system comprises a local server, a plurality of verification platforms and a main server. The verification method comprises the steps that the local server receives a program code to compile the program code into a verification mapping file, the local server selects a verification platform from the verification platforms according to the type of the program code, the local server writes the verification mapping file into the selected verification platform, the selected verification platform conducts a group of tests on the verification mapping file to generate a verification report, and the main server generates an updated mapping file according to the verification report.

Description

Verification system and verification method for verification system
Technical Field
The present invention relates to software verification, and more particularly, to a verification system for software verification and a verification method for the verification system.
Background
Software validation is a procedure used in software engineering to ensure program code quality and functionality. After completing the program code, the software developer needs to submit the program code and write the corresponding test program code and/or process the compiler parameters for various verification types. Various verification types such as program code format verification, program code quality verification, compilation verification, basic function verification, and the like often need to be individually verified manually, and also need to be manually executed and set in a plurality of kits, which causes low verification efficiency.
Disclosure of Invention
The invention provides a verification method which is used for a verification system. The verification system comprises a local server, a plurality of verification platforms and a main server. The verification method comprises the steps that a local server receives a program code to compile the program code into a verification image file, the local server selects a verification platform from a plurality of verification platforms according to the type of the program code, the local server writes the verification image file into the selected verification platform, the selected verification platform conducts a group of tests on the verification image file to generate a verification report, and a main server generates an updated image file according to the verification report.
The embodiment of the invention provides a verification system, which comprises a local server, a plurality of verification platforms and a main server. One of the plurality of validation platforms is used to perform a set of tests on the validation image file to generate a validation report. The local server is coupled to the plurality of verification platforms, and is used for receiving program codes, compiling the program codes into a verification image file, selecting the verification platform from the plurality of verification platforms according to the type of the program codes, and writing the verification image file into the verification platform. The main server is coupled to the plurality of verification platforms and used for generating an updated image file according to the verification report.
Drawings
Fig. 1 is a block diagram of a verification system according to an embodiment of the present invention.
FIG. 2 is a block diagram of the verification platform of FIG. 1.
FIG. 3 is a block diagram of one embodiment of the local server of FIG. 1.
Fig. 4 is a block diagram of another embodiment of the local server of fig. 1.
FIG. 5 is a flow chart of an authentication method suitable for use in the authentication system of FIG. 1.
FIG. 6 is a flow chart of another authentication method suitable for use in the authentication system of FIG. 1.
Description of the symbols:
11: authentication system
10: local server
121-12N, 12N: verification platform
14: master server
16: program code
18: updated mapping files
20: non-volatile memory
22: controller
20: input/output device
100: static analysis tool
102: compiler with a plurality of compiler modules
104: platform dispensing tool
106: programming tool
500. 600: verification method
S502 to S510, S602 to S616: step (ii) of
Detailed Description
The embodiments are described in detail in connection with the drawings, the embodiments are illustrative only and are not limiting to the invention, the description of the operations is not intended to limit the execution sequence of the operations, any recombination, and any method or system with equivalent efficacy falls within the scope of the present invention.
Fig. 1 is a block diagram of an authentication system 1 according to an embodiment of the present invention. The verification system 1 is an extensible automatic software verification system, and can select a proper verification platform according to the type of the program code 16 to verify the program code 16 in advance, and after the verification is passed, integrate the program code 16 into other verified program codes to generate an updated image file 18. If the program code 16 is not authenticated, the authentication system 1 may notify the submitter of the program code 16 and the project principal. The program code 16 may be a bottom or top software modification (patch) file, such as a driver's modification file or an android Application Package (APK) modification file. The updated image file 18 may be an execution file. The verification system 1 may include a plurality of verification platforms, and a plurality of verification platforms are allocated for each type of program code 16, thereby achieving multi-pipelining and multi-testing task verification, providing efficient testing task distribution and verification platform management.
The verification system 1 may comprise a local server 10, a plurality of verification platforms 121-12N and a main server 14, wherein N is an integer greater than 2 to represent the next digit following the digit 12, but it should be understood that this is only an example and not a limitation to the number of verification platforms. The local server 10 is coupled to the verification platforms 121-12N, and then the verification platforms 121-12N are coupled to the main server 14.
Each of the verification platforms 121-12N may preset a verification environment for a set of tests of a respective verification type, where the verification type may be related to an application and/or protocol level. For example, the verification type may be a bottom-level functional verification of the television application, such as a functional verification of a kernel code (android code), the verification type may also be a top-level functional verification of the television application, such as a functional verification of an android service program (service code), and the verification type may also be a bottom-level functional verification of the wireless network application, such as a functional verification of a wireless network driver. The verification environment may include parameters, software, and hardware, such as parameters, software, and hardware for testing of television applications. Fig. 2 shows a block diagram of the verification platform 12N, where N is a positive integer less than or equal to N (i.e., N is 1,2,3, …, N). The verification platform 12n may be an embedded system including a non-volatile memory 20, a controller 22, and an input/output device 24. The nonvolatile memory 20 may be an embedded multimedia card (eMMC). The controller 22 may be a processor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a combination thereof. The respective i/o devices 24 of each verification platform 12N may be the same or different, e.g., the i/o device 24 of verification platform 121 may be a television channel selector (television tuner), the i/o device 24 of verification platform 122 may be a wireless network transceiver, and the i/o device 24 of verification platform 12N may be another specific i/o device used in performing a set of tests of the verification type. The non-volatile memory 20 may store verification image files, test parameters, and test software. The controller 22 loads the verification image file, the test parameters and the test software from the non-volatile memory 20 after the boot-up, and controls the input/output device 24 to perform a set of tests on the verification image file according to the test parameters and the test software to generate the verification report. The verification platforms 121 to 12N may be expanded according to actual requirements.
A user may submit program code 16 to the local server 10 through the user interface software of the local server 10. The local server 10 may receive the program code 16 and select at least one verification platform from the verification platforms 121 to 12N to verify the function of the program code 16. Fig. 3 is a block diagram of one embodiment of the local server 10. The local server 10 may include a compiler 102, a platform allocation tool 104, and a programming tool 106. The compiler 102 compiles the program code 16 into a verification image file, which may be an execution file, according to the language type of the program code 16. The compiler 102 may be a GNU compiler set or other programming language compiler. The platform allocation tool 104 may select the verification platform from the verification platforms 121 to 12N depending on the type of the program code 16. The type of program code 16 may be related to an application and/or protocol level. For example, when the program code 16 is android core code, its type can be the bottom layer of a television application; when the program code 16 is an android service program, its type may be an upper layer of a television application; when the program code 16 is a wireless network driver, its type can be the bottom layer of a wireless network application. In some embodiments, the type of program code 16 may be recorded in an annotation of program code 16. In other embodiments, the type of program code 16 may be entered into the user interface software of the local server 10 by the user at the same time that the user uploads the program code 16 to the local server 10. In some embodiments, platform distribution tool 104 may select a verification platform based on the type of program code 16 and the corresponding verification type of verification platforms 121-12N. For example, platform assignment tool 104 may match the type of program code 16 with the corresponding verification types of verification platforms 121 through 12N, and when the type of program code 16 is the same as the corresponding verification type of verification platform 12p, platform assignment tool 104 may select verification platform 12p as the verification platform, p being a positive integer less than or equal to N. In other embodiments, the platform allocation tool 104 may select the verification platform according to the type of the program code 16, the corresponding verification type of the verification platforms 121 to 12N, and the corresponding schedule of the verification platforms 121 to 12N. For example, platform allocation tool 104 may match the type of program code 16 with the corresponding verification types of verification platforms 121-12N, and when the type of program code 16 is the same as the corresponding verification types of verification platforms 12p and 12q, platform allocation tool 104 may select one of verification platforms 12p and 12q whose corresponding schedule is more flexible or less free, e.g., verification platform 12p as the selected verification platform, q is a positive integer less than or equal to N and q is not equal to p. The programming tool 106 may obtain a validation image file from the compiler 102 and write the validation image file to the selected validation platform. The platform allocation tool 104 and the programming tool 106 may be implemented by software, hardware, or a combination thereof.
The selected validation platform may perform a set of tests of its validation type on the validation image file to generate a validation report, and write the validation report to a database in host server 14. For example, when the verification type is a tv application, the set of tests of the verification type may include a tv scan test of a specific country, a tv zap test of a specific country, a picture quality test, a power-on test, an operating environment test, a tv service test, and other tests, and the verification report may include individual test results of the tests. In some embodiments, local server 10 may also write the compilation results to a verification report in the database of primary server 14. In some embodiments, host server 14 may calculate a verification score from the verification report in the database for program code 16. When program code 16 compiles a pass or each test in the set of tests passes, primary server 14 may increase the verification score and verification system 1 may continue with subsequent programs; when program code 16 fails to compile or each test in the set of tests fails, host server 14 may decrease the verification score, verification system 1 may stop subsequent programs, and notify the submitter of program code 16 and the project principal for confirmation. For example, if the program code 16 is successfully compiled, the main server 14 may increase the verification score by 1 (the score is only an example and not a limitation, and the same is applied to the following embodiments), and the local server 10 and the selected verification platform may continue the subsequent verification platform selection and test procedures; if the program code 16 fails to be compiled, the main server 14 may reduce the verification score by 1, and the local server 10 may stop the subsequent verification platform selection and testing processes. Local server 10 may read a verification report or verification score from main server 14, when the verification report indicates that all tests passed or the verification score was full, local server 10 may update program code 16 to main server 14, and main server 14 may generate an updated image file 18 from program code 16; when the validation report indicates that one or more tests failed or that the validation score was not met, local server 10 may not update program code 16 to host server 14 and notify the submitter of program code 16 and the project owner for confirmation, and host server 14 may generate updated image file 18 based on the program code that previously passed the set of tests. Host server 14 may have stored thereon a plurality of authenticated program codes, each of which may be associated with the same or different application or protocol levels. In some embodiments, when the verification report indicates that the program code 16 passes the set of tests, the host server may generate an updated image file 18 based on the program code 16 and other verified program code. Other authenticated program code and program code 16 may be associated with different application or protocol levels.
Fig. 4 is a block diagram of another embodiment of the local server 10. The difference between the local server 10 of fig. 4 and fig. 3 is that the local server 10 of fig. 4 further includes a static analysis tool 100, and the static analysis tool 100 is explained below. The static analysis tool 100 may receive the program code 16 to determine whether the program code 16 complies with a set of programming rules before the program code 16 is compiled, thereby ensuring the program code quality of the program code 16. For example, the set of programming rules may include program language annotation (comment) rules, memory misses, unused variables, unused functions, out-of-bound variables, c-language grammar rules, java language grammar rules, other program language grammar rules, program writing style (coding style) rules, and other extensible programming rules. The programming rules may be extended according to actual requirements. Static analysis tool 100 may write the determination of each programming rule into a verification report in the database of host server 14. When the program code 16 conforms to each rule of the set of programming rules, the host server 14 may increase the verification score and the verification system 1 may continue with the subsequent process; when the program code 16 does not conform to each rule of the set of programming rules, the host server 14 may decrease the verification score, the verification system 1 may stop subsequent processes, and notify the submitter of the program code 16 and the project principal for confirmation. For example, if the program code 16 complies with the annotation rules of the programming language, the host server 14 may increase the verification score by 1 point, and the compiler 102 may continue to compile the program code 16 into a verification image file; if the program code 16 does not conform to the annotation rules of the programming language, the host server 14 may decrease the verification score by 1, and the compiler 102 may stop compiling the program code 16 into the verification image file. The static analysis tool 100 may be implemented in software, hardware, or a combination thereof.
The verification system 1 allocates corresponding verification platforms according to the types of the program codes 16 to perform different tests, so as to realize multi-pipelining and multi-test task verification and provide efficient test task distribution and verification platform management. In addition, the verification system 1 may further perform a verification procedure of the programming rule through the static analysis tool 100 of the local server 10, so as to further ensure the program code quality of the program code 16.
Fig. 5 is a flow chart of an authentication method 500 suitable for the authentication system 1. The verification method 500 includes steps S502 to S510 for selecting a verification platform according to the type of the program code 16 for performing corresponding verification to generate a verification report, and generating the updated image file 18 according to the verification report. Any reasonable variation of techniques or steps is within the scope of the present disclosure. The details of steps S502 to S510 are as follows:
step S502: the local server 10 receives the program code 16 to compile the program code 16 into a validation image file;
step S504: the local server 10 selects a verification platform from the plurality of verification platforms 121 to 12N according to the type of the program code 16;
step S506: the local server 10 writes the verification image file into the selected verification platform;
step S508: the selected validation platform 12n performs a set of tests on the validation image file to generate a validation report;
step S510: host server 14 generates updated image file 18 based on the validation report.
The details of steps S502 to S510 are described in the foregoing paragraphs, and are not described herein again. The verification method 500 distributes corresponding verification platforms according to various types of the program codes 16 to perform different tests, thereby achieving multi-pipelining and multi-test task verification, and providing efficient test task distribution and verification platform management.
Fig. 6 is a flow chart of another authentication method 600 suitable for use in the authentication system 1. The verification method 600 includes steps S602 to S616, wherein steps S602 and S604 are used to determine whether the program code 16 meets the programming rule before the program code 16 is compiled into the verification image file; steps S606 to S616 are used to compile the program code 16 into a verification image file, select a verification platform according to the type of the program code 16 to verify the verification image file to generate a verification report, and generate the updated image file 18 according to the verification report. Any reasonable variation of techniques or steps is within the scope of the present disclosure. The details of steps S602 to S616 are as follows:
step S602: the local server 10 receives the program code 16;
step S604: is program code 16 in compliance with at least one set of programming rules? If yes, continue step S606; if not, the verification method 600 ends;
step S606: the local server 10 compiles the program code 16 into a validation image file;
step S608: the local server 10 selects a verification platform from the plurality of verification platforms 121 to 12N according to the type of the program code 16;
step S610: the local server 10 writes the verification image file into the selected verification platform;
step S612: the selected verification platform performs a set of tests on the verification image file to generate a verification report;
step S614: the validation report shows that does the validation image file pass the set of tests? If yes, go to step S616; if not, the verification method 600 ends;
step S616: host server 14 generates an updated image file based on program code 16 and other verified program code.
The details of steps S602 to S616 are described in the foregoing paragraphs, and are not described herein again. The verification method 600 integrates the verification program of the programming rule before the program code 16 is compiled and the verification program of the verification platform after the program code is compiled, thereby ensuring the program code quality and functions of the program code 16, simultaneously realizing the verification of multiple pipelining and multiple testing tasks, and providing efficient testing task distribution and verification platform management.
Although the present disclosure has been described with reference to the specific embodiments, it should be understood that the present disclosure is not limited thereto, and that various changes and modifications can be made by one skilled in the art without departing from the spirit and scope of the present disclosure.

Claims (10)

1. An authentication method for an authentication system, the authentication system comprising a local server, a plurality of authentication platforms, and a main server, the authentication method comprising:
the local server receiving program code to compile the program code into a validation image file;
the local server selects one verification platform from the plurality of verification platforms according to the type of the program code;
the local server writes the verification image file into the selected verification platform;
the selected validation platform performing a set of tests on the validation image file to generate a validation report; and
and the master server generates an updated image file according to the verification report.
2. The validation method of claim 1, wherein the step of the local server receiving the program code to compile the program code into the validation image file comprises:
determining whether the program code complies with a set of programming rules; and
if the program code conforms to the set of programming rules, the local server compiles the program code into the verification image file.
3. The authentication method as recited in claim 1, wherein the step of the local server selecting the authentication platform from the plurality of authentication platforms based on the type of the program code comprises:
the local server selects the verification platform according to the type of the program code and a plurality of corresponding verification types of the plurality of verification platforms.
4. The authentication method of claim 3, wherein the authentication type is associated with a protocol hierarchy of the program code.
5. The authentication method of claim 3, wherein the authentication type is related to an application of the program code.
6. The validation method of claim 1, wherein the master server generating the updated image file based on the validation report comprises:
when the verification report shows that the program codes pass the group test, the main server generates the updated image file according to the program codes and other program codes passing the verification.
7. An authentication system, comprising:
a plurality of validation platforms, one of the plurality of validation platforms to perform a set of tests on a validation image file to generate a validation report;
a local server, coupled to the plurality of verification platforms, for:
receiving program code to compile the program code into a validation image file;
selecting the verification platform from the plurality of verification platforms according to the type of the program code; and
writing the validation image file to the validation platform; and
the master server is coupled to the plurality of verification platforms and used for generating an updated image file according to the verification report.
8. The authentication system of claim 7, wherein:
the local server determines whether the program code complies with a set of programming rules, and if the program code complies with the set of programming rules, the local server compiles the program code into the verification image file.
9. The authentication system of claim 7, wherein:
the local server selects the verification platform according to the type of the program code and a plurality of corresponding verification types of the plurality of verification platforms.
10. The authentication system of claim 7, wherein:
when the verification report shows that the program codes pass the group test, the main server generates the updated image file according to the program codes and other verified program codes.
CN202011014387.8A 2020-09-24 2020-09-24 Verification system and verification method for verification system Pending CN114253544A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011014387.8A CN114253544A (en) 2020-09-24 2020-09-24 Verification system and verification method for verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011014387.8A CN114253544A (en) 2020-09-24 2020-09-24 Verification system and verification method for verification system

Publications (1)

Publication Number Publication Date
CN114253544A true CN114253544A (en) 2022-03-29

Family

ID=80789952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011014387.8A Pending CN114253544A (en) 2020-09-24 2020-09-24 Verification system and verification method for verification system

Country Status (1)

Country Link
CN (1) CN114253544A (en)

Similar Documents

Publication Publication Date Title
US9342295B2 (en) Dynamic software updates
CN111651366B (en) SDK test method, device, equipment and storage medium
CN111158674B (en) Component management method, system, device and storage medium
US7614042B1 (en) System and method for selecting applicable tests in an automation testing system
CN108874438B (en) Patch generation method and device, electronic equipment and computer storage medium
US8677348B1 (en) Method and apparatus for determining least risk install order of software patches
CN108959059B (en) Test method and test platform
US20100199267A1 (en) Sizing an infrastructure configuration optimized for a workload mix using a predictive model
US20030028772A1 (en) Method for generating a read only memory image
CN102880546A (en) Software integration testing method and system based on extensible markup language (XML) database
JP2007511816A (en) Dynamic addressing (DA) using centralized DA manager
CN112685410A (en) Business rule checking method and device, computer equipment and storage medium
CN111104155A (en) Database script management platform and method, electronic equipment and storage medium
CN114253544A (en) Verification system and verification method for verification system
TWI749774B (en) Verification system and verification method thereof
CN109496417A (en) Data test method, apparatus, equipment/terminal/server and computer readable storage medium
CN110806891B (en) Method and device for generating software version of embedded device
CN103064783A (en) System and method to carry out function tests by means of repeatedly used dynamic link library (DLL)
KR101231746B1 (en) Software Development system in SaaS environment
CN115794384A (en) Code compiling task allocation method, device, equipment and storage medium
CN100359485C (en) Testing device and method for flush-bonding system
CN105301480A (en) Test method of SOC chip
CN114995828A (en) Intelligent contract online calling method, system, medium and equipment
CN116700771B (en) Remote development management method, remote development management apparatus, and readable storage medium
KR102385706B1 (en) Apparatus and method for suitability test of virtual network function

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