Method and system for monitoring software version quality based on parasitic parameter extraction difference
By introducing automation tools in the software testing in the field of chip design, the software version quality is monitored based on parasitic parameters, and the problems of low efficiency and poor accuracy of manual testing in the existing technology are solved, and efficient and accurate software version testing is achieved.
Patent Information
- Application Number
- CN202510318456.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2025-06-17
AI Technical Summary
The lack of automation tool support in software testing in the field of chip design in the prior art leads to inefficient and error-prone manual screening and differential analysis, affecting the accuracy of test results.
Provide a method and system for extracting differences based on parasitic parameters. By automatically executing test cases, generating test results, tracing and positioning the difference version of parasitic parameters extraction accuracy, dynamically selecting the benchmark version set, and calculating the difference ratio to generate a test report.
It improves the efficiency and accuracy of software testing, automates the version testing process, saves human resources, and ensures the reliability of test results.
Smart Images

Figure CN120162079A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of integrated circuit EDA (Electronic Design Automation), and particularly to a method and system for monitoring the quality of software versions based on the extraction difference of parasitic parameters. Background Art
[0002] In the field of chip design, chip parasitic parameters are additional parameters generated due to factors such as manufacturing processes, packaging methods, and circuit layouts. These parameters include interconnect resistance (R) and interconnect capacitance (C), which have important impacts on the performance and functions of chips. During the software development process of EDA, different versions often have precision differences in the extraction results of parasitic parameters, and it is necessary to locate and trace the different versions (software testing) to improve software quality.
[0003] Current software testing methods usually require manual screening of versions and configuration of environments. Difference analysis needs to be processed manually, lacking support from automated tools, with low efficiency and being error-prone. At the same time, it causes a waste of human resources. The complexity of environment configuration may also lead to inconsistent environments between different versions, affecting the accuracy of test results. Summary of the Invention
[0004] In order to solve the defects of the prior art, the purpose of the present invention is to provide a method and system for monitoring the quality of software versions based on the extraction difference of parasitic parameters, which can automatically execute test cases and generate test results, effectively trace and locate different versions with precision differences in parasitic parameter extraction, and improve test efficiency and accuracy.
[0005] To achieve the above purpose, on the one hand, the present invention provides a method for monitoring the quality of software versions based on the extraction difference of parasitic parameters, including the following steps:
[0006] Screen corresponding software versions from the version library according to the date range, and configure the software packages and environment files required for each version to run;
[0007] Obtain test cases according to the running test case path and generate multiple copies of test cases. Submit each copy of the test case to the server and run it with the configured software packages and environment files corresponding to the version to obtain the running results; the running results at least include the extracted parasitic parameter values;
[0008] Store the running results of each test case in the local database, and dynamically select a set of reference versions according to the similarity of the parasitic parameter values;
[0009] Calculate the difference ratio of the running results of each version and the set of reference versions, and generate a test report.
[0010] Further, the step of screening out corresponding software versions from the repository according to the input date range and configuring the software packages and environment files required for each version to run further includes:
[0011] Automatically screen out software versions within a specified date range from the repository through the API of the version control system;
[0012] Use a script to automatically configure the environment for each version.
[0013] Further, the step of obtaining test cases according to the input test case execution path, generating multiple test case copies, submitting each test case copy to the server, and running with the configured corresponding version of software packages and environment files to obtain the running results further includes:
[0014] Use a script to automatically generate multiple test case copies and assign a unique identifier to each test case copy;
[0015] Use the task scheduling system to distribute the test case copies to multiple servers for parallel execution.
[0016] Further, it also includes: managing the submission and execution status of each test case through a message queue.
[0017] Further, the step of storing the running results of each test case in the local database and dynamically selecting the benchmark version set according to the similarity of the parasitic parameter values further includes:
[0018] Create a local database for multiple running test cases;
[0019] Store the results of each test case in the local database and add a version identifier and timestamp to each result;
[0020] Screen the results of different versions through a similarity algorithm and a set threshold, and dynamically select the versions that meet the threshold conditions as the benchmark version set.
[0021] Further, the step of calculating the difference ratio of the running results of each version and the benchmark version set and generating a test report further includes:
[0022] Use a script to automatically calculate the difference ratio of the results of each version and the benchmark version;
[0023] Judge whether the version passes the test according to the set threshold and automatically generate a report containing version information.
[0024] Further, it further includes: if the difference ratio is less than the set threshold, it is determined that the corresponding version is a passed version; otherwise, it is determined that the corresponding version is a problem version, and a visualization report including the version number and the difference ratio is generated through a report generation tool.
[0025] On the other hand, the present invention also provides a system for monitoring the quality of software versions by extracting differences based on parasitic parameters, including:
[0026] A version management module, used for screening versions and configuring environments;
[0027] A test case management module, used for obtaining test cases according to the running test case path and generating test case copies, and distributing the test case copies to a server group;
[0028] A result storage and analysis module, used for storing the running results of each test case, calculating similarity, and selecting a reference version;
[0029] A difference analysis and report generation module, used for calculating the difference ratio between the running results of each version and the reference version, making threshold judgments, and generating test reports.
[0030] On the other hand, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor is used to execute the computer program stored in the memory to implement the method steps of monitoring the quality of software versions by extracting differences based on parasitic parameters as described above.
[0031] On the other hand, the present invention also provides a computer-readable storage medium, in which a computer program is stored. The computer program is loaded and executed by a processor to implement the method steps of monitoring the quality of software versions by extracting differences based on parasitic parameters as described above.
[0032] The method for monitoring the quality of software versions by extracting differences based on parasitic parameters provided by the present invention has the following beneficial effects compared with the prior art:
[0033] By automatically executing test cases and generating test results, it effectively traces and locates the difference versions of the parasitic parameter extraction values, facilitating the optimization and management of the test software. At the same time, it solves the problem of low efficiency of manual testing and saves human resources.
[0034] Other features and advantages of the present invention will be described in the following specification, and part of them will become obvious from the specification or be understood by implementing the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation to the present invention. In the accompanying drawings:
[0036] Figure 1 is a flowchart of a method for monitoring the quality of software versions based on parasitic parameter extraction differences according to an embodiment of the present invention;
[0037] Figure 2 is a schematic diagram of an automated test process according to an embodiment of the present invention;
[0038] Figure 3 is a schematic diagram of the system structure for monitoring the quality of software versions based on parasitic parameter extraction differences according to an embodiment of the present invention;
[0039] Figure 4 is a schematic diagram of the structure of an electronic device according to an embodiment of the present invention. Detailed Embodiments
[0040] The following describes the preferred embodiments of the present invention with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present invention and are not used to limit the present invention.
[0041] The embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, these embodiments are provided to more thoroughly and completely understand the present invention. It should be understood that the drawings and embodiments of the present invention are only for exemplary purposes and are not used to limit the protection scope of the present invention.
[0042] As used herein, the term "including" and its variants are open-ended, that is, "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0043] It should be noted that the modifications of "one" and "multiple" that may be mentioned in the present invention are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly stated in the context, it should be understood as "one or more". "Multiple" should be understood as two or more.
[0044] In an embodiment of the present invention, a method for monitoring the quality of software versions based on parasitic parameter extraction differences is provided, including: screening out corresponding software versions from a version library according to a date range, and configuring software packages and environment files required for running each version; obtaining test cases according to a running test case path and generating multiple test case copies, submitting each test case copy to a server, and running it with the configured software packages and environment files corresponding to the version to obtain a running result; the running result at least includes the extracted parasitic parameter values; storing the running results of each test case in a local database, and dynamically selecting a set of benchmark versions according to the similarity of the parasitic parameter values; calculating the difference ratio between the running results of each version and the set of benchmark versions, and generating a test report.
[0045] Figure 1 FIG. is a flowchart of a method for monitoring the quality of software versions based on parasitic parameter extraction differences according to an embodiment of the present invention. The following will be combined with Figure 1 to describe the specific embodiments of the present invention in detail.
[0046] First, in step 101, parse the date range of the input test software version, screen out the corresponding software version (released) from the version library, and configure the software packages and environment files required for running each version.
[0047] In an embodiment of the present invention, through the API (Application Programming Interface, a set of definitions, programs, and protocols, and computer software communicates with each other through the API interface) of the version control system, automatically screen out software versions within a specified date range from the version library; use a script (written using an automated deployment tool) to automatically configure the environment of each version.
[0048] Furthermore, to ensure the consistency of the environment, package the environment files of each version through containerization.
[0049] In step 102, obtain test cases (test cases) from the running test case path, generate multiple test case copies, so that each software version corresponds to a test case copy.
[0050] In an embodiment of the present invention, the test cases include layout and process files of chip design, etc. Use a script to automatically generate multiple test case copies, and assign a unique identifier to each test case copy, supporting test case tracking, reuse, and test case management, improving the organization and readability of test cases, and facilitating automated testing, test report generation, and problem tracking.
[0051] In step 103, submit each test case copy to a server and run it with the configured software packages and environment files corresponding to the version.
[0052] In an embodiment of the present invention, a task scheduling system is used to copy and distribute test cases to a server group, and execute them in parallel on multiple servers with a configured software package and environment file of the corresponding version, improving the test efficiency.
[0053] Further, in order to ensure the efficient execution of tasks, the submission and execution status of each test case copy are managed through a message queue.
[0054] In step 104, the running results of each test case are stored in a local database, and a set of reference versions is dynamically selected according to the similarity of parasitic parameter values.
[0055] In an embodiment of the present invention, a local database is established for each running test case to store its running results (the results are the extracted parasitic parameter RC data) and mark the results. Specifically, the running results of each test case are stored in the local database, and a version identifier and a timestamp are added to each result. The version identifier is used to uniquely identify the software version, which can support version tracking, comparison, rollback, and parallel management. Combined with the timestamp, it can achieve more refined version management, test result analysis, and problem tracking.
[0056] In an embodiment of the present invention, the similarity refers to the degree of proximity of the RC values of the results of different versions. Different versions of results are screened through a similarity algorithm (such as the interquartile range method (IQR)), and versions with large deviations are filtered out according to a set threshold, and versions that meet the threshold are dynamically selected as a set of reference versions (the versions in this set are used as reference versions). For example, there are 8 versions of data, sorted as [4, 15, 18, 21, 22, 25, 27, 100]. It can be seen that the median of the overall data distribution is between 21 - 27, and 4 and 100 can be regarded as outliers with large deviations. Through the interquartile range method (IQR) (or other data screening methods that can achieve the same effect), the outlier data with large deviations is stripped off to obtain a set of versions with relatively close values.
[0057] Further, the set of reference versions is updated regularly to ensure that it represents the latest set of high-quality versions.
[0058] In step 105, the difference ratio between the running results of each version and the set of reference versions is calculated, and a test report is generated.
[0059] In an embodiment of the present invention, a script is used to automatically calculate the difference ratio between the running results of each version and the running results of the reference version, determine whether the version passes the test according to a set threshold, and automatically generate a report containing version information. Specifically, if the difference ratio is less than the set threshold, the corresponding version is determined to be a passing version; otherwise, the corresponding version is determined to be a problem version, and a visualization report containing the version number and the difference ratio is generated through a report generation tool for easy analysis by testers.
[0060] The method for monitoring the quality of software versions based on the extraction difference of parasitic parameters according to the present invention is used to implement automated software version testing, such as Figure 2 shown, to make software version testing and quality monitoring intelligent and improve testing efficiency.
[0061] In an embodiment of the present invention, a system for monitoring the quality of software versions based on the extraction difference of parasitic parameters is further provided, which is used to automatically perform software testing, screen versions with large differences in the accuracy of parasitic parameters, and dynamically monitor the quality of software versions.
[0062] Figure 3 FIG. is a schematic structural diagram of a system for monitoring the quality of software versions based on the extraction difference of parasitic parameters according to an embodiment of the present invention. As Figure 3 shown, the system 300 for monitoring the quality of software versions based on the extraction difference of parasitic parameters includes: a version management module 301, a test case management module 302, a result storage and analysis module 303, and a difference analysis and report generation module 304. Among them, the version management module 301 is used to screen versions and configure the environment; the test case management module 302 is used to generate a test case copy according to the input running test case (each software version corresponds to a test case copy) and distribute the test case copy to the server group; the result storage and analysis module 303 is used to store the running results of each test case, perform similarity calculation, and select a reference version; the difference analysis and report generation module 304 is used to calculate the difference ratio between the results of each version and the results of the reference version, perform threshold judgment, and generate a test report.
[0063] In an embodiment of the present invention, an electronic device is further provided. Figure 4 FIG. is a schematic structural diagram of an electronic device according to an embodiment of the present invention. As Figure 4 shown, the electronic device of the present invention includes a processor 401 and a memory 402, wherein
[0064] the memory 402 stores a computer program, and when the computer program is read and executed by the processor 401, it executes the steps in the method embodiment for monitoring the quality of software versions based on the extraction difference of parasitic parameters as described above.
[0065] In an embodiment of the present invention, a computer-readable storage medium is further provided. The computer-readable storage medium stores a computer program, wherein the computer program is set to execute the steps in the method embodiment for monitoring the quality of software versions based on the extraction difference of parasitic parameters as described above when running.
[0066] In this embodiment, the computer-readable storage medium may include, but is not limited to: various media that can store computer programs such as USB flash drives, read-only memory (ROM for short), random access memory (RAM for short), mobile hard disks, magnetic disks, or optical discs.
[0067] Those of ordinary skill in the art can understand that the foregoing are only preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, for those skilled in the art, they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A method for monitoring software version quality based on parasitic parameter extraction differences, characterized in that: The following steps are involved: Filter the corresponding software versions from the version library according to the date range, and configure the software packages and environment files required for each version to run; Obtaining a test case according to the test case running path and generating multiple test case copies, submitting each test case copy to the server, running with the configured corresponding version of the software package and environment file, and obtaining the running result; the running result at least includes the parasitic parameter value obtained by extraction; The running result of each test case is stored in a local database, and a benchmark version set is dynamically selected according to the similarity of the parasitic parameter values; Calculate the difference ratio between each version and the benchmark version set, and generate a test report.
2. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 1 is characterized in that: The step of filtering out corresponding software versions from the version library according to the input date range and configuring the software packages and environment files required for running each version further includes: Automatically filter software versions within a specified date range from the version library through the version control system API; Use scripts to automatically configure the environment for each version.
3. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 1 is characterized in that: The step of obtaining a test case and generating multiple test case copies according to the input test case running path, submitting each test case copy to the server, running the test case with the configured corresponding version of the software package and environment file, and obtaining the running result further includes: Use scripts to automatically generate multiple copies of test cases and assign unique identifiers to each copy of the test case. The task scheduling system is used to distribute test case copies to multiple servers for parallel execution.
4. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 3 is characterized in that: Also includes: The submission and execution status of each test case is managed through the message queue.
5. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 1 is characterized in that: The step of storing the running result of each test case in a local database and dynamically selecting a benchmark version set according to the similarity of the parasitic parameter values further includes: Create a local database for multiple running test cases; Storing the result of each test case in the local database and adding a version identifier and a timestamp to each result; The results of different versions are screened through the similarity algorithm and the set threshold, and the versions that meet the threshold conditions are dynamically selected as the baseline version set.
6. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 1 is characterized in that: The step of calculating the difference ratio between the running results of each version and the benchmark version set and generating a test report further includes: Use scripts to automatically calculate the difference ratio between each version result and the baseline version result; Determine whether the version has passed the test based on the set threshold, and automatically generate a report containing version information.
7. The method for monitoring software version quality based on parasitic parameter extraction difference according to claim 6 is characterized in that: Also includes: If the difference ratio is less than the set threshold, the corresponding version is determined to be a passed version, otherwise the corresponding version is determined to be a problem version, and a visual report including the version number and difference ratio is generated through a report generation tool.
8. A system for monitoring software version quality based on parasitic parameter extraction differences, characterized in that: include: Version management module, used to filter versions and configure environments; A test case management module is used to obtain test cases according to the running test case path and generate test case copies, and distribute the test case copies to the server group; The result storage and analysis module is used to store the running results of each test case, perform similarity calculations, and select the benchmark version; The difference analysis and report generation module is used to calculate the difference ratio between the running results of each version and the baseline version, make threshold judgments and generate test reports.
9. An electronic device comprising a processor and a memory, and a computer program stored in the memory and executable on the processor, characterized in that: The processor is used to execute the computer program stored in the memory to implement the method steps of monitoring software version quality based on parasitic parameter extraction differences as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, which is loaded and executed by a processor to implement the method steps for monitoring software version quality based on parasitic parameter extraction differences as described in any one of claims 1 to 7.
Citation Information
Cited By
Method and system for testing direct-current offset compensation circuit of optical transceiving driving chip, and medium
CN121186576A