A software full life cycle copyright control method and system based on blockchain

Through the blockchain-based software full life cycle copyright control method, the problem of difficulty in verifying software originality and detecting code theft is solved, efficient analysis and misuse detection of software code is achieved, and fair competition in the software market is ensured. Sustainable development.

CN118965300BActive Publication Date: 2024-12-20YIBANQUAN
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411439545.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-15
Publication Date
2024-12-20
Estimated Expiration
2044-10-15

AI Technical Summary

Technical Problem

Traditional software copyright control methods are difficult to verify the originality and technicality of the software, and it is difficult to accurately and efficiently detect whether the code is misappropriated.

Method used

Adopt blockchain-based software full-life cycle copyright control method, and use blockchain technology to perform identity evaluation, code hash value calculation, through identity authentication, software copyright declaration, code theft detection, software copyright transfer and software release management modules, Similarity detection and comprehensive analysis, establish a comprehensive analysis model for code theft, judge whether there is any misappropriation of code, and support the legal transfer and query of software copyright.

Benefits of technology

It realizes a comprehensive scanning and analysis of software code, clearly and intuitively reflects whether the code is misappropriated, and evaluates the software quality through the software release management module, provides data support for copyright protection, and ensures fair competition and sustainable development in the software market.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118965300B_ABST
    Figure CN118965300B_ABST
Patent Text Reader

Abstract

The present invention discloses a software full life cycle copyright control method and system based on blockchain, which specifically relates to the field of blockchain, including an identity authentication module, a software copyright declaration module, a code theft detection module, a software copyright transfer module, a software copyright query module, a source code interface management module, and a software release management module. The identity information security of the software copyright owner is evaluated through the identity authentication module, the relevant information of the software is declared through the software copyright declaration module, the software code is comprehensively scanned and analyzed through the code theft detection module to determine whether the software has code theft, the software copyright is transferred and queried through the software copyright transfer module and the software copyright query module, the activities in the source code library are monitored in real time through the source code interface management module, the software release process is managed through the software release management module, the quality of the software is evaluated, and evidence support is provided for copyright protection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and more specifically, to a software full life cycle copyright control method and system based on blockchain. Background Art

[0002] With the rapid progress of information technology, computer software has become an indispensable part of modern society. The widespread application and popularization of software make software copyright protection particularly important. The rapid rise of the software industry has provided a broad space for the development of software copyright management. More and more companies, individuals and teams have invested in software development, forming a huge software industry ecosystem. In order to protect the healthy development of this ecosystem, strengthening software copyright management has become an inevitable choice. With the improvement of awareness of software copyright protection, governments and relevant institutions of various countries have continuously improved relevant laws, providing strong legal protection for software copyright management.

[0003] Traditional software copyright control methods and systems include copyright registration and management modules, authority control modules, technical protection measures modules, infringement detection and response modules, data analysis and reporting modules, and user management and service modules. The copyright registration and management module is responsible for the registration, review, change and cancellation of software copyrights. The authority control module performs fine-grained control over the use rights of the software to ensure that only users with corresponding permissions can access and use the software. The technical protection measures module uses encryption, digital signatures, watermarks and other technical means to protect the software and prevent it from being illegally copied, distributed or tampered with. The infringement detection and response module establishes an infringement monitoring mechanism to promptly discover and deal with potential infringements. The data analysis and reporting module performs data analysis on the use of the software and generates detailed reports to provide decision-making support for software developers. The user management and service module manages user information and provides user support and services. It can effectively protect the rights and interests of software creators, prevent illegal copying, distribution and tampering, and ensure fair competition and sustainable development in the software market.

[0004] However, in actual use, it still has some shortcomings, such as the inability to verify the availability of the software. Traditional software copyright control methods and systems mainly adopt a filing system, and the review of the originality and technicality of the software content itself is relatively weak, and the availability of the software cannot be verified; it is difficult to deal with software infringements. Traditional software copyright control methods and systems cannot accurately and efficiently detect whether the code has been plagiarized. Summary of the invention

[0005] In order to overcome the above-mentioned defects of the prior art, an embodiment of the present invention provides a software full life cycle copyright control method and system based on blockchain, and solves the problems raised in the above-mentioned background technology through the following scheme.

[0006] To achieve the above objectives, the present invention provides the following technical solution: a software full life cycle copyright control method and system based on blockchain. It includes:

[0007] S1: Identity authentication, evaluate the identity information security of the software copyright owner, and transmit the evaluation results to the blockchain to provide basic information for subsequent management processes;

[0008] S2: Software copyright statement, stating the basic information of the software, development status, method of obtaining rights, technical features of the software and purpose of the software, and submitting software identification materials, using blockchain technology to generate copyright statement records;

[0009] S3: Code theft detection, which conducts comprehensive scanning and analysis of software code, including code hash value calculation, code hash value verification, code similarity detection, comprehensive analysis of code theft, and code theft evaluation and feedback, and stores the obtained data in the blockchain;

[0010] A1: Code hash value calculation: First, standardize the target code, use the SHA-256 algorithm to calculate the target code content, and obtain its hash value. Then, use the distributed ledger technology of blockchain to store the calculated hash value and related metadata on the blockchain.

[0011] A2: Code hash value verification, compare the target code hash value uploaded by the user with the code hash value stored in the blockchain, obtain the number of hash value duplicate blocks in the blockchain, and mark it as N h ;

[0012] A3: Code similarity detection, evaluates the similarity between the target code and different codes, and obtains the number of feature matches, tree edit distance, and number of similar nodes;

[0013] A4: Comprehensive analysis of code theft: Establish a comprehensive analysis model for code theft, conduct a comprehensive analysis on the number of repeated hash value blocks, the number of feature matches, the tree edit distance, and the number of similar nodes, and provide data support for subsequent evaluation and feedback;

[0014] A5: Code theft assessment and feedback, establish code theft warning value y 标 , the code theft comprehensive analysis index and the code theft warning value y 标 By comparison, determine whether the target code has been misappropriated and take relevant measures;

[0015] S4: Software copyright transfer, supports the legal transfer of software copyright and records the transfer information through blockchain;

[0016] S5: Software copyright query, query software copyright according to software type, author, software name and registration number, and perform intelligent retrieval in the blockchain network;

[0017] S6: Source code management interface, interacting with source code, processing and integrating with blockchain technology, using source code management tools to track and manage source code during software development, and monitoring activities in the source code repository in real time;

[0018] S7: Software release management, including software information collection and verification, software parameter collection, software parameter preprocessing, software parameter analysis and software evaluation, used to manage the software release process, evaluate the quality of software, and provide evidence support for copyright protection;

[0019] B1: Software information collection and verification. Before the software is released, the system automatically submits version information, release notes, and dependency libraries to the blockchain, giving each piece of information a unique blockchain and timestamp. By deploying smart contracts to formulate rules, the software information is verified and associated with the copyright statement record on the blockchain to generate a release certificate, which is stored on the blockchain at the same time.

[0020] B2: Software parameter collection, including software quality parameters, software security parameters and software performance parameters;

[0021] B3: Software parameter preprocessing: Establishing a software parameter preprocessing model to perform data preprocessing on the software quality parameters, software security parameters, and software performance parameters collected by the software parameter collection unit;

[0022] B4: Software parameter analysis: Establish a software parameter analysis model, conduct comprehensive processing and analysis on the software quality evaluation value, software security evaluation value and software performance evaluation value obtained by the software parameter preprocessing unit, and calculate the software comprehensive evaluation index;

[0023] B5: Software evaluation, used to construct the standard value of the software comprehensive evaluation index, determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain.

[0024] Preferably, the code similarity detection is performed by using a parser suitable for the target programming language to parse the target source code into an abstract syntax tree, and by comparing the abstract syntax tree of the target code with the abstract syntax tree of the code stored in the blockchain, the number of feature matches, the tree edit distance, and the number of similar nodes are obtained, which are marked as N and N respectively. f 、N t and N s .

[0025] Preferably, the code theft comprehensive analysis establishes a code theft comprehensive analysis model, imports the number of hash value repeated blocks, the number of feature matches, the tree edit distance and the number of similar nodes into the code theft comprehensive analysis model, and assumes that the number of similarities between the code file stored in the blockchain and the target code is n, marked as 1, 2, ..., i, ..., n respectively, and calculates the code theft comprehensive analysis index, which is specifically expressed as:

[0026] ,

[0027] y represents the comprehensive analysis index of code theft of the target code, N hi Indicates the number of blocks with the hash value duplication between the target code and the i-th code file stored in the blockchain, N fi Indicates the number of abstract syntax tree feature matches between the target code and the i-th code file stored in the blockchain, N ti N represents the tree edit distance between the target code and the abstract syntax tree of the i-th code file stored in the blockchain, si represents the number of similar nodes in the abstract syntax tree between the target code and the i-th code file stored in the blockchain. λ1, λ2, λ3 and λ4 represent the influence coefficients of the number of repeated hash value blocks, the number of feature matches, the tree edit distance and the number of similar nodes on the comprehensive analysis index of code theft, respectively.

[0028] Preferably, the code theft evaluation and feedback is performed by comparing the code theft comprehensive analysis index with the code theft warning value y 标 In comparison, when y <y 标 When y>y 标 When it is found, it indicates that the target code has been plagiarized. This is verified by further checking the code submission history, discussion records, and author information, and then reported and handled in accordance with relevant regulations and procedures.

[0029] Preferably, the software quality parameters include the number of code defects, the number of code lines, the number of tested code lines, the number of successful unit tests, and the total number of units, which are marked as C f , C r , C t , C s and C u ; Software security parameters include the number of failures, the number of working times, the average failure time, and the number of security vulnerabilities, which are marked as C i , C w 、T l and N l ; Software performance parameters include response time, throughput, and resource utilization, which are marked as T r , TPS and R u .

[0030] Preferably, the process of data preprocessing by the software parameter preprocessing model is as follows:

[0031] The software quality parameters, software security parameters and software performance parameters are imported into the software parameter preprocessing model to calculate the software quality evaluation value, software security evaluation value and software performance evaluation value. The software quality evaluation value is specifically expressed as:

[0032] ,

[0033] y1 represents the software quality assessment value of the software to be tested, C f Indicates the number of code defects in the software under test, C r Indicates the number of lines of code in the software to be tested, C t Indicates the number of lines of code under test in the software under test, C s Indicates the number of successful unit tests of the software under test, C u Indicates the total number of units of the software to be tested, C f / C r represents the defect density of the tested code, C t / C r Indicates the code coverage of the tested code, C s / C u represents the unit test pass rate of the tested code, α1, α2 and α3 represent the influence coefficients of defect density, code coverage and unit test pass rate on the software quality assessment value respectively; the software security assessment value is specifically expressed as:

[0034] ,

[0035] y2 represents the software security assessment value of the software to be tested, C i represents the number of failures of the software under test within a specific time t, C w Indicates the number of times the software under test works within a specific time t, T l represents the average failure time of the software under test, N l Indicates the number of security vulnerabilities of the software under test, C i / C w represents the software failure rate of the tested software within a specific time t, β1, β2 and β3 represent the influence coefficients of software failure rate, mean failure time and number of security vulnerabilities on the software security evaluation value respectively; the software performance evaluation value is specifically expressed as:

[0036] ,

[0037] y3 represents the software performance evaluation value of the software to be tested, T rrepresents the response time of the software under test, ΔT represents the standard response time of the software under test, TPS represents the throughput of the software under test within a specific time t, and R u represents the resource utilization of the software to be tested, γ1, γ2 and γ3 represent the influence coefficients of response time, throughput and resource utilization on the software performance evaluation value respectively.

[0038] Preferably, the process of calculating the software comprehensive evaluation index by the software parameter analysis model is as follows:

[0039] The software quality evaluation value, software security evaluation value and software performance evaluation value are imported into the software parameter analysis model to calculate the software comprehensive evaluation index, which is specifically expressed as:

[0040] ,

[0041] φ represents the software comprehensive evaluation index of the software to be tested, y1 represents the software quality evaluation value of the software to be tested, y2 represents the software security evaluation value of the software to be tested, y3 represents the software performance evaluation value of the software to be tested, ε1, ε2 and ε3 represent the influence coefficients of software quality evaluation value, software security evaluation value and software performance evaluation value on the software comprehensive evaluation index respectively.

[0042] Preferably, the specific steps of the software evaluation unit determining whether the software to be tested meets the requirements are as follows:

[0043] The standard value of the software comprehensive evaluation index is marked as φ 标 , when φ<φ 标 When φ>φ, it means that the software comprehensive evaluation index is less than the standard value of the software comprehensive evaluation index, indicating that the software does not meet the quality requirements and needs to be improved; when φ>φ 标 , it means that the software comprehensive evaluation index is greater than the software evaluation index standard value, indicating that the software meets the quality requirements.

[0044] Preferably, the software full life cycle copyright control system based on blockchain is characterized by including an identity authentication module, a software copyright declaration module, a code theft detection module, a software copyright transfer module, a software copyright query module, a source code interface management module, and a software release management module:

[0045] Identity authentication module: used to evaluate the identity information security of the software copyright owner and transmit the evaluation results to the blockchain to provide basic information for the subsequent management process;

[0046] Software copyright declaration module: used to declare the basic information of the software, development status, method of obtaining rights, technical characteristics of the software and the purpose of the software, submit software identification materials, and use blockchain technology to generate copyright declaration records;

[0047] Code theft detection module: used to conduct comprehensive scanning and analysis of software codes, including code hash value calculation, code hash value verification, code similarity detection, comprehensive analysis of code theft, and code theft evaluation and feedback, and store the obtained data in the blockchain;

[0048] Software copyright transfer module: used to support the legal transfer of software copyrights and record the transfer information through blockchain;

[0049] Software copyright query module: used to query software copyrights based on software type, author, software name and registration number, and perform intelligent retrieval in the blockchain network;

[0050] Source code interface management module: used to interact with, process and integrate with blockchain technology, use source code management tools to track and manage source code during software development, and monitor activities in the source code library in real time;

[0051] Software release management module: includes software information collection and verification unit, software parameter collection unit, software parameter preprocessing unit, software parameter analysis unit and software evaluation unit, which are used to manage the software release process, evaluate the quality of the software, and provide evidence support for copyright protection.

[0052] Preferably, the software evaluation unit is used to construct a standard value of the software comprehensive evaluation index, and determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain, marking the standard value of the software comprehensive evaluation index as φ 标 , when φ<φ 标 When φ>φ, it means that the software comprehensive evaluation index is less than the standard value of the software comprehensive evaluation index, indicating that the software does not meet the quality requirements and needs to be improved; when φ>φ 标 , it means that the software comprehensive evaluation index is greater than the software evaluation index standard value, indicating that the software meets the quality requirements.

[0053] Technical effects and advantages of the present invention:

[0054] The present invention uses a code theft detection module to comprehensively scan and analyze the software code, uses a code hash value calculation unit to calculate the hash value of the target code, and stores it on the blockchain, obtains relevant data through a code hash value verification unit and a code similarity detection unit, and uses a code theft comprehensive analysis unit to calculate a code theft comprehensive analysis index, and uses an evaluation and feedback unit to establish a code theft warning value y. 标 , the code theft comprehensive analysis index and the code theft warning value y 标 In comparison, it clearly and intuitively reflects whether there is code theft;

[0055] The present invention automatically collects and verifies key information such as software version information, release instructions, and dependency libraries through a software release management module, and evaluates the quality of the software through three aspects: software quality parameters, software security parameters, and software performance parameters. The collected parameters are processed and analyzed by a software parameter preprocessing unit and a software parameter analysis unit to calculate a software comprehensive evaluation index. The software comprehensive evaluation index standard value is constructed by the software evaluation unit to determine whether the quality of the software is qualified, thereby providing data support for copyright protection. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 It is a schematic diagram of the overall structure of the present invention.

[0057] Figure 2 It is a flow chart of the system operation of the present invention.

[0058] Figure 3 The figure is a flow chart of code theft detection of the present invention.

[0059] Figure 4 The software release management flow chart of the present invention. DETAILED DESCRIPTION

[0060] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0061] As attached Figure 1 A blockchain-based software full life cycle copyright control method and system is shown, including an identity authentication module, a software copyright declaration module, a code theft detection module, a software copyright transfer module, a software copyright query module, a source code management interface module and a software release management module.

[0062] The output end of the identity authentication module is respectively connected to the input ends of the software copyright declaration module, the software copyright transfer module and the software copyright query module, the output end of the software copyright declaration module is connected to the input end of the code theft detection module, the output ends of the code theft detection module, the software copyright transfer module and the software copyright query module are respectively connected to the input end of the source code management interface module, and the output end of the source code management interface module is connected to the input end of the software release management module.

[0063] The identity authentication module is used to evaluate the identity information security of the software copyright owner and pass the evaluation results to the blockchain to provide basic information for subsequent management processes.

[0064] It should be specifically explained in this embodiment that the identity authentication module includes a user information submission unit and an identity authentication unit. The specific evaluation process of the identity information security of the software copyright owner is as follows:

[0065] User information submission unit: Users fill in basic information according to the system prompts, upload identity documents as required, and submit the information to the system for review;

[0066] Identity verification unit: Submit basic user information and specified certification materials according to system requirements, and verify through verification code.

[0067] The software copyright declaration module is used to declare the basic information of the software, development status, method of obtaining rights, technical characteristics of the software and purpose of the software, submit software identification materials, and use blockchain technology to generate copyright declaration records.

[0068] It should be specifically explained in this embodiment that the software copyright declaration module includes an information declaration unit, a software development status unit, a rights declaration unit, a software technical characteristics and use unit, and a software identification material unit. The specific information that needs to be declared is as follows:

[0069] Information declaration unit: including software name, version number, development completion date, first publication date, copyright owner name, certificate type and number, and contact information;

[0070] Software development status unit: including software development method, development start time, development completion time and developer information;

[0071] Rights declaration unit: including the method of obtaining rights, the scope of rights and the content of the declaration;

[0072] Software technical features and usage unit: including the technical features of the software and its main functions, application scenarios and usage;

[0073] Software Identification Materials Unit: Submit a list of software identification materials, including source code, design documents, and user manuals.

[0074] The code theft detection module is used to comprehensively scan and analyze the software code, including a code hash value calculation unit, a code hash value verification unit, a code similarity detection unit, a code theft comprehensive analysis unit, and an evaluation and feedback unit, and stores the obtained data in the blockchain.

[0075] Furthermore, the specific steps of the code theft detection module to detect the theft of the target code are as follows:

[0076] Code hash value calculation unit: first standardize the target code, use the SHA-256 algorithm to calculate the target code content to obtain its hash value, and use the distributed ledger technology of the blockchain to store the calculated hash value and related metadata on the blockchain;

[0077] Code hash value verification unit: compares the target code hash value uploaded by the user with the code hash value stored in the blockchain, obtains the number of hash value duplicate blocks in the blockchain, and marks it as N h ;

[0078] Code similarity detection unit: evaluates the similarity between the target code and different codes, and obtains the number of feature matches, tree edit distance, and number of similar nodes;

[0079] Furthermore, the code similarity detection is performed by using a parser suitable for the target programming language to parse the target source code into an abstract syntax tree, and by comparing the abstract syntax tree of the target code with the abstract syntax tree of the code stored in the blockchain, the number of feature matches, the tree edit distance, and the number of similar nodes are obtained, which are marked as N and N respectively. f 、N t and N s .

[0080] Code theft comprehensive analysis unit: Establish a code theft comprehensive analysis model to conduct a comprehensive analysis of the number of hash value duplicate blocks, the number of feature matches, the tree edit distance, and the number of similar nodes, providing data support for subsequent evaluation and feedback;

[0081] Furthermore, the number of repeated hash value blocks, the number of feature matching, the tree edit distance and the number of similar nodes obtained by the code hash value verification unit and the code similarity detection unit are imported into the code theft comprehensive analysis model, and it is assumed that the number of similarities between the code files stored in the blockchain and the target code is n, and they are marked as 1, 2, ..., i, ..., n respectively, and the code theft comprehensive analysis index is calculated, which is specifically expressed as:

[0082] ,

[0083] y represents the comprehensive analysis index of code theft of the target code, N hi Indicates the number of blocks with the hash value duplication between the target code and the i-th code file stored in the blockchain, N fi Indicates the number of abstract syntax tree feature matches between the target code and the i-th code file stored in the blockchain, N ti N represents the tree edit distance between the target code and the abstract syntax tree of the i-th code file stored in the blockchain, sirepresents the number of similar nodes in the abstract syntax tree between the target code and the i-th code file stored in the blockchain, λ1, λ2, λ3 and λ4 represent the influence coefficients of the number of repeated hash value blocks, the number of feature matching, the tree edit distance and the number of similar nodes on the comprehensive analysis index of code theft respectively;

[0084] Evaluation and feedback unit: Establish code theft warning value y 标 , the code theft comprehensive analysis index and the code theft warning value y 标 By comparison, determine whether the target code has been plagiarized and take relevant measures.

[0085] Furthermore, the code theft evaluation and feedback is performed by combining the code theft comprehensive analysis index with the code theft warning value y 标 In comparison, when y <y 标 When y>y 标 When it is found, it indicates that the target code has been plagiarized. This is verified by further checking the code submission history, discussion records, and author information, and then reported and handled in accordance with relevant regulations and procedures.

[0086] The software copyright transfer module is used to support the legal transfer of software copyrights and record the transfer information through the blockchain.

[0087] It should be specifically explained in this embodiment that the software copyright transfer module includes a right confirmation and contract writing unit, a transfer application and review unit, a transaction execution and monitoring unit, a right change and certificate update unit, and a subsequent service and dispute resolution unit. The specific steps for transferring software copyright are as follows:

[0088] Title confirmation and contract writing unit: clarify the scope, conditions and price of the transfer, ensure the authenticity and uniqueness of the software copyright, and write smart contracts and deploy them in the blockchain network;

[0089] Transfer application and review unit: The transferor submits a transfer application through the blockchain platform and provides relevant supporting materials, which are reviewed by the platform to ensure the legality and authenticity of the transfer;

[0090] Transaction execution and monitoring unit: After the review is passed, this unit will execute the transfer terms in the contract and use the real-time monitoring function of the blockchain to track and record the entire transaction process;

[0091] Rights change and certificate update unit: After the transaction is completed, this unit updates the rights information of the software copyright on the blockchain platform and notifies relevant institutions to change and register offline certificates;

[0092] Follow-up service and dispute resolution unit: Provide transfer follow-up services and establish a dispute resolution mechanism to mediate and arbitrate any disputes that arise.

[0093] The software copyright query module performs software copyright query based on software type, author, software name and registration number, and performs intelligent retrieval in the blockchain network.

[0094] The source code management interface module is used to interact with, process and integrate with the source code, use the source code management tool to track and manage the source code during the software development process, and monitor the activities in the source code library in real time.

[0095] It should be specifically explained in this embodiment that the source code management interface module includes a blockchain integration unit, a source code storage and retrieval unit, a rights management unit, and an interface management unit. The specific work content is as follows:

[0096] Blockchain integration unit: Integrate the source code management interface module with the blockchain network to achieve the uploading, query and verification of source code information;

[0097] Source code storage and retrieval unit: storage, backup and retrieval of source code, providing efficient code management functions;

[0098] Permission management unit: Control the permissions of users who access the source code to ensure that only authorized users can access and modify the source code;

[0099] Interface management unit: manages the interface connection with the software copyright transfer module, code theft detection module and software copyright query module, and manages the interface with the blockchain network.

[0100] The software release management module includes a software information collection and verification unit, a software parameter acquisition unit, a software parameter preprocessing unit, a software parameter analysis unit and a software evaluation unit, which are used to manage the software release process, evaluate the quality of the software, and provide evidence support for copyright protection.

[0101] Furthermore, the specific management steps of the software release management module are as follows:

[0102] Software information collection and verification unit: Before the software is released, the system automatically submits version information, release notes, and dependency libraries to the blockchain, assigns each piece of information a unique blockchain and timestamp, and establishes rules by deploying smart contracts to verify software information, and associates it with the copyright statement record on the blockchain to generate a release certificate, which is stored on the blockchain at the same time;

[0103] Software parameter collection unit: used to collect software quality parameters, software security parameters and software performance parameters, and pass the collected parameters to the software parameter preprocessing unit;

[0104] Furthermore, the software quality parameters include the number of code defects, the number of code lines, the number of tested code lines, the number of successful unit tests, and the total number of units, which are marked as C f , C r , C t , C s and C u ; Software security parameters include the number of failures, the number of working times, the average failure time, and the number of security vulnerabilities, which are marked as C i , C w 、T l and N l ; Software performance parameters include response time, throughput, and resource utilization, which are marked as T r , TPS and R u .

[0105] Software parameter preprocessing unit: used to establish a software parameter preprocessing model, perform data preprocessing on the software quality parameters, software security parameters and software performance parameters collected by the software parameter collection unit, and transmit the results to the software parameter analysis unit;

[0106] Furthermore, the process of data preprocessing by the software parameter preprocessing model is as follows:

[0107] The software quality parameters, software security parameters and software performance parameters are imported into the software parameter preprocessing model to calculate the software quality evaluation value, software security evaluation value and software performance evaluation value. The software quality evaluation value is specifically expressed as:

[0108] ,

[0109] y1 represents the software quality assessment value of the software to be tested, C f Indicates the number of code defects in the software under test, C r Indicates the number of lines of code in the software to be tested, C t Indicates the number of lines of code under test in the software under test, C s Indicates the number of successful unit tests of the software under test, C u Indicates the total number of units of the software to be tested, C f / C r represents the defect density of the tested code, C t / C r Indicates the code coverage of the tested code, C s / C u represents the unit test pass rate of the tested code, α1, α2 and α3 represent the influence coefficients of defect density, code coverage and unit test pass rate on the software quality assessment value respectively; the software security assessment value is specifically expressed as:

[0110] ,

[0111] y2 represents the software security assessment value of the software to be tested, C i represents the number of failures of the software under test within a specific time t, C w Indicates the number of times the software under test works within a specific time t, T l represents the average failure time of the software under test, N l Indicates the number of security vulnerabilities of the software under test, C i / C w represents the software failure rate of the tested software within a specific time t, β1, β2 and β3 represent the influence coefficients of software failure rate, mean failure time and number of security vulnerabilities on the software security evaluation value respectively; the software performance evaluation value is specifically expressed as:

[0112] ,

[0113] y3 represents the software performance evaluation value of the software to be tested, T r represents the response time of the software under test, ΔT represents the standard response time of the software under test, TPS represents the throughput of the software under test within a specific time t, and R u represents the resource utilization of the software to be tested, γ1, γ2 and γ3 represent the influence coefficients of response time, throughput and resource utilization on the software performance evaluation value respectively.

[0114] Software parameter analysis unit: used to establish a software parameter analysis model, comprehensively process and analyze the software quality evaluation value, software security evaluation value and software performance evaluation value obtained by the software parameter preprocessing unit, calculate the software comprehensive evaluation index, and transmit the result to the software evaluation unit;

[0115] Furthermore, the process of calculating the software comprehensive evaluation index by the software parameter analysis model is as follows:

[0116] The software quality evaluation value, software security evaluation value and software performance evaluation value are imported into the software parameter analysis model to calculate the software comprehensive evaluation index, which is specifically expressed as:

[0117] ,

[0118] φ represents the software comprehensive evaluation index of the software to be tested, y1 represents the software quality evaluation value of the software to be tested, y2 represents the software security evaluation value of the software to be tested, y3 represents the software performance evaluation value of the software to be tested, ε1, ε2 and ε3 represent the influence coefficients of software quality evaluation value, software security evaluation value and software performance evaluation value on the software comprehensive evaluation index respectively.

[0119] Software evaluation unit: used to construct the standard value of the software comprehensive evaluation index, determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain.

[0120] Furthermore, the specific steps for the software evaluation unit to determine whether the software under test meets the requirements are as follows:

[0121] The standard value of the software comprehensive evaluation index is marked as φ 标 , when φ<φ 标 When φ>φ, it means that the software comprehensive evaluation index is less than the standard value of the software comprehensive evaluation index, indicating that the software does not meet the quality requirements and needs to be improved; when φ>φ 标 , it means that the software comprehensive evaluation index is greater than the software evaluation index standard value, indicating that the software meets the quality requirements.

[0122] like Figure 2 This embodiment provides a software full life cycle copyright control method based on blockchain, including the following steps:

[0123] S1: Identity authentication, evaluate the identity information security of the software copyright owner, and transmit the evaluation results to the blockchain to provide basic information for subsequent management processes;

[0124] S2: Software copyright statement, stating the basic information of the software, development status, method of obtaining rights, technical features of the software and purpose of the software, and submitting software identification materials, using blockchain technology to generate copyright statement records;

[0125] S3: Code theft detection, which conducts comprehensive scanning and analysis of software code, including code hash value calculation, code hash value verification, code similarity detection, comprehensive analysis of code theft, and code theft evaluation and feedback, and stores the obtained data in the blockchain;

[0126] S4: Software copyright transfer, supports the legal transfer of software copyright and records the transfer information through blockchain;

[0127] S5: Software copyright query, query software copyright according to software type, author, software name and registration number, and perform intelligent retrieval in the blockchain network;

[0128] S6: Source code management interface, interacting with source code, processing and integrating with blockchain technology, using source code management tools to track and manage source code during software development, and monitoring activities in the source code repository in real time;

[0129] S7: Software release management, including software information collection and verification, software parameter collection, software parameter preprocessing, software parameter analysis and software evaluation, used to manage the software release process, evaluate the quality of software, and provide evidence support for copyright protection;

[0130] like Figure 3 This embodiment provides a code theft detection method, comprising the following steps:

[0131] A1: Code hash value calculation: First, standardize the target code, use the SHA-256 algorithm to calculate the target code content, and obtain its hash value. Then, use the distributed ledger technology of blockchain to store the calculated hash value and related metadata on the blockchain.

[0132] A2: Code hash value verification, compare the target code hash value uploaded by the user with the code hash value stored in the blockchain, obtain the number of hash value duplicate blocks in the blockchain, and mark it as N h ;

[0133] A3: Code similarity detection, evaluates the similarity between the target code and different codes, and obtains the number of feature matches, tree edit distance, and number of similar nodes;

[0134] A4: Comprehensive analysis of code theft: Establish a comprehensive analysis model for code theft, conduct a comprehensive analysis on the number of repeated hash value blocks, the number of feature matches, the tree edit distance, and the number of similar nodes, and provide data support for subsequent evaluation and feedback;

[0135] A5: Code theft assessment and feedback, establish code theft warning value y 标 , the code theft comprehensive analysis index and the code theft warning value y 标 By comparison, determine whether the target code has been plagiarized and take relevant measures.

[0136] like Figure 4 This embodiment provides a software release management method, including the following steps:

[0137] B1: Software information collection and verification. Before the software is released, the system automatically submits version information, release notes, and dependency libraries to the blockchain, giving each piece of information a unique blockchain and timestamp. By deploying smart contracts to formulate rules, the software information is verified and associated with the copyright statement record on the blockchain to generate a release certificate, which is stored on the blockchain at the same time.

[0138] B2: Software parameter collection, including software quality parameters, software security parameters and software performance parameters;

[0139] B3: Software parameter preprocessing: Establishing a software parameter preprocessing model to perform data preprocessing on the software quality parameters, software security parameters, and software performance parameters collected by the software parameter collection unit;

[0140] B4: Software parameter analysis: Establish a software parameter analysis model, conduct comprehensive processing and analysis on the software quality evaluation value, software security evaluation value and software performance evaluation value obtained by the software parameter preprocessing unit, and calculate the software comprehensive evaluation index;

[0141] B5: Software evaluation, used to construct the standard value of the software comprehensive evaluation index, determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain.

[0142] Secondly: In the drawings of the embodiments disclosed in the present invention, only the structures related to the embodiments disclosed in the present invention are involved, and other structures can refer to the general design. In the absence of conflict, the same embodiment and different embodiments of the present invention can be combined with each other;

[0143] Finally: The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A software full life cycle copyright control method based on blockchain, It is characterized in that include: S1: Identity authentication, evaluate the identity information security of the software copyright owner, and transmit the evaluation results to the blockchain to provide basic information for the subsequent management process; S2: Software copyright statement, stating the basic information of the software, development status, method of obtaining rights, technical features of the software and purpose of the software, and submitting software identification materials, using blockchain technology to generate copyright statement records; S3: Code theft detection, which conducts comprehensive scanning and analysis of software code, including code hash value calculation, code hash value verification, code similarity detection, comprehensive analysis of code theft, and code theft evaluation and feedback, and stores the obtained data in the blockchain; A1: Code hash value calculation: First, standardize the target code, use the SHA-256 algorithm to calculate the target code content, and obtain its hash value. Then, use the distributed ledger technology of blockchain to store the calculated hash value and related metadata on the blockchain. A2: Code hash value verification, compare the target code hash value uploaded by the user with the code hash value stored in the blockchain, obtain the number of hash value duplicate blocks in the blockchain, and mark it as N h ; A3: Code similarity detection, evaluates the similarity between the target code and different codes, and obtains the number of feature matches, tree edit distance, and number of similar nodes; A4: Comprehensive analysis of code theft: Establish a comprehensive analysis model for code theft, conduct a comprehensive analysis on the number of repeated hash value blocks, the number of feature matches, the tree edit distance, and the number of similar nodes, and provide data support for subsequent evaluation and feedback; The code theft comprehensive analysis establishes a code theft comprehensive analysis model, imports the number of hash value duplicate blocks, the number of feature matches, the tree edit distance, and the number of similar nodes into the code theft comprehensive analysis model, and assumes that the number of similarities between the code files stored in the blockchain and the target code is n, marked as 1, 2, ..., i, ..., n, respectively, and calculates the code theft comprehensive analysis index, which is specifically expressed as: , y represents the comprehensive analysis index of code theft of the target code, N hi Indicates the number of blocks with the hash value duplication between the target code and the i-th code file stored in the blockchain, N fi Indicates the number of abstract syntax tree feature matches between the target code and the i-th code file stored in the blockchain, N ti N represents the tree edit distance between the target code and the abstract syntax tree of the i-th code file stored in the blockchain, si Indicates the number of similar nodes between the target code and the i-th code file stored in the blockchain, λ 1 , 2 , 3 and 4 They represent the influence coefficients of the number of repeated hash value blocks, the number of feature matches, the tree edit distance, and the number of similar nodes on the comprehensive analysis index of code theft; A5: Code theft assessment and feedback, establish code theft warning value y 标 , the code theft comprehensive analysis index and the code theft warning value y 标 By comparison, determine whether the target code has been misappropriated and take relevant measures; S4: Software copyright transfer, supports the legal transfer of software copyright and records the transfer information through blockchain; S5: Software copyright query, query software copyright according to software type, author, software name and registration number, and perform intelligent retrieval in the blockchain network; S6: Source code management interface, interacting with source code, processing and integrating with blockchain technology, using source code management tools to track and manage source code during software development, and monitoring activities in the source code repository in real time; S7: Software release management, including software information collection and verification, software parameter collection, software parameter preprocessing, software parameter analysis and software evaluation, used to manage the software release process, evaluate the quality of software, and provide evidence support for copyright protection; B1: Software information collection and verification. Before the software is released, the system automatically submits version information, release notes, and dependency libraries to the blockchain, giving each piece of information a unique blockchain and timestamp. By deploying smart contracts to formulate rules, the software information is verified and associated with the copyright statement record on the blockchain to generate a release certificate, which is stored on the blockchain at the same time. B2: Software parameter collection, including software quality parameters, software security parameters and software performance parameters; B3: Software parameter preprocessing: Establishing a software parameter preprocessing model to perform data preprocessing on the software quality parameters, software security parameters, and software performance parameters collected by the software parameter collection unit; B4: Software parameter analysis: Establish a software parameter analysis model, conduct comprehensive processing and analysis on the software quality evaluation value, software security evaluation value and software performance evaluation value obtained by the software parameter preprocessing unit, and calculate the software comprehensive evaluation index; The process of calculating the software comprehensive evaluation index by the software parameter analysis model is as follows: The software quality evaluation value, software security evaluation value and software performance evaluation value are imported into the software parameter analysis model to calculate the software comprehensive evaluation index, which is specifically expressed as: , φ represents the comprehensive evaluation index of the software to be tested, y 1 Represents the software quality assessment value of the software to be tested, y 2 Represents the software security assessment value of the software under test, y 3 represents the software performance evaluation value of the software under test, ε 1 , ε 2 and ε 3 They respectively represent the influence coefficients of software quality evaluation value, software security evaluation value and software performance evaluation value on the software comprehensive evaluation index; B5: Software evaluation, used to construct the standard value of the software comprehensive evaluation index, determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain.

2. According to the method for controlling copyright of software throughout its life cycle based on blockchain according to claim 1, Features: The code similarity detection is performed by using a parser suitable for the target programming language to parse the target source code into an abstract syntax tree, and by comparing the abstract syntax tree of the target code with the abstract syntax tree of the code stored in the blockchain, the number of feature matches, the tree edit distance, and the number of similar nodes are obtained, which are marked as N respectively. f 、N t and N s .

3. According to the blockchain-based software full life cycle copyright control method of claim 1, Features: The code theft evaluation and feedback is performed by combining the code theft comprehensive analysis index with the code theft warning value y 标 In comparison, when y <y 标 When y>y 标 When it is found, it indicates that the target code has been plagiarized. This is verified by further checking the code submission history, discussion records, and author information, and reported and handled in accordance with relevant regulations and procedures.

4. According to the blockchain-based software full life cycle copyright control method of claim 1, Features: The software quality parameters include the number of code defects, the number of code lines, the number of tested code lines, the number of successful unit tests, and the total number of units, which are marked as C f , C r , C t , C s and C u ; Software security parameters include the number of failures, the number of working times, the average failure time, and the number of security vulnerabilities, which are marked as C i , C w 、T l and N l ; Software performance parameters include response time, throughput, and resource utilization, which are marked as T r , TPS and R u .

5. According to the method for controlling copyright of software throughout its life cycle based on blockchain according to claim 1, Features: The process of data preprocessing by the software parameter preprocessing model is as follows: The software quality parameters, software security parameters and software performance parameters are imported into the software parameter preprocessing model to calculate the software quality evaluation value, software security evaluation value and software performance evaluation value. The software quality evaluation value is specifically expressed as: , y 1 represents the software quality assessment value of the software to be tested, C f Indicates the number of code defects in the software to be tested, C r Indicates the number of lines of code in the software to be tested, C t Indicates the number of lines of code under test in the software under test, C s Indicates the number of successful unit tests of the software under test, C u Indicates the total number of units of the software to be tested, C f / C r represents the defect density of the tested code, C t / C r Indicates the code coverage of the tested code, C s / C u Indicates the unit test pass rate of the tested code, α 1 , α 2 and α 3 They respectively represent the influence coefficients of defect density, code coverage and unit test pass rate on the software quality assessment value; the software security assessment value is specifically expressed as: , y 2 represents the software security assessment value of the software under test, C i represents the number of failures of the software under test within a specific time t, C w Indicates the number of times the software under test works within a specific time t, T l represents the average failure time of the software under test, N l Indicates the number of security vulnerabilities of the software under test, C i / C w represents the software failure rate of the software under test within a specific time t, β 1 , β 2 and β 3 They respectively represent the influence coefficients of software failure rate, mean failure time and number of security vulnerabilities on software security evaluation value; the software performance evaluation value is specifically expressed as: , y 3 Represents the software performance evaluation value of the software under test, T r represents the response time of the software under test, ΔT represents the standard response time of the software under test, TPS represents the throughput of the software under test within a specific time t, and R u represents the resource utilization of the software under test, γ 1 , γ 2 and γ 3 They respectively represent the impact coefficients of response time, throughput and resource utilization on the software performance evaluation value.

6. According to the blockchain-based software full life cycle copyright control method of claim 1, Features: The specific steps of determining whether the software to be tested meets the requirements are as follows: The standard value of the software comprehensive evaluation index is marked as φ 标 , when φ<φ 标 When φ>φ, it means that the software comprehensive evaluation index is less than the standard value of the software comprehensive evaluation index, indicating that the software does not meet the quality requirements and needs to be improved; when φ>φ 标 , it means that the software comprehensive evaluation index is greater than the software evaluation index standard value, indicating that the software meets the quality requirements.

7. A software full life cycle copyright control system based on blockchain, used to implement the software full life cycle copyright control method as described in any one of claims 1-6, It is characterized in that Including identity authentication module, software copyright declaration module, code theft detection module, software copyright transfer module, software copyright query module, source code interface management module, software release management module: Identity authentication module: used to evaluate the identity information security of the software copyright owner and transmit the evaluation results to the blockchain to provide basic information for the subsequent management process; Software copyright declaration module: used to declare the basic information of the software, development status, method of obtaining rights, technical characteristics of the software and the purpose of the software, submit software identification materials, and use blockchain technology to generate copyright declaration records; Code theft detection module: used to conduct comprehensive scanning and analysis of software codes, including code hash value calculation, code hash value verification, code similarity detection, comprehensive analysis of code theft, and code theft evaluation and feedback, and store the obtained data in the blockchain; Software copyright transfer module: used to support the legal transfer of software copyrights and record the transfer information through blockchain; Software copyright query module: used to query software copyrights based on software type, author, software name and registration number, and perform intelligent retrieval in the blockchain network; Source code interface management module: used to interact with, process and integrate with blockchain technology, use source code management tools to track and manage source code during software development, and monitor activities in the source code library in real time; Software release management module: includes software information collection and verification unit, software parameter collection unit, software parameter preprocessing unit, software parameter analysis unit and software evaluation unit, which are used to manage the software release process, evaluate the quality of the software, and provide evidence support for copyright protection.

8. According to the blockchain-based software full life cycle copyright control system of claim 7, Features: The software evaluation unit is used to construct a standard value of the software comprehensive evaluation index, and determine whether the software to be tested meets the quality requirements, and upload the software comprehensive evaluation index to the blockchain, marking the standard value of the software comprehensive evaluation index as φ 标 , when φ<φ 标 When φ>φ, it means that the software comprehensive evaluation index is less than the standard value of the software comprehensive evaluation index, indicating that the software does not meet the quality requirements and needs to be improved; when φ>φ 标 , it means that the software comprehensive evaluation index is greater than the software evaluation index standard value, indicating that the software meets the quality requirements.

Citation Information

Patent Citations

  • A program code similarity quick comparison method based on an abstract syntax tree,

    CN109445834A

  • Software copyright management and control system and method based on block chain

    CN110111218A

  • Software research and development efficiency measurement method, platform, system, equipment and medium

    CN114510462A

  • Copyright management method of software source code

    KR100740222B1