[go: up one dir, main page]

TWI550515B - System and method of source code quality management - Google Patents

System and method of source code quality management Download PDF

Info

Publication number
TWI550515B
TWI550515B TW103144144A TW103144144A TWI550515B TW I550515 B TWI550515 B TW I550515B TW 103144144 A TW103144144 A TW 103144144A TW 103144144 A TW103144144 A TW 103144144A TW I550515 B TWI550515 B TW I550515B
Authority
TW
Taiwan
Prior art keywords
verification
source code
quality management
verification result
modified content
Prior art date
Application number
TW103144144A
Other languages
Chinese (zh)
Other versions
TW201624276A (en
Inventor
陳柏嘉
Original Assignee
晨星半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 晨星半導體股份有限公司 filed Critical 晨星半導體股份有限公司
Priority to TW103144144A priority Critical patent/TWI550515B/en
Publication of TW201624276A publication Critical patent/TW201624276A/en
Application granted granted Critical
Publication of TWI550515B publication Critical patent/TWI550515B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

原始碼品質管理系統與方法 Source code quality management system and method

本發明係關於原始碼管理(source code management),特指一種用以輔助版本控制系統(version control system),針對原始碼的修改進行驗證的原始碼品質管理系統與相關方法。 The present invention relates to source code management, and particularly to a source code quality management system and related method for assisting a version control system to verify a modification of a source code.

版本控制是軟體開發過程中相當一個重要的環節,其可針對開發過程中,任何就原始碼所進行的變更,進行追蹤、紀錄,並且控制,從而確保每個開發人員都能掌握原始碼的變更,並獲得同步。一般來說,當開發者打算對原始碼進行變動之前,通常只會在本機針對所欲變動的內容進行編譯,等到編譯順利完成後,就將變動部分上傳至版本控制系統。然而,一個軟體的開發專案往往涉及數量龐大的原始碼。儘管開發者可能只對原始碼的某一部分進行修改、刪除或新增,但都有一定的可能性造成與其餘部分之間的衝突,導致後續須耗費時間進行除錯,降低開發流程的效率。 Version control is an important part of the software development process. It can track, record, and control any changes made to the source code during the development process to ensure that each developer can master the source code changes. And get synchronized. In general, before the developer intends to change the source code, it usually compiles only the content that the user wants to change. After the compilation is successfully completed, the changed part is uploaded to the version control system. However, a software development project often involves a large number of source code. Although the developer may only modify, delete or add a certain part of the original code, there is a certain possibility of conflict with the rest, which leads to the subsequent time-consuming debugging and reduces the efficiency of the development process.

為了確保開發者上傳至版本控制系統的原始碼修正內容,都能正常無誤地運行,本發明提供一種原始碼品質管理系統。其中,本發明之原始碼品質管理系統藉由控管上傳許可來實現原始碼的品質管理。開發者針對原始碼的新增、刪除、修改等變動都須先經由原始碼品質管理系統進行驗證,待通過驗證後,開發者才能獲得上傳許可,將修正內容上傳至版本控制系統,進一步對原始碼進行新增、刪除、修改等變動,如此一來,確保了開發者之 修改內容的可靠性以及安全性,更提升軟體開發流程的效率及品質。 In order to ensure that the source code correction content uploaded by the developer to the version control system can be operated normally, the present invention provides a source code quality management system. The source code quality management system of the present invention implements quality management of the source code by controlling the upload permission. Developers must first verify the original code by adding, deleting, modifying, etc., through the original code quality management system. After verification, the developer can obtain the upload permission, upload the revised content to the version control system, and further to the original. The code is added, deleted, modified, etc., thus ensuring the developer's Modify the reliability and security of the content, and improve the efficiency and quality of the software development process.

本發明之一實施例提供一種原始碼品質管理系統,該原始碼品質管理系統用以驗證一遠端裝置針對一原始碼所產生的一修改內容,並包含:一第一驗證模組、一第二驗證模組以及一上傳許可控制模組。該第一驗證模組用以根據該修改內容以及該原始碼之至少一部份進行編譯,產生一第一驗證結果以及至少一輸出檔。該第二驗證模組,包含有至少一驗證輔助硬體,並用以將該輸出檔寫入該驗證輔助硬體,從而檢查該輸出檔在該驗證輔助硬體上之運作結果來產生一第二驗證結果。該上傳許可控制模組用以產生一上傳許可,其中該上傳許可控制模組根據至少該第一驗證結果與該第二驗證結果,決定是否令該遠端裝置獲得該上傳許可。再者,該上傳許可係用以允許該原始碼基於該修改內容被修改。 An embodiment of the present invention provides a source code quality management system, which is used to verify a modified content generated by a remote device for a source code, and includes: a first verification module, a first Two verification modules and an upload permission control module. The first verification module is configured to compile according to the modified content and at least a portion of the original code, to generate a first verification result and at least one output file. The second verification module includes at least one verification auxiliary hardware, and is configured to write the output file to the verification auxiliary hardware, thereby checking the operation result of the output file on the verification auxiliary hardware to generate a second Validation results. The uploading permission control module is configured to generate an uploading permission, wherein the uploading permission control module determines whether to enable the remote device to obtain the uploading permission according to at least the first verification result and the second verification result. Furthermore, the upload permission is used to allow the source code to be modified based on the modified content.

本發明之另一實施例提供一種原始碼品質管理方法,用以驗證一遠端裝置針對一原始碼所產生的一修改內容,該方法包含:根據該修改內容以及該原始碼之至少一部份進行編譯,並產生一第一驗證結果以及至少一輸出檔;將該至少一輸出檔寫入至少一驗證輔助硬體,並檢查該至少一輸出檔在該至少一驗證輔助硬體上之至少一運作結果來產生一第二驗證結果;以及產生一上傳許可,並根據至少該第一驗證結果與該第二驗證結果,決定是否令該遠端裝置獲得該上傳許可;該上傳許可係用以允許該原始碼基於該修改內容被修改。 Another embodiment of the present invention provides a source code quality management method for verifying a modified content generated by a remote device for a source code, the method comprising: according to the modified content and at least a portion of the source code Compiling, and generating a first verification result and at least one output file; writing the at least one output file to the at least one verification auxiliary hardware, and checking at least one of the at least one output file on the at least one verification auxiliary hardware The operation result is used to generate a second verification result; and an upload permission is generated, and according to at least the first verification result and the second verification result, whether the remote device obtains the upload permission is determined; the upload permission is used to allow The source code is modified based on the modification.

10‧‧‧修改內容 10‧‧‧Modifications

20‧‧‧原始碼 20‧‧‧ source code

30‧‧‧上傳許可 30‧‧‧Upload permission

40‧‧‧驗證紀錄 40‧‧‧ verification record

100‧‧‧原始碼品質管理系統 100‧‧‧ source code quality management system

110‧‧‧第一驗證模組 110‧‧‧First verification module

114_1~114_N‧‧‧第一驗證單元 114_1~114_N‧‧‧First verification unit

120‧‧‧第二驗證模組 120‧‧‧Second verification module

124_1~124_N‧‧‧驗證輔助硬體 124_1~124_N‧‧‧Verification auxiliary hardware

130‧‧‧第三驗證模組 130‧‧‧ Third verification module

140‧‧‧上傳許可控制模組 140‧‧‧Upload License Control Module

142‧‧‧資料庫 142‧‧‧Database

200‧‧‧遠端裝置 200‧‧‧ Remote device

300‧‧‧版本控制系統 300‧‧‧ version control system

第1圖為本發明原始碼品質管理系統之一實施例的架構圖。 1 is an architectural diagram of an embodiment of a source code quality management system of the present invention.

第2圖為本發明驗證紀錄的範例。 Figure 2 is an example of a verification record of the present invention.

第1圖繪示本發明原始碼品質管理系統之一實施例。如圖所示,原始碼品質管理系統100包含有第一驗證模組110、第二驗證模組120以及第三驗證模組130。在本發明的品質管理機制下,當開發者欲對版本控制系統300上的原始碼20進行修改之前,必須將修改內容10透過遠端裝置200上傳至原始碼品質管理系統100,並且由原始碼品質管理系統100來進行一系列的驗證程序,當驗證程序結束後,原始碼品質管理系統100會根據驗證結果來判斷是否允許開發者將修改內容10上傳至版本控制系統300。若是,則發出上傳許可30給開發者;若否,則不允許開發者將修改內容10上傳至版本控制系統300。當開發者取得上傳許可30後,開發者會將修改內容10以及上傳許可30上傳至版本控制系統300。若上傳許可30經由版本控制系統300查驗為有效時,那麼版本控制系統將會接受開發者的修改內容10,依據修改內容10對原始碼20進行修改。其中,原始碼品質管理系統100會分別透過第一驗證模組110、第二驗證模組120以及第三驗證模組130,對開發者的修改內容10進行不同項目的驗證,判斷修改內容10的可靠性、安全性等,才決定是否發出上傳許可30給開發者。 FIG. 1 illustrates an embodiment of a source code quality management system of the present invention. As shown in the figure, the source code quality management system 100 includes a first verification module 110, a second verification module 120, and a third verification module 130. Under the quality management mechanism of the present invention, before the developer wants to modify the original code 20 on the version control system 300, the modified content 10 must be uploaded to the source code quality management system 100 through the remote device 200, and the source code is The quality management system 100 performs a series of verification procedures. Upon completion of the verification process, the source code quality management system 100 determines whether the developer is allowed to upload the modified content 10 to the version control system 300 based on the verification result. If so, an upload permission 30 is issued to the developer; if not, the developer is not allowed to upload the modified content 10 to the version control system 300. When the developer obtains the upload license 30, the developer uploads the modified content 10 and the upload license 30 to the version control system 300. If the upload license 30 is verified as valid by the version control system 300, then the version control system will accept the developer's modified content 10 and modify the original code 20 in accordance with the modified content 10. The source code quality management system 100 verifies the modified content 10 of the developer through the first verification module 110, the second verification module 120, and the third verification module 130, and determines the modified content 10. Reliability, security, etc., before deciding whether to issue an upload license 30 to the developer.

以下將說明每個驗證模組分別所進行的驗證項目。然而,應當注意的是,在實際的應用上,隨著對於原始碼20的品質在不同程度上的需求,或是其他如時間成本的考量,以下所介紹的驗證項目可能會選擇性地被進行。換言之,並非每個驗證模組都會執行以下介紹的所有驗證項目。又或是,並非所有的驗證模組都需對修改內容10進行驗證。 The verification items performed by each verification module will be described below. However, it should be noted that in practical applications, the verification items described below may be selectively performed as the quality of the source code 20 is required to varying degrees or other considerations such as time cost. . In other words, not every verification module performs all the verification items described below. Or, not all verification modules need to verify the modified content 10.

當修改內容10被開發者從遠端裝置200上傳至原始碼品質管理系統100進行驗證時,修改內容10會先被送到第一驗證模組110。第一驗證模 組110可能具有為分散式架構(dispatcher)的伺服器,並包含有一個或多個第一驗證單元114_1~114_N,第一驗證單元114_1~114_N根據修改內容10以及原始碼20之至少一部份進行整體性的驗證。簡單來說,儘管開發者的修改內容10可能只針對原始碼20的某個部分進行修改,但為避免修改內容10與原始碼20的其餘部分造成衝突,因此原始碼品質管理系統100實際上在驗證修改內容10的同時,必須一同驗證基於修改內容10修改後的原始碼20。在最佳的情況下,原始碼品質管理系統100可能會載入原始碼20的全部(包含被修改內容10所修改的部分);但隨著不同考量,原始碼品質管理系統100可能不需要載入原始碼20的全部,而只須載入被修改內容10所修改的部分,以及與被修改內容有所關聯的部分。 When the modified content 10 is uploaded by the developer from the remote device 200 to the original code quality management system 100 for verification, the modified content 10 is first sent to the first verification module 110. First verification mode The group 110 may have a server that is a dispatcher and includes one or more first verification units 114_1~114_N, and the first verification units 114_1~114_N are based on the modified content 10 and at least a part of the original code 20. Conduct a holistic verification. Briefly, although the developer's modified content 10 may only be modified for a portion of the original code 20, in order to avoid conflicts between the modified content 10 and the rest of the original code 20, the source code quality management system 100 is actually While verifying the modified content 10, the original code 20 modified based on the modified content 10 must be verified together. In the best case, the source code quality management system 100 may load all of the source code 20 (including the portion modified by the modified content 10); however, the source code quality management system 100 may not need to be loaded with different considerations. All of the original code 20 is entered, and only the portion modified by the modified content 10 and the portion associated with the modified content are loaded.

第一驗證單元114_1~114_N針對加入修改內容10後的原始碼20的不同部分進行編譯(compiling),並且進行驗證,進而產生第一驗證結果。其中,隨著軟體開發專案的不同,原始碼20的不同部份可能代表不同功能的應用程式,或者不同客戶專屬的作業系統。舉例來說,原始碼20可能是一項嵌入式系統的作業系統的開發專案,且因應不同客戶所建構的硬體環境所開發。因此,原始碼20的不同部分可能代表不同客戶專屬的完整作業系統,而必須以不同的第一驗證單元114_1~114_N分別進行驗證。第一驗證單元114_1~114_N可能完全相同,也可能因應原始碼20的不同部份之性質而有所不同。在第一驗證單元114_1~114_N對加入修改內容10後的原始碼20的不同部分進行編譯後,在產生第一驗證結果之前,必然將附帶產生複數個映像檔(image)(例如:分別包含有不同客戶專屬之作業系統的映像檔),或者是代表不同應用程式的複數個可執行檔(executable file),在一實施例中,該複數個映像檔或者複數個可執行檔可被輸出至第二驗證模組120,以使第二驗證模組120根據這些檔案在特定硬體上運行的結果進行驗證。在本發明不同實施例中,第一驗證單元114_1~114_N可能會在尚未執行完所有的驗證項目之前, 就產生映像檔或可執行檔提供給第二驗證模組120,加速驗證程序的進行。 The first verification units 114_1~114_N compile the different parts of the original code 20 after adding the modified content 10, and perform verification, thereby generating a first verification result. Among them, with the different software development projects, different parts of the original code 20 may represent different functional applications, or different customer-specific operating systems. For example, source code 20 may be a development project for an embedded system's operating system and developed in response to the hardware environment built by different customers. Therefore, different parts of the original code 20 may represent a complete operating system exclusive to different customers, and must be verified separately by different first verification units 114_1~114_N. The first verification units 114_1~114_N may be identical or may differ depending on the nature of the different portions of the original code 20. After the first verification unit 114_1~114_N compiles different parts of the original code 20 after adding the modified content 10, before generating the first verification result, a plurality of images (images) are necessarily generated (for example, respectively included An executable file of a different customer-specific operating system, or a plurality of executable files representing different applications. In an embodiment, the plurality of image files or a plurality of executable files may be output to the first file. The verification module 120 is configured to enable the second verification module 120 to verify the results of running the files on a particular hardware. In different embodiments of the present invention, the first verification units 114_1~114_N may be before all the verification items have been executed. The generated image file or executable file is provided to the second verification module 120 to speed up the verification process.

除了進行編譯時的錯誤檢查(例如:語法錯誤或語義錯誤)外,第一驗證單元114_1~114_N可能還會對加入修改內容10後的原始碼20進行靜態分析測試等驗證,如以下的內容驗證,例如:應用程式介面濫用(Application interface abuse,API abuse),檢查修改內容10是否有濫用應用程式介面的問題;編碼標準(coding standard),檢查修改內容10的撰寫是否符合預定的格式、針對個別單元進行單元測試(unit test),即以程式中最小的邏輯單元為對象,驗證邏輯正確與否等。另外,而這些第一驗證單元114_1~114_N也可透過外掛(plugin)軟體的方式加入額外的驗證項目,第一驗證單元114_1~114_N會執行外掛軟體,針對修改內容10與原始碼20進行測試。當所有驗證項目都通過時,第一驗證模組110會產生驗證通過的第一驗證結果。而上述的驗證程序可能會跟第二驗證模組120的驗證程序同時進行。 In addition to error checking during compilation (for example, syntax error or semantic error), the first verification unit 114_1~114_N may also perform static analysis test and the like on the original code 20 after adding the modified content 10, such as the following content verification. For example, Application interface abuse (API abuse), check whether the modified content 10 has abused the application interface; coding standard (coding standard), check whether the modification content 10 is written in accordance with the predetermined format, for individual The unit performs a unit test, that is, the smallest logical unit in the program, and whether the logic is correct or not. In addition, the first verification units 114_1~114_N can also add additional verification items by means of plugin software. The first verification units 114_1~114_N execute the plug-in software, and test the modified content 10 and the original code 20. When all the verification items are passed, the first verification module 110 generates a first verification result that the verification passes. The above verification procedure may be performed simultaneously with the verification procedure of the second verification module 120.

第二驗證模組120包含有一個或多個驗證輔助硬體124_1~124_N,該驗證輔助硬體提供一個硬體環境,相似或相同於根據原始碼20開發出的軟體所被應用的環境。驗證輔助硬體124_1~124_N分別包含:至少一儲存裝置用以儲存由第一驗證模組110產生的映像檔或可執行檔;以及至少一處理器用來執行或讀取映像檔之中所包含的檔案與資訊,或者是執行可執行檔。驗證輔助硬體124_1~124_N可能完全相同,也可能因應不同類型之映像檔或可執行檔所需,或者因應不同客戶建構之硬體環境而有所不同。第二驗證模組120可能會先命令處理器安裝映像檔至驗證輔助硬體124_1~124_N,並執行特定的操作,驗證這些操作的結果是否正確。舉例來說,若原始碼20為電視的作業系統,那麼驗證輔助硬體124_1~124_N可能是電視的主機板(分別對應於不同客戶建構的硬體環境),而第二驗證模組120會要求驗證輔助硬體124_1~124_N在安裝作業系統後,進行基本的開關機操作,電視頻道掃描操 作,以及播放多媒體檔案的操作;當這些操作都能正常無誤地被進行時,第二驗證模組120將會產生一個驗證通過的第二驗證結果。應當注意的是,以上說明並非本發明之限制,在本發明的不同實施例中,第二驗證模組120可能包含有不同架構的驗證輔助硬體。 The second verification module 120 includes one or more verification assistance hardware 124_1~124_N, and the verification assistance hardware provides a hardware environment similar or identical to the environment in which the software developed according to the original code 20 is applied. The verification auxiliary hardware 124_1~124_N respectively includes: at least one storage device for storing an image file or an executable file generated by the first verification module 110; and at least one processor for executing or reading the image included in the image file Files and information, or executable files. The verification auxiliary hardware 124_1~124_N may be identical, may be required for different types of image files or executable files, or may be different depending on the hardware environment constructed by different customers. The second verification module 120 may first command the processor to install the image file to the verification auxiliary hardware 124_1~124_N, and perform specific operations to verify whether the results of these operations are correct. For example, if the source code 20 is the operating system of the television, the verification auxiliary hardware 124_1~124_N may be the motherboard of the television (corresponding to the hardware environment constructed by different customers respectively), and the second verification module 120 may request Verify that the auxiliary hardware 124_1~124_N performs basic power on/off operation after installing the operating system, and the TV channel scanning operation The operation of playing the multimedia file; when these operations can be performed normally, the second verification module 120 will generate a second verification result of the verification pass. It should be noted that the above description is not a limitation of the present invention. In different embodiments of the present invention, the second verification module 120 may include verification assistance hardware of different architectures.

第三驗證模組130則提供一個操作介面給一檢閱者,該名檢閱者可以透過這個介面至原始碼品質管理系統100取得修改內容10,基於修改內容10修改前後的原始碼20,並且判斷是否開發者的修改內容10可否滿足一些預定原則。最後,該名檢閱者向第三驗證模組130輸入關於修改內容10是否通過驗證的判斷,並透過第三驗證模組130來產生第三驗證結果。並且,檢閱者基於本身見解,可另上傳一份關於修改內容10的意見報告至第三驗證模組130,後續供開發者參考。應當注意的是,第三驗證模組130的驗證程序可早於或者晚於其他驗證模組所執行的驗證程序。另外,資料庫142可能會被用來儲存檢閱者的意見報告。在某些情況下,第三驗證模組130有一定的重要性,例如針對某些沒辦法被編譯的特定原始碼,或者是原始碼的編譯需要花費大量時間的情況下,第一驗證模組110以及第二驗證模組120可能被設定成不進行驗證,只透過第三驗證模組130進行驗證。 The third verification module 130 provides an operation interface to a reviewer, and the reviewer can obtain the modified content 10 through the interface to the original code quality management system 100, and modify the original code 20 before and after the modified content 10, and determine whether Whether the developer's modified content 10 can satisfy some predetermined principles. Finally, the reviewer inputs a determination as to whether the modified content 10 passes the verification to the third verification module 130, and generates a third verification result through the third verification module 130. Moreover, the reviewer may upload another opinion report on the modified content 10 to the third verification module 130 based on its own knowledge, and the developer may refer to it later. It should be noted that the verification procedure of the third verification module 130 may be earlier or later than the verification procedure performed by other verification modules. Additionally, database 142 may be used to store reviewers' opinion reports. In some cases, the third verification module 130 has a certain importance, for example, for some specific source code that cannot be compiled, or when the compilation of the source code takes a lot of time, the first verification module 110 and the second verification module 120 may be configured not to perform verification, and only perform verification by the third verification module 130.

上傳許可控制模組140會根據第一驗證模組110、第二驗證模組120以及第三驗證模組130的不同驗證項目,所分別產生的第一驗證結果、第二驗證結果以及第三驗證結果,來決定是否發出上傳許可30給修改內容10的開發者。然而,應當注意的是,在不同應用中,並非每個驗證模組都會對修改內容10進行驗證,因此,上傳許可控制模組140只會依據實際被進行的驗證項目的結果來決定是否發出上傳許可30。 The first verification result, the second verification result, and the third verification generated by the uploading permission control module 140 according to different verification items of the first verification module 110, the second verification module 120, and the third verification module 130 respectively As a result, it is decided whether or not to issue the upload permission 30 to the developer who modifies the content 10. However, it should be noted that in different applications, not every verification module will verify the modified content 10, therefore, the upload permission control module 140 will only decide whether to issue an upload based on the result of the actual verified item. License 30.

當修改內容10被上傳至原始碼品質管理系統100時,上傳許可控 制模組140便會在資料庫142留存一個修改內容10的備份,並且在資料庫142中登錄一個對應的驗證紀錄40,紀錄開發者的身分資訊,修改內容10的建立時間,以及不同驗證模組所進行的驗證項目產生的驗證結果。另外,原始碼品質管理系統100也會根據開發者的身分資訊,修改內容10的建立時間以及修改內容10的相關特徵(例如:開發者所新增、刪除、修改之原始碼的內容),並且基於特殊的加密演算法,產生上傳許可30,並儲存於資料庫142中。上傳許可控制模組140可以被設定當修改內容10通過一定數目(全部或部分)的驗證項目後,向開發者公佈上傳許可30。另外,儘管在上述實施例中,上傳許可控制模組140在驗證結果未完全產生之前,就先將一個上傳許可寫入至資料庫,但在本發明的其他實施例中,上傳許可可能是在上傳許可控制模組140得知加入修改內容10後的原始碼20通過所有的驗證之後,才產生上傳許可30。 When the modified content 10 is uploaded to the source code quality management system 100, uploading the license control The module 140 will keep a backup of the modified content 10 in the database 142, and log in a corresponding verification record 40 in the database 142, record the developer's identity information, modify the creation time of the content 10, and different verification modes. The verification results produced by the verification project performed by the group. In addition, the source code quality management system 100 also modifies the creation time of the content 10 and the related features of the modified content 10 according to the developer's identity information (for example, the content of the original code added, deleted, and modified by the developer), and An upload permission 30 is generated based on a special encryption algorithm and stored in the database 142. The upload license control module 140 can be configured to publish the upload license 30 to the developer after the modified content 10 has passed a certain number (all or part) of the verification items. In addition, although in the above embodiment, the upload permission control module 140 first writes an upload permission to the database before the verification result is not completely generated, in other embodiments of the present invention, the upload permission may be The upload permission control module 140 knows that the upload code 30 is generated after the source code 20 after the modification content 10 is passed through all the verifications.

當上傳許可控制模組140認為可向開發者公佈上傳許可30後,便會通知開發者從資料庫142取得上傳許可(或者是直接發送至遠端裝置200給開發者)。開發者獲得上傳許可30之後,便可從遠端裝置200登入至版本控制系統300,並將修改內容10以及上傳許可30上傳至版本控制系統300。由於上傳許可30是上傳許可控制模組140根據特殊的加密演算法計算出來的,因此版本控制系統300也會根據相對應的解密演算法計算是否上傳許可30有效。由於上傳許可30中攜帶的資訊,跟修改內容10的建立時間、開發者的身分資訊、以及修改內容10的內容特徵有所關連,因此,若是開發者在獲得上傳許可30之後,卻又更動了修改內容10,那麼原本產生的上傳許可30將因為不符合再次更動的修改內容10所對應的時間或者內容特徵,而不被版本控制系統300所接受。當然,若是不同的開發者使用這個上傳許可30,也會因為身分資訊的不符,而不被版本控制系統300所接受。在另一個實施例中,上傳許可控制模組140也可以把目標原始碼20的版本號碼一併加密。在修改 內容10與上傳許可30被上傳至版本控制系統300之前,若所針對的原始碼20已被其他開發者更動,使得現存的原始碼20與當初修改內容10所針對的目標原始碼20有所出入,版本控制系統300即不接受本次修改內容10。此實施例可有效避免多重開發者造成的修改錯誤。 When the upload license control module 140 considers that the upload license 30 can be published to the developer, the developer is notified to obtain the upload permission from the database 142 (or directly to the remote device 200 to the developer). After the developer obtains the upload license 30, the remote device 200 can log in to the version control system 300 and upload the modified content 10 and the upload license 30 to the version control system 300. Since the upload permission 30 is calculated by the upload permission control module 140 according to a special encryption algorithm, the version control system 300 also calculates whether the upload permission 30 is valid according to the corresponding decryption algorithm. Since the information carried in the uploading license 30 is related to the creation time of the modified content 10, the developer's identity information, and the content characteristics of the modified content 10, if the developer obtains the upload permission 30, it is changed. Modifying the content 10, the originally generated upload permission 30 will not be accepted by the version control system 300 because it does not meet the time or content characteristics corresponding to the modified content 10 that was changed again. Of course, if the different developers use this upload license 30, it will not be accepted by the version control system 300 because of the discrepancy of the identity information. In another embodiment, the upload permission control module 140 may also encrypt the version number of the target source code 20. In modification Before the content 10 and the upload permission 30 are uploaded to the version control system 300, if the original source code 20 has been changed by other developers, the existing source code 20 is different from the target source code 20 for which the content 10 is originally modified. The version control system 300 does not accept this modification content 10. This embodiment can effectively avoid modification errors caused by multiple developers.

當版本控制系統300計算出開發者的上傳許可30為有效之後,便會接受收修改內容10,並且基於修改內容10針對原始碼20進行修改,完成整個作業流程。 After the version control system 300 calculates that the developer's upload permission 30 is valid, the modified content 10 is accepted, and the original code 20 is modified based on the modified content 10 to complete the entire workflow.

第2圖係為上述驗證紀錄的範例,如圖所示,驗證紀錄40包含所有原始碼品質管理系統100能夠進行的驗證項目,但由於部分驗證項目可能未被執行,因此標示為“N/A”,而這部分的驗證項目不被上傳許可控制模組140納入是否發出上傳許可30的考量。在圖示中,由於實際進行的驗證項目的結果都是通過,因此最終可得到一個「通過」的驗證結果。請注意,圖示中所標註的驗證項目不應被視為本發明的限制,在本發明的其他實施例中,因為原始碼品質管理系統100可用透過外掛軟體執行不同的驗證項目,因此,驗證紀錄40中記載的項目結果也會有所不同。另外,因為驗證紀錄40係儲存在資料庫142之中,開發者可透過遠端裝置200向資料庫142查詢各個項目的驗證結果,以得知修改內容10在哪個階段的驗證出錯,從而更正修改內容10。 Figure 2 is an example of the above verification record. As shown, the verification record 40 contains all the verification items that the source code quality management system 100 can perform, but since the partial verification item may not be executed, it is marked as "N/A". The verification item of this part is not included in the upload permission control module 140 to consider whether to issue the upload permission 30. In the illustration, since the results of the actual verification items are all passed, a "pass" verification result is finally obtained. Please note that the verification items noted in the drawings should not be construed as limiting the invention. In other embodiments of the present invention, since the source code quality management system 100 can perform different verification items through the plug-in software, verification is performed. The results of the projects recorded in record 40 will also vary. In addition, since the verification record 40 is stored in the database 142, the developer can query the database 142 for the verification result of each item through the remote device 200 to know at which stage of the modification content 10 the verification error occurs, thereby correcting the modification. Content 10.

請注意,本發明原始碼品質管理系統中的元件,例如:第一驗證模組110、第二驗證模組120、第三驗證模組130、以及上傳許可控制模組,可能由單純的硬體電路、或者由特定的軟體程式在相容的硬體上執行,或者是兩者的組合所實現。 Please note that the components in the source code quality management system of the present invention, such as the first verification module 110, the second verification module 120, the third verification module 130, and the upload permission control module, may be composed of simple hardware. The circuit is either implemented by a specific software program on a compatible hardware or a combination of the two.

以上所述的原始碼品質管理系統的部分基礎運作可以進一步簡化並歸納成一種原始碼品質管理流程,在其中一個實施例中,包含有以下步驟:S110:根據針對一原始碼的一修改內容以及該原始碼之至少一部份進行編譯,並產生一第一驗證結果以及至少一輸出檔;S120:將該至少一輸出檔寫入至少一驗證輔助硬體,並檢查該至少一輸出檔在該至少一驗證輔助硬體上之至少一運作結果來產生一第二驗證結果;S130:產生一上傳許可,根據至少該第一驗證結果與該第二驗證結果,決定是否令該遠端裝置獲得該上傳許可;該上傳許可係用以允許該原始碼基於該修改內容被修改。 The partial operation of the source code quality management system described above can be further simplified and summarized into a source code quality management process. In one embodiment, the following steps are included: S110: according to a modified content for a source code and Compiling at least a portion of the source code and generating a first verification result and at least one output file; S120: writing the at least one output file to the at least one verification auxiliary hardware, and checking the at least one output file in the Determining at least one operation result on the auxiliary hardware to generate a second verification result; S130: generating an upload permission, determining, according to at least the first verification result and the second verification result, whether to enable the remote device to obtain the Upload license; the upload license is used to allow the source code to be modified based on the modified content.

另外,在本發明原始碼品質管理流程的另一個實施例中,包含有以下步驟:S210:根據針對一原始碼的一修改內容以及該原始碼之至少一部份進行編譯,並產生一第一驗證結果以及至少一輸出檔;S220:將該至少一輸出檔寫入至少一驗證輔助硬體,並檢查該至少一輸出檔在該至少一驗證輔助硬體上之至少一運作結果來產生一第二驗證結果;S230:提供一介面,供一檢閱者透過該介面檢閱該修改內容以及該原始碼,並產生一第三驗證結果;S240:產生一上傳許可,根據該第一驗證結果、該第二驗證結果與該第三驗證結果,決定是否令該遠端裝置獲得該上傳許可;該上傳許可係用以允許該原始碼基於該修改內容被修改。 In addition, in another embodiment of the source code quality management process of the present invention, the method includes the following steps: S210: compiling according to a modified content for a source code and at least a part of the source code, and generating a first Verification result and at least one output file; S220: writing the at least one output file to the at least one verification auxiliary hardware, and checking at least one operation result of the at least one output file on the at least one verification auxiliary hardware to generate a first a verification result; S230: providing an interface for a reviewer to review the modified content and the original code through the interface, and generating a third verification result; S240: generating an upload permission, according to the first verification result, the first And the third verification result determines whether the remote device obtains the upload permission; the upload permission is used to allow the source code to be modified based on the modified content.

以上流程中各個步驟的相關細節、原理,以及應用上的變化均已在關於原始碼品質管理系統的敘述中提及,故在此不另重複說明。 The details, principles, and application changes of the various steps in the above processes have been mentioned in the description of the source code quality management system, and therefore will not be repeated here.

以上文中所提及之「一實施例」代表針對該實施例所描述之特定特徵、結構或者是特性係包含於本發明之至少一實施方式中。再者,文中不同段落中所出現之「一實施例」並非代表相同的實施例。因此,儘管以上對於不同實施例描述時,分別提及了不同的結構特徵或是方法性的動作,但應當注意的是,這些不同特徵可透過適當的修改而同時實現於同一特定實施方式中。 The "an embodiment" referred to above means that a particular feature, structure or characteristic described for the embodiment is included in at least one embodiment of the invention. Furthermore, "an embodiment" as used in the different paragraphs herein does not represent the same embodiment. Therefore, while the various structural features or methodological acts are described above, respectively, for the various embodiments, it should be noted that these various features can be implemented in the same particular embodiment.

總結來說,本發明改進了版本控制系統對於原始碼的管理。可有效排除不良的修改內容對應軟體開發專案的影響,提升軟體開發專案的品質以及效率。 In summary, the present invention improves the management of the source code by the version control system. It can effectively eliminate the impact of bad modified content on the software development project and improve the quality and efficiency of the software development project.

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

10‧‧‧修改內容 10‧‧‧Modifications

20‧‧‧原始碼 20‧‧‧ source code

30‧‧‧上傳許可 30‧‧‧Upload permission

40‧‧‧驗證紀錄 40‧‧‧ verification record

100‧‧‧原始碼品質管理系統 100‧‧‧ source code quality management system

110‧‧‧第一驗證模組 110‧‧‧First verification module

114_1~114_N‧‧‧第一驗證單元 114_1~114_N‧‧‧First verification unit

120‧‧‧第二驗證模組 120‧‧‧Second verification module

124_1~124_N‧‧‧驗證輔助硬體 124_1~124_N‧‧‧Verification auxiliary hardware

130‧‧‧第三驗證模組 130‧‧‧ Third verification module

140‧‧‧上傳許可控制模組 140‧‧‧Upload License Control Module

142‧‧‧資料庫 142‧‧‧Database

200‧‧‧遠端裝置 200‧‧‧ Remote device

300‧‧‧版本控制系統 300‧‧‧ version control system

Claims (24)

一種原始碼品質管理系統,用以驗證一遠端裝置針對一版本控制系統中之一原始碼所產生的一修改內容,包含:一第一驗證模組,用以根據該修改內容以及該原始碼之至少一部份進行編譯,並產生一第一驗證結果以及至少一輸出檔;一第二驗證模組,包含有至少一驗證輔助硬體,用以將該至少一輸出檔寫入至少一驗證輔助硬體,並檢查該至少一輸出檔在該至少一驗證輔助硬體上之至少一運作結果來產生一第二驗證結果;以及一上傳許可控制模組,用以產生一上傳許可,其中該上傳許可控制模組根據至少該第一驗證結果與該第二驗證結果,決定是否令該遠端裝置獲得該上傳許可;該上傳許可係用以允許該原始碼基於該修改內容被修改。 A source code quality management system for verifying a modified content generated by a remote device for a source code in a version control system, comprising: a first verification module, configured to use the modified content and the source code Compiling at least a portion and generating a first verification result and at least one output file; and a second verification module comprising at least one verification auxiliary hardware for writing the at least one output file to at least one verification Auxiliary hardware, and checking at least one operation result of the at least one output file on the at least one verification auxiliary hardware to generate a second verification result; and an upload permission control module for generating an upload permission, wherein the The uploading permission control module determines whether to enable the remote device to obtain the uploading permission according to at least the first verification result and the second verification result; the uploading permission is to allow the original code to be modified based on the modified content. 如請求項1所述之原始碼品質管理系統,其中該原始碼包含有複數個部份,該第一驗證模組包含有複數個第一驗證單元,該複數個第一驗證單元分別對該修改內容與該原始碼之複數個部分進行編譯以產生該至少一輸出檔。 The source code quality management system of claim 1, wherein the source code includes a plurality of parts, the first verification module includes a plurality of first verification units, and the plurality of first verification units respectively modify the The content is compiled with a plurality of portions of the source code to produce the at least one output file. 如請求項2所述之原始碼品質管理系統,其中該第二驗證模組包含有複數個驗證輔助硬體,該第二驗證模組驗證該至少一輸出檔在該些驗證輔助硬體上之運作結果以產生該第二驗證結果。 The source code quality management system of claim 2, wherein the second verification module includes a plurality of verification assistance hardware, and the second verification module verifies the at least one output file on the verification assistance hardware. The result of the operation is used to generate the second verification result. 如請求項1所述之原始碼品質管理系統,另包含:一第三驗證模組,用以提供一介面,以供一檢閱者透過該介面檢閱該修改內容以及該原始碼,並且該第三驗證模組根據該檢閱者之檢閱結果,產生一第三驗證結果。 The source code quality management system of claim 1, further comprising: a third verification module, configured to provide an interface for a reviewer to review the modified content and the source code through the interface, and the third The verification module generates a third verification result according to the review result of the reviewer. 如請求項4所述之原始碼品質管理系統,其中該上傳許可控制模組根據該第一驗證結果、該第二驗證結果以及該第三驗證結果,決定是否令該遠端裝置獲得該上傳許可。 The source code quality management system of claim 4, wherein the upload permission control module determines whether to enable the remote device to obtain the upload permission according to the first verification result, the second verification result, and the third verification result. . 如請求項1所述之原始碼品質管理系統,另包含有一資料庫,用以儲存該上傳許可;其中當該第一驗證結果或者該第二驗證結果產生之前,該上傳許可控制模組已產生該上傳許可,將該上傳許可寫入該資料庫。 The source code quality management system of claim 1, further comprising a database for storing the upload permission; wherein the upload permission control module is generated before the first verification result or the second verification result is generated The upload license writes the upload license to the database. 如請求項1所述之原始碼品質管理系統,另包含有一資料庫,用以儲存該上傳許可;其中該第一驗證結果以及該第二驗證結果均被寫入至該資料庫,且該上傳許可控制模組根據已寫入至該資料庫之該第一驗證結果以及該第二驗證結果,來決定是否令該遠端裝置取得該上傳許可。 The source code quality management system of claim 1, further comprising a database for storing the upload permission; wherein the first verification result and the second verification result are all written to the database, and the uploading The license control module determines whether to enable the remote device to obtain the upload permission based on the first verification result that has been written to the database and the second verification result. 如請求項1所述之原始碼品質管理系統,其中該上傳許可包括該修改內容之一開發者的身分資訊、該修改內容的建立時間、以及該修改內容之內容特徵至少之一。 The source code quality management system of claim 1, wherein the upload permission comprises at least one of identity information of the developer of the modified content, a time of establishing the modified content, and a content characteristic of the modified content. 如請求項1所述之原始碼品質管理系統,其中該第一驗證模組另根據該修改內容以及該原始碼之至少一部份進行一內容驗證,產生該第一驗證結果。 The source code quality management system of claim 1, wherein the first verification module further performs a content verification according to the modified content and at least a portion of the original code to generate the first verification result. 如請求項9所述之原始碼品質管理系統,其中該內容驗證包含有編碼標準(coding standard)驗證、應用程式介面濫用(Application Programming Interface abuse)驗證、以及單元測試(unit test)驗證之靜態分析測試驗證的其中至少之一。 The source code quality management system of claim 9, wherein the content verification comprises a coding standard verification, an application programming interface abuse verification, and a unit test verification static analysis. At least one of the test validations. 如請求項1所述之原始碼品質管理系統,其中該原始碼儲存於該版本控制系統,以及該版本控制系統依據該上傳許可決定是否接受該修改內容。 The source code quality management system of claim 1, wherein the source code is stored in the version control system, and the version control system determines whether to accept the modified content according to the upload permission. 如請求項11所述之原始碼品質管理系統,其中該上傳許可更包含該修改內容對應之該原始碼之一目標原始碼版本號碼,當儲存於該版本控制系統之該原始碼之一版本號碼與該目標原始碼版本號碼不同時,該版本控制系統不接受該修改內容。 The source code quality management system of claim 11, wherein the upload permission further comprises a target source code version number of the source code corresponding to the modified content, and one version number of the source code stored in the version control system The version control system does not accept the modified content when it is different from the target source code version number. 一種原始碼品質管理方法,用以驗證一遠端裝置針對一版本控制系統中之一原始碼所產生的一修改內容,包含:根據該修改內容以及該原始碼之至少一部份進行編譯,並產生一第一驗證結果以及至少一輸出檔;將該至少一輸出檔寫入至少一驗證輔助硬體,並檢查該至少一輸出檔在該至少一驗證輔助硬體上之至少一運作結果來產生一第二驗證結果以及產生一上傳許可,並根據至少該第一驗證結果與該第二驗證結果,決定是否令該遠端裝置獲得該上傳許可;該上傳許可係用以允許該原始碼基於該修改內容被修改。 A source code quality management method for verifying a modified content generated by a remote device for a source code in a version control system, comprising: compiling according to the modified content and at least a part of the source code, and Generating a first verification result and at least one output file; writing the at least one output file to the at least one verification auxiliary hardware, and checking at least one operation result of the at least one output file on the at least one verification auxiliary hardware to generate Determining, by the second verification result, an upload permission, and determining, according to at least the first verification result and the second verification result, whether the remote device obtains the upload permission; the upload permission is used to allow the source code to be based on the The modified content was modified. 如請求項13所述之原始碼品質管理方法,其中該原始碼包含有複數個部份,以及產生該至少一輸出檔的步驟包含:分別同時對該修改內容與該原始碼之複數個部分進行編譯以產生該至少一輸出檔。 The source code quality management method of claim 13, wherein the source code includes a plurality of parts, and the step of generating the at least one output file comprises: simultaneously performing the modified content and the plurality of parts of the original code respectively Compiling to generate the at least one output file. 如請求項14所述之原始碼品質管理方法,其中產生該第二驗證結果的步 驟包含:將該至少一輸出檔寫入至複數個驗證輔助硬體,驗證該至少一輸出檔在該些驗證輔助硬體上之運作結果以產生該第二驗證結果。 The source code quality management method of claim 14, wherein the step of generating the second verification result The method includes: writing the at least one output file to the plurality of verification assistance hardware, and verifying the operation result of the at least one output file on the verification assistance hardware to generate the second verification result. 如請求項13所述之原始碼品質管理方法,另包含:提供一介面,供一檢閱者透過該介面檢閱該修改內容以及該原始碼,並產生一第三驗證結果。 The source code quality management method of claim 13, further comprising: providing an interface for a reviewer to review the modified content and the source code through the interface, and generate a third verification result. 如請求項16所述之原始碼品質管理方法,其中決定是否令該遠端裝置獲得該上傳許可的步驟包含:根據該第一驗證結果、該第二驗證結果以及該第三驗證結果,決定是否令該遠端裝置獲得該上傳許可。 The source code quality management method of claim 16, wherein the determining whether the remote device obtains the upload permission comprises: determining, according to the first verification result, the second verification result, and the third verification result, whether Let the remote device obtain the upload permission. 如請求項13所述之原始碼品質管理方法,另包含:於該第一驗證結果或者該第二驗證結果產生之前,產生該上傳許可,將該上傳許可儲存至一資料庫。 The source code quality management method of claim 13, further comprising: generating the upload permission before the first verification result or the second verification result is generated, and storing the upload permission to a database. 如請求項13所述之原始碼品質管理方法,另包含:將該上傳許可、該第一驗證結果以及該第二驗證結果儲存至一資料庫;以及根據已寫入至該資料庫之該第一驗證結果以及該第二驗證結果,來決定是否令該遠端裝置取得該上傳許可。 The source code quality management method of claim 13, further comprising: storing the upload permission, the first verification result, and the second verification result to a database; and according to the first written to the database A verification result and the second verification result determine whether the remote device obtains the upload permission. 如請求項13所述之原始碼品質管理方法,其中該上傳許可包括該修改內容之一開發者的身分資訊、該修改內容的建立時間、以及該修改內容之內容特徵至少之一。 The source code quality management method of claim 13, wherein the upload permission comprises at least one of identity information of a developer of the modified content, a time of establishment of the modified content, and a content feature of the modified content. 如請求項13所述之原始碼品質管理方法,另包含:根據該修改內容以及該原始碼之至少一部份進行一內容驗證,產生該第一驗證結果。 The source code quality management method of claim 13, further comprising: performing a content verification according to the modified content and at least a portion of the original code, to generate the first verification result. 如請求項21所述之原始碼品質管理方法,其中該內容驗證包含有編碼標準(coding standard)驗證、應用程式介面濫用(Application Programming Interface abuse)驗證、以及單元測試(unit test)驗證之靜態分析測試驗證的其中至少之一。 The source code quality management method according to claim 21, wherein the content verification comprises a coding standard verification, an application programming interface abuse verification, and a unit test verification static analysis. At least one of the test validations. 如請求項13所述之原始碼品質管理方法,其中該原始碼儲存於該版本控制系統,以及該版本控制系統依據該上傳許可決定是否接受該修改內容。 The source code quality management method of claim 13, wherein the source code is stored in the version control system, and the version control system determines whether to accept the modified content according to the upload permission. 如請求項23所述之原始碼品質管理方法,其中該上傳許可更包含該修改內容對應之該原始碼之一目標原始碼版本號碼,當儲存於該版本控制系統之該原始碼之一版本號碼與該目標原始碼版本號碼不同時,該版本控制系統不接受該修改內容。 The source code quality management method of claim 23, wherein the uploading license further comprises one of the source code version number of the source code corresponding to the modified content, and one version number of the source code stored in the version control system. The version control system does not accept the modified content when it is different from the target source code version number.
TW103144144A 2014-12-17 2014-12-17 System and method of source code quality management TWI550515B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103144144A TWI550515B (en) 2014-12-17 2014-12-17 System and method of source code quality management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103144144A TWI550515B (en) 2014-12-17 2014-12-17 System and method of source code quality management

Publications (2)

Publication Number Publication Date
TW201624276A TW201624276A (en) 2016-07-01
TWI550515B true TWI550515B (en) 2016-09-21

Family

ID=56984731

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103144144A TWI550515B (en) 2014-12-17 2014-12-17 System and method of source code quality management

Country Status (1)

Country Link
TW (1) TWI550515B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2602680B (en) 2021-03-19 2023-01-11 The Blockhouse Tech Limited Code deployment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136898A1 (en) * 2004-09-06 2006-06-22 Bosscha Albert J Method of providing patches for software
TWI305324B (en) * 2006-02-23 2009-01-11
US20090222916A1 (en) * 2005-09-22 2009-09-03 James Blaisdell Embedded patch management
TWI412995B (en) * 2007-08-17 2013-10-21 Salesforce Com Inc On-demand database service system, method, and computer program product for verifying that a developed application will operate properly with at least one other application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136898A1 (en) * 2004-09-06 2006-06-22 Bosscha Albert J Method of providing patches for software
US20090222916A1 (en) * 2005-09-22 2009-09-03 James Blaisdell Embedded patch management
TWI305324B (en) * 2006-02-23 2009-01-11
TWI412995B (en) * 2007-08-17 2013-10-21 Salesforce Com Inc On-demand database service system, method, and computer program product for verifying that a developed application will operate properly with at least one other application
TWI464611B (en) * 2007-08-17 2014-12-11 Salesforce Com Inc On-demand database service system, method, and computer program product for verifying that a developed application will operate properly with at least one other application

Also Published As

Publication number Publication date
TW201624276A (en) 2016-07-01

Similar Documents

Publication Publication Date Title
US10019256B2 (en) Systems and methods for incremental software development
CN106528100B (en) System and method for model-based techniques and processes for safety-critical software development
US11138366B2 (en) Systems and methods for automated code validation
US8412953B2 (en) System and method for annotation driven integrity verification
KR20140088551A (en) Server upgrades with safety checking and preview
CN106796522A (en) System and method for updating source code file
CN107436794A (en) container image management system and method
KR20200139435A (en) Document information management apparatus capable of managing document information based on a block chain and operating method thereof
US8086455B2 (en) Model development authoring, generation and execution based on data and processor dependencies
US20090193392A1 (en) Dynamic intermediate language modification and replacement
US11716319B2 (en) Software deployment certification
TWI550515B (en) System and method of source code quality management
JP2015026262A (en) Compiling method, program, and compiling device
CN111625294A (en) Server project execution method, device and related equipment
CN115599400A (en) Method, system and medium for rapidly constructing Docker mirror image
KR102054980B1 (en) Computing system and method for automatically generating embedded software on virtualized system
CN119293797A (en) A code submission method, a code submission system, a computer device and a storage medium
Spall et al. Forward build systems, formally
CN119513116A (en) Data persistence method, device, equipment, medium and program product
CN112445761A (en) File checking method and device and storage medium
CN113568834A (en) SDK code compatibility detection method, device, computer equipment and medium
CN105867887A (en) original code quality management system and method
KR102782340B1 (en) Method for managing data history and device performing the same
KR20240025849A (en) Method, Apparatus and System for Distributing Software
CN115934104A (en) Code compiling method, device and computer-readable storage medium in software development

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees
MM4A Annulment or lapse of patent due to non-payment of fees