WO2015088067A1 - Software quality element extraction module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality element extraction method - Google Patents

Software quality element extraction module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality element extraction method Download PDF

Info

Publication number
WO2015088067A1
WO2015088067A1 PCT/KR2013/011427 KR2013011427W WO2015088067A1 WO 2015088067 A1 WO2015088067 A1 WO 2015088067A1 KR 2013011427 W KR2013011427 W KR 2013011427W WO 2015088067 A1 WO2015088067 A1 WO 2015088067A1
Authority
WO
WIPO (PCT)
Prior art keywords
quality
verification
quality factor
software
verification data
Prior art date
Application number
PCT/KR2013/011427
Other languages
French (fr)
Korean (ko)
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 슈어소프트테크주식회사
Publication of WO2015088067A1 publication Critical patent/WO2015088067A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics

Definitions

  • Embodiments relate to a software quality component extraction module and method and a computer readable recording medium having recorded thereon a program for executing the software quality component extraction method.
  • the method for evaluating the quality of the software is mostly based on the manual method of analyzing the quality data of the software by system developers.
  • the quality data is visually simply listed on a display device such as a monitor.
  • An embodiment provides a computer-readable recording medium having recorded thereon a quality element extraction module and method of software for extracting quality elements used in a quality evaluation module of software and a program for executing the software quality element extraction method.
  • a module includes a quality factor extraction module for extracting a quality factor used in a quality evaluation module of software, comprising: a verification performer for verifying source code to extract verification data; And a quality factor extractor for extracting the quality factor from the extracted verification data.
  • the module according to the embodiment is a quality factor extraction module for extracting a quality factor used in the quality evaluation module of the software, and includes a verification performer for verifying source code, wherein the verification performer extracts verification data from the source code. And extracting at least one verification tool unit, wherein the verification tool unit transmits some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API).
  • API application programming interface
  • the quality factor extraction method for extracting the quality factor used in the quality evaluation module of the software source code verification step of extracting the verification data by verifying the source code; And a quality factor generation step of extracting the quality factor from the extracted verification data.
  • the quality element extraction method for extracting the quality element used in the quality evaluation module of the software the source code verification step of verifying the source code to extract the verification data; And transmitting some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API).
  • API application programming interface
  • FIG. 1 is a block diagram of a software quality management system according to an embodiment.
  • FIG. 2 is a block diagram for describing in detail the quality factor extraction module 300 shown in FIG. 1.
  • FIG. 4 is a detailed block diagram of the quality assessment module 500 shown in FIG. 1.
  • 5 to 8 are examples in which a quality score is displayed on a display device.
  • FIG. 9 is a flowchart of a software quality management method according to the embodiment.
  • FIG. 10 is a flowchart detailing the quality factor extraction step S300 shown in FIG. 9.
  • FIG. 11 is a flow chart embodying the quality evaluation step S500 shown in FIG. 9.
  • FIG. 1 is a block diagram of a software quality management system according to an embodiment.
  • the quality management system may include a source code file repository 100, a quality element extraction module 300, a quality evaluation module 500, and a display module 700.
  • the source code file repository 100 is a device for storing source code files of specific software.
  • the source code file is a file including the source code constituting the software, the source code file may exist as one, or may exist in plurality. Multiple code files can make up a project.
  • the quality factor extraction module 300 receives a source code file.
  • the received source code file may be a plurality of source code files.
  • the single or plural source code files are stored in the external source code file repository 100 and may be input to the quality factor extraction module 100 at the request of the quality factor extraction module 100 or at the request of an external user.
  • the quality factor extraction module 300 extracts a plurality of quality elements from the received source code file, and outputs the extracted quality elements.
  • the output quality elements are input to the quality evaluation module 500.
  • the quality factor extracted by the quality factor extraction module 300 from a source code file refers to various criteria for determining the quality of a specific software. How the quality factor extraction module 300 extracts the quality factor will be described in detail with reference to FIGS. 2 to 3.
  • the quality evaluation module 500 receives the quality factor, and extracts and outputs a quality score using the received quality factor. How the quality evaluation module 500 extracts the quality score using the quality factor will be described in detail with reference to FIG. 4.
  • the quality factor extraction module 300 and the quality evaluation module 500 may be implemented in one piece of software, or the quality factor extraction module 300 and the quality evaluation module 500 may be implemented as separate software.
  • the display module 700 shows the quality score output from the quality evaluation module 500 to the user.
  • the display module 700 may be implemented as hardware such as a monitor.
  • FIG. 2 is a block diagram for describing in detail the quality factor extraction module 300 illustrated in FIG. 1.
  • the quality factor extraction module 300 may include a verification performer 310 and a quality factor extractor 330.
  • the verification performer 310 receives the source code file from the source code repository 100 and verifies the received source code file.
  • the verification performer 310 may include at least one verification tool part (first verification tool part 311, second verification tool part 313, and third verification tool part 315) to verify the source code in the source code file. ) May be included.
  • the verification tools 311, 313, 315 may include a code inspector, a controller tester, a compiler, and other verification tools.
  • the first verification tool 311 may calculate predetermined verification data from the source code and output the calculated verification data as one calculation file. Can be.
  • the calculation file as shown in FIG. 3, the number of items that violated coding rules in a specific project (MISRA Test Suite) (the total number of violations) and the diagnosis message, rule, severity, source, Data about functions, lines, and paths can be included.
  • the second verification tool 313 and the third verification tool 315 may also output a calculation file similarly to the first verification tool 311.
  • the second verification tool unit 313 of the verification performer 310 may store the verification data calculated from the source code in the database DB without outputting the verification data as a separate calculation file.
  • the first verification tool 311 and the third verification tool 315 may store verification data in the database similarly to the second verification tool 313.
  • the third verification tool unit 315 of the verification performer 310 may directly transmit verification data calculated from the source code to the quality evaluation module 500.
  • the verification data calculated by the third verification tool unit 315 may be transmitted to the quality evaluation module 500 without passing through the quality factor extractor 330 using an application programming interface (API).
  • the third verification tool unit 315 may select verification data required by the quality evaluation module 500 from the calculated verification data and transmit the selected verification data to the quality evaluation module 500.
  • the selected verification data transmitted to the quality evaluation module 500 may be stored in the storage of the quality evaluation module 500.
  • the first verification tool 311 and the second verification tool 313 may also directly transmit verification data to the quality evaluation module 500 similarly to the third verification tool 315.
  • the quality factor extractor 330 extracts a quality factor from the verification data calculated by the verification performer 310.
  • the quality factor extractor 330 may include at least one quality factor extractor (the first quality factor extractor 331 and the second quality factor extractor 333).
  • Each of the quality factor extractors 331 and 333 may correspond one-to-one or one-to-many with the verification tool units 311, 313, and 315 of the verification performer 310. That is, any one quality factor extractor may extract the quality factor using the verification data calculated by one verification tool unit of the verification performer 310, and another one quality factor extractor 310 may verify the verification factor 310. The quality factor may be extracted using the verification data calculated by the plurality of verification tool units.
  • the first verification tool unit 311 of the verification performer 310 is a code inspector and the first verification tool unit 311 outputs a predetermined calculation file
  • the first element of the quality factor extractor 330 may extract a quality factor using a calculation file.
  • the second verification tool unit 313 of the verification performer 310 is a code inspector and the second verification tool unit 313 stores the verification data in the database
  • the second quality of the quality factor extractor 330 may extract the quality factor using the verification data stored in the database.
  • Table 1 An example of the quality elements extracted by the first or second quality element extraction units 331 and 333 is shown in Table 1 below.
  • Table 1 above shows quality factors necessary to extract 'coding rule violation indicator values for each severity type', and the quality factors have IDs according to the severity type (very high, high, low, very low, etc.). Each ID has a predetermined value (number).
  • availability indicates whether the corresponding ID can be used in project units, file units, and function units.
  • one project is composed of a plurality of files (source code files), and one file is composed of a plurality of functions.
  • ID 41000 is 5 in Table 1, it means that there are 5 critical coding errors in the project or file. Also, if ID 41001 is 10, it means that there are 10 major coding errors in the project or file.
  • TABLE 2 ID name Availability project file function 11000 The number of test cases (TCs) with an Expected Value O O O 11001 Number of TCs Tested Among TCs with Expected Value O O O 11002 The number of passes among the TCs that contained the Expected Value and were tested O O O
  • Table 2 above shows the quality factors needed to extract 'test coverage indicator values for requirements'.
  • FIG. 4 is a detailed block diagram of the quality evaluation module 500 illustrated in FIG. 1.
  • the quality evaluation module 500 may extract a comprehensive quality score by using quality factors received from the quality factor extraction module 300.
  • the quality evaluation module 500 may include a quality index extractor 510, a quality feature extractor 530, and a quality score extractor 550.
  • the quality index extractor 510 may receive quality factors and extract quantitative quality index values for each quality index by using the received quality factors.
  • the quality indicator value may be extracted by substituting a predetermined quality indicator into the received quality elements.
  • the quality index calculation formula may be a calculation formula predetermined by the user, or may be a formula predetermined by the software provider.
  • the quality indicator extractor 510 extracts the quality indicator value of the coding rule violation index by severity using the quality factors of Table 1, the quality index calculation formula of the coding rule violation indicator by the severity is Equation 1 below may be used.
  • the meaning of the coding rule violation index according to the severity is an indicator that can measure reliability through the number of coding rule violation items affecting the software. As the value of this indicator is larger, it is determined that the software has many potential errors and low reliability. Can be.
  • M is a coding rule violation index value according to severity
  • NumOfViolation severity is the number of violation items by type of severity.
  • the types of severities include severity very high (Major), severity (Major), low severity (Minor) and very low severity (Trivial).
  • Critical means that an error correction is necessary because it has a very serious effect on the software, and Major means that error correction is strongly recommended because it can affect the software.
  • Minor Means that error correction is recommended because it can affect the software.
  • Very low Trivial means that error correction is recommended, although there is no significant effect on the software.
  • Equation 1 may be modified and changed by a software provider or by a user.
  • the quality indicator extractor 510 extracts a quality indicator value of a test coverage indicator for a requirement using the quality factors of Table 2, the quality of the test coverage indicator for the requirement is determined.
  • the quality index calculation formula may be Equation 2 below.
  • the meaning of the test coverage index for the requirement is an index for measuring the completeness of the verification request function by checking whether the test is performed on the requirement versus the requirement.
  • CVR req is a requirement coverage index value
  • NumOfReq ExecutedTest is a number of requirements confirmed through test execution
  • NumOfReq Total is a total number of requirements.
  • Equation 2 may be modified and changed by a software provider or by a user.
  • the quality index extractor 510 may extract not only one quality index but also quality index values of each of the plurality of quality indexes. For example, the quality indicator extractor 510 not only the coding rule violation index value and the test coverage index value for the requirement as described above, but also the coding rule violation density index value and warning / error (Warning / Error).
  • the coding rule violation density index is an index for measuring reliability through relative comparison with other software using the number of coding rule violation items per source code line. A lower value for this indicator means fewer potential errors in the software, which means higher reliability.
  • Warning / Error indicators are severity indicators for warnings and errors that occur when compiling software.
  • the complexity indicator is an indicator that shows the status of the complexity of each function. This indicator shows the ease of maintenance of the software based on the number of functions with function complexity above the allowable value.
  • the MC / DC validity index is an index capable of confirming the status of validity results for each function of MC / DC.
  • This indicator shows the ratio of test cases that satisfy the MC / DC of all Boolean expressions in the function and test cases that satisfy the MC / DC of all branch conditional expressions in the function. By measuring, the ease of maintenance of the software can be confirmed.
  • Annotation rate index is an indicator that can check the status of the rate of annotations included in each file of the software. This indicator helps to verify the ease of maintenance of the software by checking whether the percentage of comments used to describe the contents of each file and function is sufficient. It can have a value of 0% when no comment is written, a value of 100% if the comment is written in the same amount as the source, and a value of 100% or more if more comments are written than the source.
  • the effective number of lines index is an index which can confirm whether or not the limit of valid lines is violated except for blank lines and comments for each function. Through this indicator, software maintainability can be confirmed by using the limited number of valid lines evaluation criteria to check whether the number of valid lines for each function is violated.
  • the and / or number index of the conditional expression is an index capable of confirming whether the number of and / or conditions of each conditional expression in the function exceeds the limit number. Increasing the number of and / or conditions in each conditional expression in a function can reduce the intelligibility of the source code, making the software less understandable.
  • the number of arguments and global variable index for each function is an index about the number of function arguments and the number of global variables.
  • a large number of arguments and a global variable of a function means that a large number of software variables are used to cause an error.
  • the state coverage indicator is an indicator for measuring reliability by measuring the quality of the software test by checking the state of the state coverage. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
  • the Branch Coverage Index is an indicator for measuring reliability by measuring the quality of software tests by checking the status of branch coverage. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
  • the MC / DC index is an index for measuring reliability by measuring the quality of software tests by checking the MC / DC status. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
  • the calibration data coverage indicator is an indicator that can confirm the designed memory usage by checking the size and maximum usage of the calibration memory area. By checking this indicator, you can verify that you have a good design and that a sufficient resource usage test has been performed.
  • the redistribution index of modules is an indicator that can confirm the status of redistribution of major modules. This indicator can be used to identify violations of a given process for activities that exceed the limited number of module redistributions.
  • the multiple developer management function / module indicator is an indicator that can determine whether a change in function or module is caused by multiple developers. If multiple developers make changes to a specific function and module at the same time, it may be unintentionally reflected, so this indicator can confirm this.
  • the portability check index is an index for checking the change history of files that should not be changed. This metric allows you to measure the portability of your software by checking for modifications to files that should not occur.
  • the portability check list indicator is an indicator capable of confirming a positive response rate in an evaluation check list related to portability quality characteristics.
  • the response of the check list is entered directly by the user.
  • the resource efficiency check list indicator is an indicator that can confirm the positive response rate in the evaluation check list considering the resource efficiency of the software.
  • the response of the check list is entered directly by the user.
  • the necessary quality factors and the quality indicator calculation formula are preset by the software provider or the user.
  • the quality characteristic extractor 530 receives a plurality of quality indicators extracted from the quality indicator extractor 510 and quality indicator values for the quality indicators, and groups the received quality indicators according to a preset condition. Create quality attribute groups.
  • the preset condition may be determined by a software provider or a user. As a specific example, referring to Table 3 below, the preset condition may include a plurality of quality indicators including a static quality characteristic, a dynamic quality characteristic, and a process quality characteristic. May be grouped together.
  • the quality characteristic extractor 550 groups a plurality of quality indicators as shown in Table 3, and then assigns a predetermined weight (first weight) to quality indicator values of each of the quality indicators in each group.
  • the first weight is assigned to each of the nine quality indicator values in the static quality characteristic, the first weight is assigned to each of the six quality indicator values in the dynamic quality characteristic, and the process quality characteristic.
  • a first weight is assigned to each of the five quality indicator values in the.
  • the first weight may be set to different values depending on the case of the project and the case of the file. For example, the first weight of the coding rule violation indicator value for each severity may be set to 12% in the project, and the first weight of the coding rule violation indicator value for each severity may be set to 15% in the project.
  • the first weight is a value preset by the software provider or the user, and is not limited to Table 3 above.
  • the first weight may be changed to various values by the software provider or the user.
  • the quality characteristic extractor 550 assigns a first weight to each of the quality index values, and then extracts a quantitative quality characteristic value.
  • the quality score extractor 550 receives the plurality of quality characteristic values extracted by the quality characteristic extractor 530, and assigns a predetermined weight (second weight) to each of the received quality characteristic values.
  • the second weight (40%) is assigned to the static quality characteristic value
  • the second weight (30%) is assigned to the dynamic quality characteristic value
  • the third quality is assigned to the process quality characteristic value. Weight (30%).
  • the second weight may be set to different values depending on the case of the project and the case of the file.
  • the second weight of the static quality characteristic value in the project may be set to 40%
  • the second weight of the static quality characteristic value in the file may be set to 60%.
  • the second weight is a value preset by the software provider or the user, and is not limited to Table 3 above.
  • the second weight may be changed to various values by the software provider or the user.
  • the quality score extractor 550 assigns a predetermined weight (second weight) to each of the received quality characteristic values, and then extracts a quantitative comprehensive quality score.
  • the extracted comprehensive quality score is transmitted to the display module 700 illustrated in FIG. 1, and the display module 700 is received from the quality score extractor 550.
  • the integrated quality score can be displayed to a user on a display device such as a monitor.
  • 5 to 8 illustrate examples in which a quality score is displayed on a display device for each project or file.
  • 5 is a window showing a project list, in which project 001 and project 002 are displayed in the window. For each project, the date of creation, the latest round, the quality assessment model, and the overall quality score are listed and a graph of the change over time of the overall quality score is shown.
  • FIG. 6 is a window showing specific information of any one project of FIG. 5, in which a comprehensive quality score, a file list, and a quality index list are described.
  • 7 to 8 are windows showing a list of one of a plurality of files of a project and a specific comprehensive quality score.
  • FIG. 9 is a flowchart of a software quality management method according to the embodiment.
  • the quality control method may include a quality element extraction step S100, a quality evaluation step S300, and a quality score display step S500.
  • the quality factor extraction step S100 extracts a quality factor from a source code file of software.
  • the extraction method of the quality factor will be described in detail with reference to FIG. 10.
  • the quality evaluation step S300 extracts a quality score using the quality elements extracted in step S100. A method of extracting the quality score will be described in detail with reference to FIG. 11.
  • the quality score display step S500 displays the quality score extracted in step S300 on a display device such as a monitor.
  • FIG. 10 is a flowchart illustrating the quality factor extraction step S300 illustrated in FIG. 9.
  • the quality factor extraction step S300 may include a source code verification step S310 and a quality factor generation step S330.
  • the source code verification step S310 verifies the input source code file using at least one verification tool.
  • the input source code file may be verified using a code inspector, a controller tester, a compiler, and other verification tools.
  • predetermined verification data are calculated according to each verification tool.
  • the calculated verification data may be output as a calculation file as shown in FIG. 3 or may be stored in the database DB.
  • the verification data calculated in the source code verification step S310 is not output to a calculation file or stored in a database, and some predetermined verification data may be directly used as a quality factor.
  • the quality element is transmitted to the quality evaluation module 500 of FIG. 4 through an API (Application Programming Interface), and can be immediately used in the quality evaluation step S500 of FIG. 5.
  • the quality factor generation step S330 generates a quality factor from the verification data calculated in step S310.
  • a quality factor may be generated by selecting some verification data from the calculation file.
  • the selected verification data may be data required in the quality evaluation step S500.
  • the quality factor generation step S330 may generate a quality factor as shown in Table 1 above from verification data related to the severity of the source code.
  • FIG. 11 is a flowchart illustrating the quality evaluation step S500 illustrated in FIG. 9.
  • the quality evaluation step S500 may include a quality index extraction step S510, a quality characteristic extraction step S530, and a quality score extraction step S550.
  • the quality index extraction step S510 extracts a quantitative quality index value for each quality index by using the quality elements output in the quality element generation step S330 of FIG. 10.
  • the quality index value may be extracted by substituting the received quality factors into a predetermined quality index calculation equation.
  • the quality index calculation formula may be a calculation formula predetermined by the user, or may be a formula predetermined by the software provider.
  • the quality factors of Table 1 may be quantitatively extracted using Equation 1, and the quality factors of Table 2 may be extracted. Equation 2> can be used to extract quantitative quality indicator values.
  • quality metrics include coding rule violation indicators by severity, coding rule violation density indicators, warning / error indicators, complexity indicators, MC / DC validity indicators, annotation rate indicators, valid line count indicators, and conditional expressions. and / or count indicators, function and global variable count indicators, test coverage indicators for requirements, state coverage indicators, branch coverage indicators, MC / DC indicators, calibration data coverage (Calibration Data Coverage) indicators, module redistribution indicators, multiple developer management function / module indicators, portability check indicators, portability check list indicators, and resource efficiency check list indicators.
  • quality metrics include coding rule violation indicators by severity, coding rule violation density indicators, warning / error indicators, complexity indicators, MC / DC validity indicators, annotation rate indicators, valid line count indicators, and conditional expressions. and / or count indicators, function and global variable count indicators, test coverage indicators for requirements, state coverage indicators, branch coverage indicators, MC / DC indicators, calibration data coverage (Calibration Data Coverage) indicators, module redistribution indicators, multiple developer management function / module indicators, portability check indicators
  • the quality characteristic extraction step S530 generates a plurality of quality characteristic groups by grouping the plurality of quality indicators extracted in the above step S510 according to a preset condition. Then, a predetermined weight (first weight) is assigned to each of the quality indicators in each group. Then, the quantitative quality characteristic values of each group are extracted.
  • the detailed description is replaced with the above ⁇ Table 3> and the description thereof.
  • the quality score extraction step S550 extracts a quantitative comprehensive quality score by assigning a predetermined weight (second weight) to each of the plurality of quality characteristic values extracted in the above step S530.
  • the specific method is replaced with the description of the quality score extraction method described in the above quality score extraction unit 550.
  • the above-described embodiments may be embodied in the form of program instructions that can be executed by various computer components and recorded on a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to carry out the process according to the invention, and vice versa.

Abstract

One embodiment relates to a software quality element extraction module and method and a computer-readable recording medium having, recorded thereon, a program for implementing the software quality element extraction method. The software quality element extraction module according to the embodiment, which is a quality element extraction module that extracts quality elements used in a software quality evaluation module, comprises: a verifier for extracting verification data by verifying a source code; and a quality element extractor for extracting the quality elements from the extracted verification data.

Description

소프트웨어 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체A computer readable recording medium having recorded thereon a software quality component extraction module and method and a program for executing the software quality component extraction method.
실시 형태는 소프트웨어 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체에 관한 것이다. Embodiments relate to a software quality component extraction module and method and a computer readable recording medium having recorded thereon a program for executing the software quality component extraction method.
소프트웨어의 개발 과정에서, 소프트웨어의 품질을 평가하기 위한 방법은, 대부분 시스템 개발자들에 의해 소프트웨어의 품질 데이터들을 분석하는 수동적인 방법에 의하고 있다. In the software development process, the method for evaluating the quality of the software is mostly based on the manual method of analyzing the quality data of the software by system developers.
수동적인 방법의 하나의 예로, 품질 데이터들을 모니터와 같은 디스플레이 장치에 시각적으로 단순 나열하고 있다.As an example of a passive method, the quality data is visually simply listed on a display device such as a monitor.
이러한 수동적인 방법은, 적지 않은 품질 데이터들을 단순 나열하고 있기 때문에, 해당 소프트웨어가 현재 어느 정도의 품질을 유지하고 있는지 개발자가 직관적으로 판단하기 어려운 문제가 있다.Since this manual method simply lists a lot of quality data, it is difficult for a developer to intuitively determine the quality of the software.
실시 형태는 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 소프트웨어의 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체를 제공한다.An embodiment provides a computer-readable recording medium having recorded thereon a quality element extraction module and method of software for extracting quality elements used in a quality evaluation module of software and a program for executing the software quality element extraction method.
실시 형태에 따른 모듈은, 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 모듈로서, 소스 코드를 검증하여 검증 데이터를 추출하는 검증 수행기; 및 상기 추출된 검증 데이터로부터 상기 품질 요소를 추출하는 품질 요소 추출기;를 포함한다.A module according to an embodiment includes a quality factor extraction module for extracting a quality factor used in a quality evaluation module of software, comprising: a verification performer for verifying source code to extract verification data; And a quality factor extractor for extracting the quality factor from the extracted verification data.
또한, 실시 형태에 따른 모듈은, 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 모듈로서, 소스 코드를 검증하는 검증 수행기를 포함하고, 상기 검증 수행기는 상기 소스 코드로부터 검증 데이터를 추출하는 적어도 하나 이상의 검증 도구부를 포함하고, 상기 검증 도구부는 상기 검증 데이터에서 미리 약속된 일부 검증 데이터를 API(Application Programming Interface)를 통해 상기 품질 평가 모듈로 전송한다.In addition, the module according to the embodiment is a quality factor extraction module for extracting a quality factor used in the quality evaluation module of the software, and includes a verification performer for verifying source code, wherein the verification performer extracts verification data from the source code. And extracting at least one verification tool unit, wherein the verification tool unit transmits some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API).
또한, 실시 형태에 따른 방법은, 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 방법으로서, 소스 코드를 검증하여 검증 데이터를 추출하는 소스 코드 검증 단계; 및 상기 추출된 검증 데이터로부터 상기 품질 요소를 추출하는 품질 요소 생성 단계;를 포함한다.In addition, the method according to the embodiment, the quality factor extraction method for extracting the quality factor used in the quality evaluation module of the software, source code verification step of extracting the verification data by verifying the source code; And a quality factor generation step of extracting the quality factor from the extracted verification data.
또한, 실시 형태에 따른 방법은, 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 방법에 있어서, 소스 코드를 검증하여 검증 데이터를 추출하는 소스 코드 검증 단계; 및 상기 검증 데이터에서 미리 약속된 일부 검증 데이터를 API(Application Programming Interface)를 통해 상기 품질 평가 모듈로 전송하는 전송 단계;를 포함한다.In addition, the method according to the embodiment, the quality element extraction method for extracting the quality element used in the quality evaluation module of the software, the source code verification step of verifying the source code to extract the verification data; And transmitting some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API).
실시 형태에 따른 소프트웨어의 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체를 사용하면, 소프트웨어의 품질 평가 모듈에서 사용할 수 있는 품질 요소를 추출할 수 있는 이점이 있다.Using a computer-readable recording medium having recorded thereon a program for executing the software quality factor extraction module and method and software quality factor extraction method according to the embodiment, it is possible to extract quality factors that can be used in the software quality evaluation module. There is an advantage to that.
도 1은 실시 형태에 따른 소프트웨어 품질 관리 시스템의 블록도.1 is a block diagram of a software quality management system according to an embodiment.
도 2는 도 1에 도시된 품질 요소 추출 모듈(300)을 구체적으로 설명하기 위한 블록도.FIG. 2 is a block diagram for describing in detail the quality factor extraction module 300 shown in FIG. 1.
도 3은 산출 파일의 일 예.3 is an example of a calculation file.
도 4는 도 1에 도시된 품질 평가 모듈(500)의 구체적인 블록도.4 is a detailed block diagram of the quality assessment module 500 shown in FIG. 1.
도 5 내지 도 8은 품질 점수가 디스플레이 장치에 표시된 일 예.5 to 8 are examples in which a quality score is displayed on a display device.
도 9는 실시 형태에 따른 소프트웨어 품질 관리 방법의 순서도.9 is a flowchart of a software quality management method according to the embodiment.
도 10은 도 9에 도시된 품질 요소 추출 단계(S300)를 구체화한 순서도.FIG. 10 is a flowchart detailing the quality factor extraction step S300 shown in FIG. 9.
도 11은 도 9에 도시된 품질 평가 단계(S500)를 구체화한 순서도.FIG. 11 is a flow chart embodying the quality evaluation step S500 shown in FIG. 9.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 실시 형태에 따른 소프트웨어 품질 관리 시스템의 블록도이다.1 is a block diagram of a software quality management system according to an embodiment.
도 1을 참조하면, 실시 형태에 따른 품질 관리 시스템은, 소스 코드 파일 저장소(100), 품질 요소 추출 모듈(300), 품질 평가 모듈(500) 및 표시 모듈(700)를 포함할 수 있다. Referring to FIG. 1, the quality management system according to the embodiment may include a source code file repository 100, a quality element extraction module 300, a quality evaluation module 500, and a display module 700.
소스 코드 파일 저장소(100)는 특정 소프트웨어의 소스 코드 파일을 저장하는 장치이다. 여기서, 소스 코드 파일은 상기 소프트웨어를 구성하는 소스 코드가 포함된 파일로서, 소스 코드 파일은 하나로 존재할 수도 있고, 복수로 존재할 수도 있다. 복수의 코드 파일들이 하나의 프로젝트를 구성할 수 있다.The source code file repository 100 is a device for storing source code files of specific software. Here, the source code file is a file including the source code constituting the software, the source code file may exist as one, or may exist in plurality. Multiple code files can make up a project.
품질 요소 추출 모듈(300)는 소스 코드 파일을 수신한다. 수신되는 소스 코드 파일은 복수의 소스 코드 파일들일 수 있다. 단일 또는 복수의 소스 코드 파일은 외부의 소스 코드 파일 저장소(100)에 저장된 것으로서, 품질 요소 추출 모듈(100)의 요청 또는 외부 사용자의 요구에 의해 품질 요소 추출 모듈(100)로 입력될 수 있다.The quality factor extraction module 300 receives a source code file. The received source code file may be a plurality of source code files. The single or plural source code files are stored in the external source code file repository 100 and may be input to the quality factor extraction module 100 at the request of the quality factor extraction module 100 or at the request of an external user.
품질 요소 추출 모듈(300)는 수신되는 소스 코드 파일로부터 복수의 품질 요소들을 추출하고, 추출된 품질 요소들을 출력한다. 출력된 품질 요소들은 품질 평가 모듈(500)로 입력된다.The quality factor extraction module 300 extracts a plurality of quality elements from the received source code file, and outputs the extracted quality elements. The output quality elements are input to the quality evaluation module 500.
품질 요소 추출 모듈(300)이 소스 코드 파일로부터 추출하는 품질 요소란, 특정 소프트웨어의 품질을 판단할 수 있는 여러 기준들을 의미한다. 품질 요소 추출 모듈(300)이 품질 요소를 어떻게 추출하는지는 도 2 내지 도 3을 참조하여 구체적으로 설명하도록 한다.The quality factor extracted by the quality factor extraction module 300 from a source code file refers to various criteria for determining the quality of a specific software. How the quality factor extraction module 300 extracts the quality factor will be described in detail with reference to FIGS. 2 to 3.
품질 평가 모듈(500)는 품질 요소를 수신하고, 수신된 품질 요소를 이용하여 품질 점수를 추출 및 출력한다. 품질 평가 모듈(500)이 품질 요소를 이용하여 품질 점수를 어떻게 추출하는지는 도 4를 참조하여 구체적으로 설명하도록 한다.The quality evaluation module 500 receives the quality factor, and extracts and outputs a quality score using the received quality factor. How the quality evaluation module 500 extracts the quality score using the quality factor will be described in detail with reference to FIG. 4.
품질 요소 추출 모듈(300)과 품질 평가 모듈(500)은 하나의 소프트웨어로 구현될 수도 있고, 품질 요소 추출 모듈(300)과 품질 평가 모듈(500)이 서로 별개의 소프트웨어로서 구현될 수도 있다. The quality factor extraction module 300 and the quality evaluation module 500 may be implemented in one piece of software, or the quality factor extraction module 300 and the quality evaluation module 500 may be implemented as separate software.
표시 모듈(700)은 품질 평가 모듈(500)로부터 출력되는 품질 점수를 사용자에게 보여준다. 표시 모듈(700)은 모니터와 같은 하드웨어로서 구현될 수 있다.The display module 700 shows the quality score output from the quality evaluation module 500 to the user. The display module 700 may be implemented as hardware such as a monitor.
도 2는 도 1에 도시된 품질 요소 추출 모듈(300)을 구체적으로 설명하기 위한 블록도이다.FIG. 2 is a block diagram for describing in detail the quality factor extraction module 300 illustrated in FIG. 1.
도 2를 참조하면, 품질 요소 추출 모듈(300)은 검증 수행기(310)와 품질 요소 추출기(330)을 포함할 수 있다.Referring to FIG. 2, the quality factor extraction module 300 may include a verification performer 310 and a quality factor extractor 330.
검증 수행기(310)는 소스 코드 저장소(100)로부터 소스 코드 파일을 수신하고, 수신된 소스 코드 파일을 검증한다. 검증 수행기(310)는 소스 코드 파일 내의 소스 코드를 검증하기 위해, 적어도 하나 이상의 검증 도구부(제1 검증 도구부(311), 제2 검증 도구부(313) 및 제3 검증 도구부(315))를 포함할 수 있다. 검증 도구부들(311, 313, 315)은, 코드 조사기(code inspector), 컨트롤러 테스터(controller tester), 컴파일러(compiler) 및 기타 다른 검증 도구부들을 포함할 수 있다.The verification performer 310 receives the source code file from the source code repository 100 and verifies the received source code file. The verification performer 310 may include at least one verification tool part (first verification tool part 311, second verification tool part 313, and third verification tool part 315) to verify the source code in the source code file. ) May be included. The verification tools 311, 313, 315 may include a code inspector, a controller tester, a compiler, and other verification tools.
예를 들어, 제1 검증 도구부(311)가 코드 조사기인 경우, 제1 검증 도구부(311)는 소스 코드로부터 소정의 검증 데이터들을 산출하고, 산출된 검증 데이터들을 하나의 산출 파일로 출력할 수 있다. 상기 산출 파일에는, 도 3에 도시된 바와 같이, 특정 프로젝트(MISRA Test Suite)에서 코딩 규칙을 위배한 항목의 개수(전체 위배 수)와, 전체 위배 수 별로 각각 진단 메시지, 규칙, 심각도, 소스, 함수, 라인 및 경로에 관한 데이터가 포함될 수 있다. 여기서, 제2 검증 도구부(313)와 제3 검증 도구부(315)도 제1 검증 도구부(311)과 마찬가지로 산출 파일을 출력할 수 있다.For example, when the first verification tool 311 is a code inspector, the first verification tool 311 may calculate predetermined verification data from the source code and output the calculated verification data as one calculation file. Can be. In the calculation file, as shown in FIG. 3, the number of items that violated coding rules in a specific project (MISRA Test Suite) (the total number of violations) and the diagnosis message, rule, severity, source, Data about functions, lines, and paths can be included. Here, the second verification tool 313 and the third verification tool 315 may also output a calculation file similarly to the first verification tool 311.
한편, 검증 수행기(310)의 제2 검증 도구부(313)는 소스 코드로부터 산출된 검증 데이터를 별도의 산출 파일로 출력하지 않고, 데이터 베이스(DB)에 저장시킬 수 있다. 여기서, 제1 검증 도구부(311)와 제3 검증 도구부(315)도 제2 검증 도구부(313)와 마찬가지로 검증 데이터를 데이터 베이스에 저장시킬 수 있다.The second verification tool unit 313 of the verification performer 310 may store the verification data calculated from the source code in the database DB without outputting the verification data as a separate calculation file. Here, the first verification tool 311 and the third verification tool 315 may store verification data in the database similarly to the second verification tool 313.
한편, 검증 수행기(310)의 제3 검증 도구부(315)는 소스 코드로부터 산출된 검증 데이터를 품질 평가 모듈(500)로 직접 전송할 수 있다. 구체적으로, API(Application Programming Interface)를 사용하여 제3 검증 도구부(315)에서 산출된 검증 데이터를, 품질 요소 추출기(330)를 거치지 않고, 품질 평가 모듈(500)로 전송할 수 있다. 이 경우, 제3 검증 도구부(315)는 산출된 검증 데이터에서 품질 평가 모듈(500)이 필요로 하는 검증 데이터를 선택하고, 선택된 검증 데이터를 품질 평가 모듈(500)로 전송할 수 있다. 여기서, 품질 평가 모듈(500)로 전송된 선택된 검증 데이터는 품질 평가 모듈(500)의 저장소에 저장될 수 있다. 여기서, 제1 검증 도구부(311)와 제2 검증 도구부(313)도 제3 검증 도구부(315)와 마찬가지로 검증 데이터를 품질 평가 모듈(500)로 직접 전송할 수 있다.Meanwhile, the third verification tool unit 315 of the verification performer 310 may directly transmit verification data calculated from the source code to the quality evaluation module 500. In detail, the verification data calculated by the third verification tool unit 315 may be transmitted to the quality evaluation module 500 without passing through the quality factor extractor 330 using an application programming interface (API). In this case, the third verification tool unit 315 may select verification data required by the quality evaluation module 500 from the calculated verification data and transmit the selected verification data to the quality evaluation module 500. Here, the selected verification data transmitted to the quality evaluation module 500 may be stored in the storage of the quality evaluation module 500. Here, the first verification tool 311 and the second verification tool 313 may also directly transmit verification data to the quality evaluation module 500 similarly to the third verification tool 315.
품질 요소 추출기(330)는 검증 수행기(310)에서 산출된 검증 데이터에서 품질 요소를 추출한다. 품질 요소 추출기(330)는 적어도 하나 이상의 품질 요소 추출부들(제1 품질 요소 추출부(331), 제2 품질 요소 추출부(333))을 포함할 수 있다. The quality factor extractor 330 extracts a quality factor from the verification data calculated by the verification performer 310. The quality factor extractor 330 may include at least one quality factor extractor (the first quality factor extractor 331 and the second quality factor extractor 333).
품질 요소 추출부들(331, 333) 각각은 검증 수행기(310)의 검증 도구부들(311, 313, 315)과 일대일 또는 일대다로 대응할 수 있다. 즉, 어느 하나의 품질 요소 추출부는 검증 수행기(310)의 어느 하나의 검증 도구부에서 산출된 검증 데이터를 사용하여 품질 요소를 추출할 수도 있고, 또 다른 어느 하나의 품질 요소 추출부는 검증 수행기(310)의 복수의 검증 도구부들에서 산출된 검증 데이터들을 사용하여 품질 요소를 추출할 수도 있다. Each of the quality factor extractors 331 and 333 may correspond one-to-one or one-to-many with the verification tool units 311, 313, and 315 of the verification performer 310. That is, any one quality factor extractor may extract the quality factor using the verification data calculated by one verification tool unit of the verification performer 310, and another one quality factor extractor 310 may verify the verification factor 310. The quality factor may be extracted using the verification data calculated by the plurality of verification tool units.
구체적으로, 검증 수행기(310)의 제1 검증 도구부(311)가 코드 조사기이고, 이러한 제1 검증 도구부(311)가 소정의 산출 파일을 출력한 경우, 품질 요소 추출기(330)의 제1 품질 요소 추출부(331)는 산출 파일을 사용하여 품질 요소를 추출할 수 있다. 또한, 검증 수행기(310)의 제2 검증 도구부(313)가 코드 조사기이고, 제2 검증 도구부(313)가 검증 데이터를 데이터 베이스에 저장시킨 경우, 품질 요소 추출기(330)의 제2 품질 요소 추출부(333)는 데이터 베이스에 저장된 검증 데이터를 사용하여 품질 요소를 추출할 수 있다. 제1 또는 제2 품질 요소 추출부(331, 333)에서 추출된 품질 요소의 일 예는 아래의 <표 1>과 같다.Specifically, when the first verification tool unit 311 of the verification performer 310 is a code inspector and the first verification tool unit 311 outputs a predetermined calculation file, the first element of the quality factor extractor 330 The quality factor extractor 331 may extract a quality factor using a calculation file. In addition, when the second verification tool unit 313 of the verification performer 310 is a code inspector and the second verification tool unit 313 stores the verification data in the database, the second quality of the quality factor extractor 330 The element extractor 333 may extract the quality factor using the verification data stored in the database. An example of the quality elements extracted by the first or second quality element extraction units 331 and 333 is shown in Table 1 below.
표 1
ID 이름 가용 여부
프로젝트 파일 함수
41000 심각도 매우 높음 개수 O O X
41001 심각도 높음 개수 O O X
41002 심각도 낮음 개수 O O X
41003 심각도 매우 낮음 개수 O O X
41004 심각도 기타 개수 O O X
Table 1
ID name Availability
project file function
41000 Severity Very High Count O O X
41001 High Severity Count O O X
41002 Low Severity Count O O X
41003 Severity Very Low Count O O X
41004 Severity Other Count O O X
위 <표 1>는 ‘심각도 종류별 코딩 규칙 위배 지표 값’을 추출하기 위해 필요한 품질 요소들로서, 상기 품질 요소들은 심각도의 종류(매우 높음, 높음, 낮음, 매우 낮음, 기타)에 따른 ID들을 갖고, ID들 별로 소정의 값(개수)을 갖는다. 위 <표 1>에서, 가용 여부는 해당 ID가 프로젝트 단위, 파일 단위 및 함수 단위에서 사용될 수 있는지 여부를 나타내는 것이다. 여기서, 하나의 프로젝트는 복수의 파일(소스 코드 파일)들로 구성되고, 하나의 파일은 복수의 함수로 구성된다. Table 1 above shows quality factors necessary to extract 'coding rule violation indicator values for each severity type', and the quality factors have IDs according to the severity type (very high, high, low, very low, etc.). Each ID has a predetermined value (number). In Table 1 above, availability indicates whether the corresponding ID can be used in project units, file units, and function units. Here, one project is composed of a plurality of files (source code files), and one file is composed of a plurality of functions.
만약, 위 <표 1>에서 ID 41000이 5이면, 프로젝트 또는 파일에 매우 심각한(critical) 코딩 오류가 5개라는 의미이다. 또한, ID 41001이 10이면, 프로젝트 또는 파일에 심각한(major) 코딩 오류가 10개라는 의미이다.If the ID 41000 is 5 in Table 1, it means that there are 5 critical coding errors in the project or file. Also, if ID 41001 is 10, it means that there are 10 major coding errors in the project or file.
제1 또는 제2 품질 요소 추출부(331, 333)에서 추출된 품질 요소의 또 다른 예는 아래의 <표 2>와 같다.Another example of the quality factor extracted by the first or second quality factor extraction units 331 and 333 is shown in Table 2 below.
표 2
ID 이름 가용 여부
프로젝트 파일 함수
11000 Expected Value가 포함된 TC(Test Case)의 수 O O O
11001 Expected Value가 포함된 TC 중 시험 수행된 TC의 수 O O O
11002 Expected Value가 포함되고 시험 수행된 TC 중 패스(pass)의 수 O O O
TABLE 2
ID name Availability
project file function
11000 The number of test cases (TCs) with an Expected Value O O O
11001 Number of TCs Tested Among TCs with Expected Value O O O
11002 The number of passes among the TCs that contained the Expected Value and were tested O O O
위 <표 2>는 ‘요구 사항에 대한 시험 커버리지(Coverage) 지표 값’을 추출하기 위해 필요한 품질 요소들이다.Table 2 above shows the quality factors needed to extract 'test coverage indicator values for requirements'.
도 4는 도 1에 도시된 품질 평가 모듈(500)의 구체적인 블록도이다.4 is a detailed block diagram of the quality evaluation module 500 illustrated in FIG. 1.
도 4를 참조하면, 품질 평가 모듈(500)은 품질 요소 추출 모듈(300)로부터 수신되는 품질 요소들을 사용하여 종합 품질 점수를 추출할 수 있다. 이러한 품질 평가 모듈(500)은 품질 지표 추출부(510), 품질 특성 추출부(530) 및 품질 점수 추출부(550)를 포함할 수 있다.Referring to FIG. 4, the quality evaluation module 500 may extract a comprehensive quality score by using quality factors received from the quality factor extraction module 300. The quality evaluation module 500 may include a quality index extractor 510, a quality feature extractor 530, and a quality score extractor 550.
품질 지표 추출부(510)는, 품질 요소들을 수신하고, 수신된 품질 요소들을 사용하여 품질 지표 별 정량적인 품질 지표 값을 추출할 수 있다. 품질 지표 값은 수신된 품질 요소들을 미리 설정된 품질 지표 계산식 대입하여 추출될 수 있다. 여기서, 품질 지표 계산식은 사용자에 의해 미리 결정된 계산식일 수도 있고, 소프트웨어 제공자에 의해 미리 결정된 계산식일 수도 있다. The quality index extractor 510 may receive quality factors and extract quantitative quality index values for each quality index by using the received quality factors. The quality indicator value may be extracted by substituting a predetermined quality indicator into the received quality elements. Here, the quality index calculation formula may be a calculation formula predetermined by the user, or may be a formula predetermined by the software provider.
예를 들어, 품질 지표 추출부(510)가 위 <표 1>의 품질 요소들을 사용하여 심각도 별 코딩 규칙 위배 지표의 품질 지표 값을 추출하는 경우, 상기 심각도 별 코딩 규칙 위배 지표의 품질 지표 계산식은 아래의 <수학식 1>일 수 있다. 여기서, 상기 심각도 별 코딩 규칙 위배 지표의 의미는 소프트웨어에 영향을 미치는 코딩 규칙 위배 항목의 수를 통해 신뢰성을 측정할 수 있는 지표로서, 본 지표 값이 클수록 소프트웨어에 잠재적인 오류가 많고 신뢰도 낮다고 판단될 수 있다. For example, when the quality indicator extractor 510 extracts the quality indicator value of the coding rule violation index by severity using the quality factors of Table 1, the quality index calculation formula of the coding rule violation indicator by the severity is Equation 1 below may be used. Here, the meaning of the coding rule violation index according to the severity is an indicator that can measure reliability through the number of coding rule violation items affecting the software. As the value of this indicator is larger, it is determined that the software has many potential errors and low reliability. Can be.
수학식 1
Figure PCTKR2013011427-appb-M000001
Equation 1
Figure PCTKR2013011427-appb-M000001
위 <수학식 1>에서, M은 심각도 별 코딩 규칙 위배 지표 값이고, NumOfViolationseverity는 심각도의 종류 별 위배 항목의 수이다. 여기서, 심각도의 종류에는, 심각도 매우 높음(Critical), 심각도 높음(Major), 심각도 낮음(Minor) 및 심각도 매우 낮음(Trivial)이 있다. 심각도 매우 높음(Critical)은, 소프트웨어에 매우 심각한 영향을 미치므로 오류 수정이 필요하다는 의미이고, 심각도 높음(Major)은 소프트웨어에 영향을 미칠 수 있으므로 오류 수정이 강력히 권고된다는 의미이고, 심각도 낮음(Minor)은 소프트웨어에 영향을 줄 수 있으므로 오류 수정이 권장된다는 의미이고, 심각도 매우 낮음(Trivial)은 소프트웨어에 큰 영향은 없지만 오류 수정이 권장된다는 의미이다.In Equation 1, M is a coding rule violation index value according to severity , and NumOfViolation severity is the number of violation items by type of severity. Here, the types of severities include severity very high (Major), severity (Major), low severity (Minor) and very low severity (Trivial). Critical means that an error correction is necessary because it has a very serious effect on the software, and Major means that error correction is strongly recommended because it can affect the software. Minor ) Means that error correction is recommended because it can affect the software. Very low Trivial means that error correction is recommended, although there is no significant effect on the software.
위 <수학식 1>은 소프트웨어 제공자에 의해서 또는 사용자에 의해서도 수정 및 변경될 수 있다. Equation 1 may be modified and changed by a software provider or by a user.
또 다른 예를 들어, 품질 지표 추출부(510)가 위 <표 2>의 품질 요소들을 사용하여 요구 사항에 대한 시험 커버리지 지표의 품질 지표 값을 추출하는 경우, 상기 요구 사항에 대한 시험 커버리지 지표의 품질 지표 계산식은 아래의 <수학식 2>일 수 있다. 여기서, 상기 요구 사항에 대한 시험 커버리지 지표의 의미는 요구사항 대비 요구사항에 대한 시험 수행 여부를 확인함으로써 검증 요구 기능의 완전성을 측정하기 위한 지표이다.For another example, when the quality indicator extractor 510 extracts a quality indicator value of a test coverage indicator for a requirement using the quality factors of Table 2, the quality of the test coverage indicator for the requirement is determined. The quality index calculation formula may be Equation 2 below. Here, the meaning of the test coverage index for the requirement is an index for measuring the completeness of the verification request function by checking whether the test is performed on the requirement versus the requirement.
수학식 2
Figure PCTKR2013011427-appb-M000002
Equation 2
Figure PCTKR2013011427-appb-M000002
위 <수학식 2>에서, CVRreq는 요구 사항 커버리지 지표 값이고, NumOfReqExecutedTest는 시험 수행을 통해 확인한 요구 사항 개수이고, NumOfReqTotal는 전체 요구 사항 개수이다.In Equation 2, CVR req is a requirement coverage index value, NumOfReq ExecutedTest is a number of requirements confirmed through test execution, and NumOfReq Total is a total number of requirements.
위 <수학식 2>는 소프트웨어 제공자에 의해서 또는 사용자에 의해서도 수정 및 변경될 수 있다.Equation 2 may be modified and changed by a software provider or by a user.
품질 지표 추출부(510)는 하나의 품질 지표뿐만 아니라 복수의 품질 지표들 각각의 품질 지표 값들도 추출할 수 있다. 예를 들어, 품질 지표 추출부(510)는 앞서 설명한 심각도 별 코딩 규칙 위배 지표 값과 요구사항에 대한 시험 커버리지(Coverage) 지표 값뿐만 아니라, 코딩 규칙 위배 밀도 지표 값, 경고/에러(Warning/Error) 지표, 복잡도 지표 값, MC/DC 유효성 지표, 주석 비율 지표 값, 유효 라인수 지표 값, 조건식의 and/or 개수 지표 값, 함수별 인자 및 글로벌 변수 개수 지표 값, 상태 커버리지(Statement Coverage) 지표 값, 브렌치 커버리지(Branch Coverage) 지표 값, MC/DC 지표 값, 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 값, 모듈의 재배포 지표 값, 다수 개발자 관리 함수/모듈 지표 값, 이식성 확인 지표 값, 이식성 체크 리스트 지표 값 및 자원 효율성 체크 리스트 지표 값을 추출할 수 있다.The quality index extractor 510 may extract not only one quality index but also quality index values of each of the plurality of quality indexes. For example, the quality indicator extractor 510 not only the coding rule violation index value and the test coverage index value for the requirement as described above, but also the coding rule violation density index value and warning / error (Warning / Error). ), Complexity Indicator Value, MC / DC Effectiveness Indicator, Annotation Ratio Indicator Value, Effective Line Count Indicator Value, Conditional And / or Count Indicator Value, Function and Global Variable Count Indicator Value, State Coverage Indicator Values, branch coverage indicator values, MC / DC indicator values, calibration data coverage indicator values, module redistribution indicator values, multiple developer-managed function / module indicator values, portability check indicator values, portability checks List indicator values and resource efficiency check list indicator values can be extracted.
코딩 규칙 위배 밀도 지표는, 소스 코드 라인(line) 당 코딩 규칙 위배 항목의 수를 이용하여 다른 소프트웨어와의 상대적 비교를 통해 신뢰성을 측정하기 위한 지표이다. 본 지표 값이 낮을수록 소프트웨어의 잠재적 오류가 적음을 뜻하고, 이는 신뢰도가 높다는 의미이다.The coding rule violation density index is an index for measuring reliability through relative comparison with other software using the number of coding rule violation items per source code line. A lower value for this indicator means fewer potential errors in the software, which means higher reliability.
경고/에러(Warning/Error) 지표는, 소프트웨어의 컴파일 시에 발생하는 경고와 에러에 따른 심각도 지표이다. Warning / Error indicators are severity indicators for warnings and errors that occur when compiling software.
복잡도(Cyclomatic Complexity) 지표는, 각 함수 별 복잡도 정도의 현황을 보여주는 지표이다. 이 지표를 통해, 허용치 이상의 함수 복잡도를 가진 함수의 개수를 바탕으로 소프트웨어의 유지 보수의 용이성을 확인할 수 있다.The complexity indicator is an indicator that shows the status of the complexity of each function. This indicator shows the ease of maintenance of the software based on the number of functions with function complexity above the allowable value.
MC/DC 유효성 지표는, 각 함수 별 MC/DC 별 유효성 결과 현황을 확인할 수 있는 지표이다. 이 지표를 통해, MC/DC를 측정하는 시험 케이스에 대해 함수 내 모든 불린(Boolean) 수식의 MC/DC를 만족시키는 시험 케이스와 함수 내 모든 분기 조건식의 MC/DC를 만족시키는 시험 케이스의 비율을 측정함으로서 소프트웨어의 유지 보수의 용이성을 확인할 수 있다.The MC / DC validity index is an index capable of confirming the status of validity results for each function of MC / DC. This indicator shows the ratio of test cases that satisfy the MC / DC of all Boolean expressions in the function and test cases that satisfy the MC / DC of all branch conditional expressions in the function. By measuring, the ease of maintenance of the software can be confirmed.
주석 비율 지표는, 소프트웨어의 파일 별로 포함된 주석들의 비율 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 각 파일 및 함수의 내용을 설명하는데 활용하는 주석의 비율이 충분한지 여부를 확인함으로서 소프트웨어의 유지 보수 용이성을 확인할 수 있다. 주석이 하나도 기록되지 않았을 때는 0%의 값을 갖고, 소스와 동일한 양만큼 주석이 기록되면 100% 값을 갖고, 소스보다 더 많은 양의 주석이 기록되면 100% 이상의 값을 가질 수 있다.Annotation rate index is an indicator that can check the status of the rate of annotations included in each file of the software. This indicator helps to verify the ease of maintenance of the software by checking whether the percentage of comments used to describe the contents of each file and function is sufficient. It can have a value of 0% when no comment is written, a value of 100% if the comment is written in the same amount as the source, and a value of 100% or more if more comments are written than the source.
유효 라인수 지표는, 각 함수 별 공백 라인 및 주석을 제외한 유효 라인수의 제한 위배 여부 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 제한된 유효 라인 수 평가 기준을 사용하여 각 함수 별 유효 라인 수 제한 위배 여부를 확인함으로써 소프트웨어의 유지 보수 용이성을 확인할 수 있다.The effective number of lines index is an index which can confirm whether or not the limit of valid lines is violated except for blank lines and comments for each function. Through this indicator, software maintainability can be confirmed by using the limited number of valid lines evaluation criteria to check whether the number of valid lines for each function is violated.
조건식의 and/or 개수 지표는, 함수 내 각 조건식의 and/or 조건의 개수가 제한 개수를 초과하는지 여부를 확인할 수 있는 지표이다. 함수 내 각 조건식의 and/or 조건 개수의 증가는 소프트웨어의 유지 보수 시 소스 코드의 이해도를 떨어뜨려 소프트웨어의 유지 보수 용이성을 떨어뜨릴 수 있다.The and / or number index of the conditional expression is an index capable of confirming whether the number of and / or conditions of each conditional expression in the function exceeds the limit number. Increasing the number of and / or conditions in each conditional expression in a function can reduce the intelligibility of the source code, making the software less understandable.
함수별 인자 및 글로벌 변수 개수 지표는, 함수의 인자 개수 및 글로벌 변수의 개수에 관한 지표로서, 함수의 인자 개수와 글로벌 변수의 개수가 많다는 의미는 소프트웨어의 변인이 많아 오류 발생 가능성이 많다는 의미이다.The number of arguments and global variable index for each function is an index about the number of function arguments and the number of global variables. A large number of arguments and a global variable of a function means that a large number of software variables are used to cause an error.
상태 커버리지(Statement Coverage) 지표는, 상태 커버리지 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.The state coverage indicator is an indicator for measuring reliability by measuring the quality of the software test by checking the state of the state coverage. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
브렌치 커버리지(Branch Coverage) 지표는, 브렌치 커버리지 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.The Branch Coverage Index is an indicator for measuring reliability by measuring the quality of software tests by checking the status of branch coverage. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
MC/DC 지표는, MC/DC 현황을 확인함으로써 소프트웨어 시험의 품질을 측정하여 신뢰성을 측정하기 위한 지표이다. 이 지표 값이 클수록 소프트웨어의 검증이 충분했음을 의미하고, 신뢰도가 높다는 의미이다.The MC / DC index is an index for measuring reliability by measuring the quality of software tests by checking the MC / DC status. Larger values of this indicator indicate that the software has been adequately validated, which means higher reliability.
칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표는, 칼리브레이션 메모리 영역의 크기 및 최대 사용량을 확인함으로써 설계한 메모리 사용에 대한 확인이 가능한 지표이다. 본 지표를 확인하면, 올바른 설계가 되었는지, 충분한 자원 사용 테스트(Resource Usage Test)가 수행되었는지를 확인할 수 있다.The calibration data coverage indicator is an indicator that can confirm the designed memory usage by checking the size and maximum usage of the calibration memory area. By checking this indicator, you can verify that you have a good design and that a sufficient resource usage test has been performed.
모듈의 재배포 지표는, 주요 모듈의 재배포 여부 현황을 확인할 수 있는 지표이다. 이 지표를 통해, 제한된 모듈 재배포 횟수를 초과하는 행위를 정해진 프로세스 위반 여부를 확인할 수 있다.The redistribution index of modules is an indicator that can confirm the status of redistribution of major modules. This indicator can be used to identify violations of a given process for activities that exceed the limited number of module redistributions.
다수 개발자 관리 함수/모듈 지표는, 함수 또는 모듈의 변경이 다수의 개발자에 의해 발생하는지 여부를 확인할 수 있는 지표이다. 복수의 개발자가 특정 함수 및 모듈의 변경을 동시에 할 경우, 그 반영이 의도하지 않게 될 가능성이 있으므로, 본 지표를 통해 이를 확인할 수 있다.The multiple developer management function / module indicator is an indicator that can determine whether a change in function or module is caused by multiple developers. If multiple developers make changes to a specific function and module at the same time, it may be unintentionally reflected, so this indicator can confirm this.
이식성 확인 지표는, 변경이 일어나면 안 되는 파일들의 변경 이력을 확인할 수 있는 지표이다. 이 지표를 통해, 변경이 일어나면 안 되는 파일들에 대한 변경 시도 여부를 확인함으로써 소프트웨어의 이식성을 측정할 수 있다.The portability check index is an index for checking the change history of files that should not be changed. This metric allows you to measure the portability of your software by checking for modifications to files that should not occur.
이식성 체크 리스트 지표는, 이식성 품질 특성과 관련된 평가 체크 리스트에서 긍정 응답 비율을 확인할 수 있는 지표이다. 상기 체크 리스트의 응답은 사용자가 직접 입력한다.The portability check list indicator is an indicator capable of confirming a positive response rate in an evaluation check list related to portability quality characteristics. The response of the check list is entered directly by the user.
자원 효율성 체크 리스트 지표는, 소프트웨어의 자원 효율성을 고려한 평가 체크 리스트에서 긍정 응답 비율을 확인할 수 있는 지표이다. 상기 체크 리스트의 응답은 사용자가 직접 입력한다.The resource efficiency check list indicator is an indicator that can confirm the positive response rate in the evaluation check list considering the resource efficiency of the software. The response of the check list is entered directly by the user.
위에서 예로 든 각 여러 품질 지표 값들을 추출하기 위해, 필요한 품질 요소들과 품질 지표 계산식이 소프트웨어 제공자 또는 사용자에 의해 미리 설정된다. In order to extract each of the various quality indicator values mentioned above, the necessary quality factors and the quality indicator calculation formula are preset by the software provider or the user.
품질 특성 추출부(530)는, 품질 지표 추출부(510)에서 추출된 복수의 품질 지표들과 품질 지표들 별 품질 지표 값들을 수신하고, 수신된 품질 지표들을 미리 설정된 조건에 따라 그룹화하여 복수의 품질 특성 그룹들을 생성한다. 여기서, 미리 설정된 조건은 소프트웨어 제공자 또는 사용자에 의해 결정될 수 있는데, 구체적인 일 예로서, 아래 <표 3>을 참조하면, 미리 설정된 조건은 복수의 품질 지표들을 정적 품질 특성, 동적 품질 특성 및 프로세스 품질 특성으로 그룹화하는 것일 수 있다.The quality characteristic extractor 530 receives a plurality of quality indicators extracted from the quality indicator extractor 510 and quality indicator values for the quality indicators, and groups the received quality indicators according to a preset condition. Create quality attribute groups. Here, the preset condition may be determined by a software provider or a user. As a specific example, referring to Table 3 below, the preset condition may include a plurality of quality indicators including a static quality characteristic, a dynamic quality characteristic, and a process quality characteristic. May be grouped together.
표 3
품질 특성(a, b)a: 프로젝트일 때의 제2 가중치,b: 파일일 때의 제2 가중치 품질 지표(c, d)c: 프로젝트일 때의 제1 가중치d: 파일일 때의 제1 가중치
정적 (40%, 60%) 1. 심각도 별 코딩 규칙 위배 지표 (12%, 15%)2. 코딩 규칙 위배 밀도 지표 (12%, 15%)3. 경고/에러(Warning/Error) 지표 (11%, none)4. 복잡도 지표 (15%, 15%)5. MC/DC 유효성 지표 (10%, 15%)6. 주석 비율 지표 (10%, 15%)7. 유효 라인수 지표 (10%, none)8. 조건식의 and/or 개수 지표 (10%, 15%)9. 함수별 인자 및 글로벌 변수 개수 지표 (10%, 10%)
동적 (30%, 40%) 1. 요구사항에 대한 시험 커버리지(Coverage) 지표 (25%, none)2. 상태 커버리지(Statement Coverage) 지표 (10%, 30%)3. 브렌치 커버리지(Branch Coverage) 지표 (20%, 30%)4. MC/DC 지표 (20%, 40%)5. 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표 (25%, none)
프로세스 (30%, none) 1. 모듈의 재배포 지표 (20%, none)2. 다수 개발자 관리 함수/모듈 지표 (20%, none)3. 이식성 확인 지표 (20%, none)4. 이식성 체크 리스트 지표 (20%, none)5. 자원 효율성 체크 리스트 지표 (20%, none)
TABLE 3
Quality characteristics (a, b) a: second weight when a project, b: second weight when a file Quality indicators (c, d) c: first weight in the project d: first weight in the file
Static (40%, 60%) Coding rule violation indicators by severity (12%, 15%) 2. Coding Rule Violation Density Index (12%, 15%) 3. Warning / Error Indicator (11%, none) 4. Complexity indicators (15%, 15%) 5. MC / DC effectiveness indicators (10%, 15%) 6. Tin ratio indicator (10%, 15%) 7. Effective Line Count Indicator (10%, none) 8. And / or number indicators in conditional expressions (10%, 15%) 9. Number of arguments and global variables by function (10%, 10%)
Dynamic (30%, 40%) Test Coverage Indicators for Requirements (25%, none) 2. State coverage indicators (10%, 30%) 3. Branch coverage indicators (20%, 30%) 4. MC / DC indicators (20%, 40%) 5. Calibration Data Coverage Metrics (25%, none)
Process (30%, none) Redistribution index of modules (20%, none) 2. Multiple developer managed function / module metrics (20%, none) 3. Portability check indicator (20%, none) 4. Portability Checklist Indicators (20%, none) 5. Resource Efficiency Checklist Indicators (20%, none)
품질 특성 추출부(550)는 위 <표 3>과 같이 복수의 품질 지표들을 그룹화한 후, 각 그룹 내의 품질 지표들 각각의 품질 지표 값들에 소정의 가중치(제1 가중치)를 부여한다. The quality characteristic extractor 550 groups a plurality of quality indicators as shown in Table 3, and then assigns a predetermined weight (first weight) to quality indicator values of each of the quality indicators in each group.
구체적으로, 위 <표 3>과 같이, 정적 품질 특성 내의 9개의 품질 지표 값들 각각에 제1 가중치를 부여하고, 동적 품질 특성 내의 6개의 품질 지표 값들 각각에 제1 가중치를 부여하고, 프로세스 품질 특성 내의 5개의 품질 지표 값들 각각에 제1 가중치를 부여한다. Specifically, as shown in Table 3, the first weight is assigned to each of the nine quality indicator values in the static quality characteristic, the first weight is assigned to each of the six quality indicator values in the dynamic quality characteristic, and the process quality characteristic. A first weight is assigned to each of the five quality indicator values in the.
위 <표 3>과 같이, 제1 가중치는 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정될 수 있다. 예를 들어, 프로젝트에서 심각도 별 코딩 규칙 위배 지표 값의 제1 가중치를 12%로 설정되고, 파일에서 심각도 별 코딩 규칙 위배 지표 값의 제1 가중치를 15%로 설정될 수 있다. As shown in Table 3, the first weight may be set to different values depending on the case of the project and the case of the file. For example, the first weight of the coding rule violation indicator value for each severity may be set to 12% in the project, and the first weight of the coding rule violation indicator value for each severity may be set to 15% in the project.
제1 가중치는 소프트웨어 제공자 또는 사용자에 의해 미리 설정된 값으로서, 위 <표 3>으로 한정되는 것은 아니며, 소프트웨어 제공자 또는 사용자에 의해 다양한 값으로 변경될 수 있다.The first weight is a value preset by the software provider or the user, and is not limited to Table 3 above. The first weight may be changed to various values by the software provider or the user.
품질 특성 추출부(550)는 품질 지표 값들 각각에 제1 가중치를 부여한 후, 정량적인 품질 특성 값을 추출한다.The quality characteristic extractor 550 assigns a first weight to each of the quality index values, and then extracts a quantitative quality characteristic value.
구체적인 예를 위 <표 3>을 참조하여 설명하면, 만약, 정적 품질 특성의 1번 지표 값이 90, 2번 지표 값이 100, 3번 지표 값이 90, 4번 지표 값이 100, 5번 지표 값이 100, 6번 지표 값이 100, 7번 지표 값이 100, 8번 지표 값이 100, 9번 지표 값이 100이면, 정적 품질 특성 값은 97.7(= (1번 지표 값)*(제1 가중치) + …… + (6번 지표 값)*(제1 가중치))이 된다.If a specific example is described with reference to Table 3 above, if the number 1 index value of the static quality characteristics is 90, the value 2 is 100, the value 3 is 90, the value 4 is 100, 5 If the value of the indicator is 100, the number 6 is 100, the value of the number 7 is 100, the value of the number 8 is 100, the value of the number 9 is 100, the value of the static quality characteristic is 97.7 (= (value of the number 1) * ( First weight) + ... ... + (index 6) * (first weight).
품질 점수 추출부(550)는, 품질 특성 추출부(530)에서 추출된 복수의 품질 특성 값들을 수신하고, 수신된 품질 특성 값들 각각에 미리 설정된 소정의 가중치(제2 가중치)를 부여한다. The quality score extractor 550 receives the plurality of quality characteristic values extracted by the quality characteristic extractor 530, and assigns a predetermined weight (second weight) to each of the received quality characteristic values.
구체적으로, 위 <표 3>과 같이, 정적 품질 특성 값에는 제2 가중치(40%)를 부여하고, 동적 품질 특성 값에는 제2 가중치(30%)를 부여하고, 프로세스 품질 특성 값에는 제3 가중치(30%)를 부여한다.Specifically, as shown in Table 3, the second weight (40%) is assigned to the static quality characteristic value, the second weight (30%) is assigned to the dynamic quality characteristic value, and the third quality is assigned to the process quality characteristic value. Weight (30%).
위 <표 3>과 같이, 제2 가중치는 프로젝트인 경우와 파일인 경우에 따라 서로 다른 값으로 설정될 수 있다. 예를 들어, 프로젝트에서 정적 품질 특성 값의 제2 가중치를 40%로 설정되고, 파일에서 정적 품질 특성 값의 제2 가중치를 60%으로 설정될 수 있다.As shown in Table 3, the second weight may be set to different values depending on the case of the project and the case of the file. For example, the second weight of the static quality characteristic value in the project may be set to 40%, and the second weight of the static quality characteristic value in the file may be set to 60%.
여기서, 제2 가중치는 소프트웨어 제공자 또는 사용자에 의해 미리 설정된 값으로서, 위 <표 3>으로 한정되는 것은 아니며, 소프트웨어 제공자 또는 사용자에 의해 다양한 값으로 변경될 수 있다.Here, the second weight is a value preset by the software provider or the user, and is not limited to Table 3 above. The second weight may be changed to various values by the software provider or the user.
품질 점수 추출부(550)는 수신된 품질 특성 값들 각각에 소정의 가중치(제2 가중치)를 부여한 후, 정량적인 종합 품질 점수를 추출한다.The quality score extractor 550 assigns a predetermined weight (second weight) to each of the received quality characteristic values, and then extracts a quantitative comprehensive quality score.
구체적인 예를 위 <표 3>을 참조하여 설명하면, 만약, 정적 품질 특성 값이 97.7, 동적 품질 특성 값이 98.4, 프로세스 품질 특성 값이 96.4이면, 종합 품질 점수는 97.52(= (정적 품질 특성 값)*(제2 가중치) + (동적 품질 특성 값)*(제2 가중치) + (프로세스 품질 특성 값)*(제2 가중치))이 된다.For example, referring to Table 3 above, if the static quality characteristic value is 97.7, the dynamic quality characteristic value is 98.4, and the process quality characteristic value is 96.4, the overall quality score is 97.52 (= (static quality characteristic value). ) * (Second weight) + (dynamic quality characteristic value) * (second weight) + (process quality characteristic value) * (second weight).
품질 점수 추출부(550)에서 종합 품질 점수가 추출되면, 추출된 종합 품질 점수는 도 1에 도시된 표시 모듈(700)로 전송되고, 표시 모듈(700)은 품질 점수 추출부(550)로부터 수신된 종합 품질 점수를 사용자에게 모니터와 같은 디스플레이 장치에 표시할 수 있다. When the comprehensive quality score is extracted by the quality score extractor 550, the extracted comprehensive quality score is transmitted to the display module 700 illustrated in FIG. 1, and the display module 700 is received from the quality score extractor 550. The integrated quality score can be displayed to a user on a display device such as a monitor.
프로젝트 별 또는 파일 별로 품질 점수가 디스플레이 장치에 표시된 일 예가 도 5 내지 도 8에 도시되어 있다.5 to 8 illustrate examples in which a quality score is displayed on a display device for each project or file.
도 5는 프로젝트 목록을 보여주는 창으로서, 프로젝트 001과 프로젝트 002가 창에 디스플레이되고 있다. 각 프로젝트 별로 생성일, 최신 회차, 품질 평가 모델, 종합 품질 점수가 기재되어 있고, 종합 품질 점수의 기간에 따른 변화에 대한 그래프가 도시되어 있다.5 is a window showing a project list, in which project 001 and project 002 are displayed in the window. For each project, the date of creation, the latest round, the quality assessment model, and the overall quality score are listed and a graph of the change over time of the overall quality score is shown.
도 6은 도 5의 어느 한 프로젝트의 구체적인 정보를 보여주는 창으로서, 종합 품질 점수, 파일 목록 및 품질 지표 목록이 기재되어 있다.FIG. 6 is a window showing specific information of any one project of FIG. 5, in which a comprehensive quality score, a file list, and a quality index list are described.
도 7 내지 도 8은 어느 한 프로젝트의 복수의 파일들 중 어느 한 파일의 목록과 구체적인 종합 품질 점수를 보여주는 창이다.7 to 8 are windows showing a list of one of a plurality of files of a project and a specific comprehensive quality score.
도 9는 실시 형태에 따른 소프트웨어 품질 관리 방법의 순서도이다.9 is a flowchart of a software quality management method according to the embodiment.
도 9를 참조하면, 실시 형태에 따른 품질 관리 방법은, 품질 요소 추출 단계(S100), 품질 평가 단계(S300) 및 품질 점수 표시 단계(S500)을 포함할 수 있다.Referring to FIG. 9, the quality control method according to the embodiment may include a quality element extraction step S100, a quality evaluation step S300, and a quality score display step S500.
품질 요소 추출 단계(S100)는 소프트웨어의 소스 코드 파일로부터 품질 요소를 추출한다. 품질 요소의 추출 방법은 도 10을 참조하여 구체적으로 설명하도록 한다.The quality factor extraction step S100 extracts a quality factor from a source code file of software. The extraction method of the quality factor will be described in detail with reference to FIG. 10.
품질 평가 단계(S300)는 S100 단계에서 추출된 품질 요소를 사용하여 품질 점수를 추출한다. 품질 점수의 추출 방법은 도 11을 참조하여 구체적으로 설명하도록 한다.The quality evaluation step S300 extracts a quality score using the quality elements extracted in step S100. A method of extracting the quality score will be described in detail with reference to FIG. 11.
품질 점수 표시 단계(S500)는 S300 단계에서 추출된 품질 점수를 모니터와 같은 디스플레이 장치에 표시한다.The quality score display step S500 displays the quality score extracted in step S300 on a display device such as a monitor.
도 10은 도 9에 도시된 품질 요소 추출 단계(S300)를 구체화한 순서도이다.FIG. 10 is a flowchart illustrating the quality factor extraction step S300 illustrated in FIG. 9.
도 10을 참조하면, 품질 요소 추출 단계(S300)는 소스 코드 검증 단계(S310) 및 품질 요소 생성 단계(S330)를 포함할 수 있다.Referring to FIG. 10, the quality factor extraction step S300 may include a source code verification step S310 and a quality factor generation step S330.
소스 코드 검증 단계(S310)는 입력된 소소 코드 파일을 적어도 하나 이상의 검증 도구(tool)들을 사용하여 검증한다. 구체적으로, 입력된 소스 코드 파일을 코드 조사기(code inspector), 컨트롤러 테스터(controller tester), 컴파일러(compiler) 및 기타 다른 검증 도구들을 사용하여 검증할 수 있다.The source code verification step S310 verifies the input source code file using at least one verification tool. Specifically, the input source code file may be verified using a code inspector, a controller tester, a compiler, and other verification tools.
소스 코드 검증 단계(S310)를 수행하면, 각 검증 도구에 따라 소정의 검증 데이터들이 산출된다. 산출된 검증 데이터들은 도 3에 도시된 바와 같은 산출 파일로서 출력될 수도 있고, 데이터 베이스(DB)에 저장될 수 있다. When the source code verification step S310 is performed, predetermined verification data are calculated according to each verification tool. The calculated verification data may be output as a calculation file as shown in FIG. 3 or may be stored in the database DB.
한편, 소스 코드 검증 단계(S310)에서 산출된 검증 데이터들이 산출 파일로 출력되거나 데이터 베이스에 저장되지 않고, 미리 약속된 일부 검증 데이터들이 품질 요소로서 바로 이용될 수 있다. 품질 요소는 API(Application Programming Interface)를 통해 도 4의 품질 평가 모듈(500)로 전송되어, 도 5의 품질 평가 단계(S500)에서 곧바로 이용될 수 있다.Meanwhile, the verification data calculated in the source code verification step S310 is not output to a calculation file or stored in a database, and some predetermined verification data may be directly used as a quality factor. The quality element is transmitted to the quality evaluation module 500 of FIG. 4 through an API (Application Programming Interface), and can be immediately used in the quality evaluation step S500 of FIG. 5.
품질 요소 생성 단계(S330)는 S310 단계에서 산출된 검증 데이터에서 품질 요소를 생성한다. 구체적으로, S310 단계에서 산출된 검증 데이터가 산출 파일 형태로 출력되는 경우, 상기 산출 파일에서 일부 검증 데이터를 선택하여 품질 요소를 생성할 수 있다. 여기서, 선택되는 일부 검증 데이터는 품질 평가 단계(S500)에서 요구되는 데이터들일 수 있다.The quality factor generation step S330 generates a quality factor from the verification data calculated in step S310. In detail, when the verification data calculated in operation S310 is output in the form of a calculation file, a quality factor may be generated by selecting some verification data from the calculation file. Here, the selected verification data may be data required in the quality evaluation step S500.
예를 들어, 품질 요소 생성 단계(S330)는 소스 코드의 심각도와 관련된 검증 데이터에서 위 <표 1>과 같은 품질 요소를 생성할 수 있다.For example, the quality factor generation step S330 may generate a quality factor as shown in Table 1 above from verification data related to the severity of the source code.
도 11은 도 9에 도시된 품질 평가 단계(S500)를 구체화한 순서도이다.FIG. 11 is a flowchart illustrating the quality evaluation step S500 illustrated in FIG. 9.
도 11을 참조하면, 품질 평가 단계(S500)는 품질 지표 추출 단계(S510), 품질 특성 추출 단계(S530) 및 품질 점수 추출 단계(S550)를 포함할 수 있다.Referring to FIG. 11, the quality evaluation step S500 may include a quality index extraction step S510, a quality characteristic extraction step S530, and a quality score extraction step S550.
품질 지표 추출 단계(S510)는 도 10의 품질 요소 생성 단계(S330)에서 출력된 품질 요소들을 사용하여 품질 지표 별 정량적인 품질 지표 값을 추출한다. 품질 지표 값은 수신된 품질 요소들을 미리 설정된 품질 지표 계산식에 대입하여 추출될 수 있다. 여기서, 품질 지표 계산식은 사용자에 의해 미리 결정된 계산식일 수도 있고, 소프트웨어 제공자에 의해 미리 결정된 계산식일 수도 있다. The quality index extraction step S510 extracts a quantitative quality index value for each quality index by using the quality elements output in the quality element generation step S330 of FIG. 10. The quality index value may be extracted by substituting the received quality factors into a predetermined quality index calculation equation. Here, the quality index calculation formula may be a calculation formula predetermined by the user, or may be a formula predetermined by the software provider.
품질 지표를 추출하는 일 예로서, 위 <표 1>의 품질 요소들을 위 <수학식 1>을 사용하여 정량적인 품질 지표 값을 추출할 수 있고, 위 <표 2>의 품질 요소들을 위 <수학식 2>를 사용하여 정량적인 품질 지표 값을 추출할 수 있다.As an example of extracting the quality indicator, the quality factors of Table 1 may be quantitatively extracted using Equation 1, and the quality factors of Table 2 may be extracted. Equation 2> can be used to extract quantitative quality indicator values.
품질 지표는 하나일 수도 있고, 복수일 수도 있다. 예를 들어, 품질 지표는 심각도 별 코딩 규칙 위배 지표, 코딩 규칙 위배 밀도 지표, 경고/에러(Warning/Error) 지표, 복잡도 지표, MC/DC 유효성 지표, 주석 비율 지표, 유효 라인수 지표, 조건식의 and/or 개수 지표, 함수 별 인자 및 글로벌 변수 개수 지표, 요구사항에 대한 시험 커버리지(Coverage) 지표, 상태 커버리지(Statement Coverage) 지표, 브렌치 커버리지(Branch Coverage) 지표, MC/DC 지표, 칼리브레이션 데이터 커버리지(Calibration Data Coverage) 지표, 모듈의 재배포 지표, 다수 개발자 관리 함수/모듈 지표, 이식성 확인 지표, 이식성 체크 리스트 지표, 및 자원 효율성 체크 리스트 지표를 포함할 수 있다.There may be one quality indicator or a plurality of quality indicators. For example, quality metrics include coding rule violation indicators by severity, coding rule violation density indicators, warning / error indicators, complexity indicators, MC / DC validity indicators, annotation rate indicators, valid line count indicators, and conditional expressions. and / or count indicators, function and global variable count indicators, test coverage indicators for requirements, state coverage indicators, branch coverage indicators, MC / DC indicators, calibration data coverage (Calibration Data Coverage) indicators, module redistribution indicators, multiple developer management function / module indicators, portability check indicators, portability check list indicators, and resource efficiency check list indicators.
품질 특성 추출 단계(S530)는 위 S510 단계에서 추출된 복수의 품질 지표들을 미리 설정된 조건에 따라 그룹화하여 복수의 품질 특성 그룹들을 생성한다. 그리고, 각 그룹 내의 품질 지표들 각각에 소정의 가중치(제1 가중치)를 부여한다. 그리고, 각 그룹의 정량적인 품질 특성 값을 추출한다. 구체적인 설명은 위 <표 3>과 그에 대한 설명으로 대체한다.The quality characteristic extraction step S530 generates a plurality of quality characteristic groups by grouping the plurality of quality indicators extracted in the above step S510 according to a preset condition. Then, a predetermined weight (first weight) is assigned to each of the quality indicators in each group. Then, the quantitative quality characteristic values of each group are extracted. The detailed description is replaced with the above <Table 3> and the description thereof.
품질 점수 추출 단계(S550)는 위 S530 단계에서 추출된 복수의 품질 특성 값들을 각각에 미리 설정된 소정의 가중치(제2 가중치)를 부여하여 정량적인 종합 품질 점수를 추출한다. 구체적인 방법은 위 품질 점수 추출부(550)에서 설명한 품질 점수 추출 방법에 대한 설명으로 대체한다.The quality score extraction step S550 extracts a quantitative comprehensive quality score by assigning a predetermined weight (second weight) to each of the plurality of quality characteristic values extracted in the above step S530. The specific method is replaced with the description of the quality score extraction method described in the above quality score extraction unit 550.
이상 설명된 실시 형태들은 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The above-described embodiments may be embodied in the form of program instructions that can be executed by various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to carry out the process according to the invention, and vice versa.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

Claims (10)

  1. 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 모듈에 있어서,In the quality factor extraction module for extracting the quality factor used in the quality evaluation module of the software,
    소스 코드를 검증하여 검증 데이터를 추출하는 검증 수행기; 및A verification performer for verifying source code to extract verification data; And
    상기 추출된 검증 데이터로부터 상기 품질 요소를 추출하는 품질 요소 추출기;A quality factor extractor for extracting the quality factor from the extracted verification data;
    를 포함하는, 소프트웨어의 품질 요소 추출 모듈.Including, the quality factor extraction module of the software.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 검증 수행기는 복수의 검증 도구부들을 포함하고,The verification performer includes a plurality of verification tools,
    상기 품질 요소 추출기는 복수의 품질 요소 추출부들을 포함하고,The quality factor extractor includes a plurality of quality factor extractors,
    상기 복수의 검증 도구부들과 상기 복수의 품질 요소 추출부들은 일대일 또는 일대다로 대응하는, 소프트웨어의 품질 요소 추출 모듈.Wherein the plurality of verification tool units and the plurality of quality element extractors correspond one-to-one or one-to-many.
  3. 제 2 항에 있어서,The method of claim 2,
    상기 복수의 검증 도구부들 각각은 상기 검증 데이터를 산출하고, 상기 산출된 검증 데이터를 하나의 산출 파일로서 출력하는, 소프트웨어의 품질 요소 추출 모듈.Wherein each of the plurality of verification tool units calculates the verification data and outputs the calculated verification data as one calculation file.
  4. 제 2 항에 있어서, The method of claim 2,
    상기 복수의 검증 도구부들 각각은 상기 검증 데이터를 산출하고, 상기 산출된 검증 데이터를 데이터 베이스에 저장시키는, 소프트웨어의 품질 요소 추출 모듈.Each of the plurality of verification tool units calculates the verification data and stores the calculated verification data in a database.
  5. 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 모듈에 있어서,In the quality factor extraction module for extracting the quality factor used in the quality evaluation module of the software,
    소스 코드를 검증하는 검증 수행기를 포함하고,Includes a verification performer to verify the source code,
    상기 검증 수행기는 상기 소스 코드로부터 검증 데이터를 추출하는 적어도 하나 이상의 검증 도구부를 포함하고,The verification performer comprises at least one verification tool for extracting verification data from the source code,
    상기 검증 도구부는 상기 검증 데이터에서 미리 약속된 일부 검증 데이터를 API(Application Programming Interface)를 통해 상기 품질 평가 모듈로 전송하는, 소프트웨어의 품질 요소 추출 모듈.And the verification tool unit transmits some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API).
  6. 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 방법에 있어서,In the quality factor extraction method for extracting the quality factor used in the quality evaluation module of the software,
    소스 코드를 검증하여 검증 데이터를 추출하는 소스 코드 검증 단계; 및A source code verification step of verifying the source code and extracting verification data; And
    상기 추출된 검증 데이터로부터 상기 품질 요소를 추출하는 품질 요소 생성 단계;A quality factor generation step of extracting the quality factor from the extracted verification data;
    를 포함하는, 소프트웨어의 품질 요소 추출 방법.Including, the quality factor extraction method of the software.
  7. 제 6 항에 있어서,The method of claim 6,
    상기 소스 코드 검증 수행 단계는 검증 도구를 사용하여 상기 소스 코드로부터 상기 검증 데이터를 추출하고,The performing of the source code verification may include extracting the verification data from the source code using a verification tool,
    상기 추출된 검증 데이터를 산출 파일로서 출력하는, 소프트웨어의 품질 요소 추출 방법.Outputting the extracted verification data as a calculation file.
  8. 제 6 항에 있어서, The method of claim 6,
    상기 소스 코드 검증 수행 단계는 검증 도구를 사용하여 상기 소스 코드로부터 상기 검증 데이터를 추출하고,The performing of the source code verification may include extracting the verification data from the source code using a verification tool,
    상기 추출된 검증 데이터를 데이터 베이스에 저장시키는, 소프트웨어의 품질 요소 추출 방법.And storing the extracted verification data in a database.
  9. 소프트웨어의 품질 평가 모듈에서 사용되는 품질 요소를 추출하는 품질 요소 추출 방법에 있어서,In the quality factor extraction method for extracting the quality factor used in the quality evaluation module of the software,
    소스 코드를 검증하여 검증 데이터를 추출하는 소스 코드 검증 단계; 및A source code verification step of verifying the source code and extracting verification data; And
    상기 검증 데이터에서 미리 약속된 일부 검증 데이터를 API(Application Programming Interface)를 통해 상기 품질 평가 모듈로 전송하는 전송 단계;A transmission step of transmitting some verification data previously promised in the verification data to the quality evaluation module through an application programming interface (API);
    를 포함하는, 소프트웨어의 품질 요소 추출 방법.Including, the quality factor extraction method of the software.
  10. 제 6 항 내지 제 9 항 중 어느 하나의 항에 따른 소프트웨어의 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing a method for extracting quality elements of software according to any one of claims 6 to 9.
PCT/KR2013/011427 2013-12-10 2013-12-10 Software quality element extraction module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality element extraction method WO2015088067A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130152818A KR101547248B1 (en) 2013-12-10 2013-12-10 Moulde and method for producting total quality score of software, and computer readable recording medium having program the method
KR10-2013-0152818 2013-12-10

Publications (1)

Publication Number Publication Date
WO2015088067A1 true WO2015088067A1 (en) 2015-06-18

Family

ID=53371359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/011427 WO2015088067A1 (en) 2013-12-10 2013-12-10 Software quality element extraction module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality element extraction method

Country Status (2)

Country Link
KR (1) KR101547248B1 (en)
WO (1) WO2015088067A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830452A (en) * 2018-05-04 2018-11-16 北京科技大学 A kind of method of steel products quality holographic information representation
KR20210035363A (en) * 2019-09-23 2021-04-01 국방기술품질원 Software reliability test system and method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102007719B1 (en) * 2017-06-14 2019-08-07 슈어소프트테크주식회사 Method for masuring integrated quality of software and computer readable recording medium having program performing the same
KR20190009245A (en) 2017-07-18 2019-01-28 에이에스엠 아이피 홀딩 비.브이. Methods for forming a semiconductor device structure and related semiconductor device structures
KR20240003207A (en) * 2022-06-30 2024-01-08 쿠팡 주식회사 Electronic apparatus for providing code verification information and method thereof
KR102647446B1 (en) * 2023-06-19 2024-03-13 국방기술품질원 SW quality verification system and method of weapon system under development stage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015675A1 (en) * 2003-07-03 2005-01-20 Kolawa Adam K. Method and system for automatic error prevention for computer software
US20070283325A1 (en) * 2006-06-02 2007-12-06 Abhishek Kumar Quality inspector tool
US20090144698A1 (en) * 2007-11-29 2009-06-04 Microsoft Corporation Prioritizing quality improvements to source code
US20100070948A1 (en) * 2008-09-15 2010-03-18 Infosys Technologies Ltd. System and method for improving modularity of large legacy software systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059276A (en) * 2004-08-23 2006-03-02 Hitachi Software Eng Co Ltd Source code evaluating system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015675A1 (en) * 2003-07-03 2005-01-20 Kolawa Adam K. Method and system for automatic error prevention for computer software
US20070283325A1 (en) * 2006-06-02 2007-12-06 Abhishek Kumar Quality inspector tool
US20090144698A1 (en) * 2007-11-29 2009-06-04 Microsoft Corporation Prioritizing quality improvements to source code
US20100070948A1 (en) * 2008-09-15 2010-03-18 Infosys Technologies Ltd. System and method for improving modularity of large legacy software systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SEUNGAN HONG ET AL.: "Development of Configuration Evaluator for Basic Software in AUTOSAR using XPath", SOFTWARE ENGINEERING SOCIETY, vol. 23, no. 3, 2010, pages 85 - 98, Retrieved from the Internet <URL:http://www.sigsoft.or.kr> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830452A (en) * 2018-05-04 2018-11-16 北京科技大学 A kind of method of steel products quality holographic information representation
CN108830452B (en) * 2018-05-04 2022-04-05 北京科技大学 Method for representing holographic information of quality of steel product
KR20210035363A (en) * 2019-09-23 2021-04-01 국방기술품질원 Software reliability test system and method
KR102282382B1 (en) 2019-09-23 2021-07-28 국방기술품질원 Software reliability test system and method

Also Published As

Publication number Publication date
KR101547248B1 (en) 2015-08-25
KR20150067827A (en) 2015-06-19

Similar Documents

Publication Publication Date Title
WO2015088066A1 (en) Software quality evaluation module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality evaluation method
WO2015088067A1 (en) Software quality element extraction module and method, and computer-readable recording medium having, recorded thereon, program for implementing software quality element extraction method
Fontana et al. Tool support for evaluating architectural debt of an existing system: An experience report
KR101747016B1 (en) Method and apparatus for producing regulatory-compliant software
WO2013042789A1 (en) Operations management device, operations management method, and program
WO2013077538A1 (en) Device and method for analyzing api-based application
US10185612B2 (en) Analyzing the availability of a system
WO2016111525A1 (en) Source code transfer control method, computer program therefor, and recording medium therefor
WO2020062639A1 (en) Blockchain introduction testing method and apparatus, device, and computer-readable storage medium
WO2016137035A1 (en) Test case generation device and method, and computer-readable recording medium for recording program for executing same
CN110471912B (en) Employee attribute information verification method and device and terminal equipment
Wu et al. Assessing the quality of industrial avionics software: an extensive empirical evaluation
WO2017217701A1 (en) Method and device for analyzing safety of software for electric device
Vierhauser et al. Evolving systems of systems: Industrial challenges and research perspectives
Svoboda et al. Static analysis alert audits: Lexicon & rules
WO2021261614A1 (en) Method, program, and system for diagnosing equipment
WO2020235898A1 (en) Method for measuring work unit price of crowdsourcing-based project
CN113282496A (en) Automatic interface test method, device, equipment and storage medium
US20200341875A1 (en) Feedback from higher-level verification to improve unit verification effectiveness
WO2014193057A1 (en) Method for determining problematic equipment using defect map of faulty samples and apparatus for same
JP2012033017A (en) Rule inspection device, rule inspection method and rule inspection program
Herrmann Sample implementation of the Littlewood holistic model for assessing software quality, safety and reliability
CN113360398B (en) Hybrid application program testing method, device, equipment and medium
Jacobson Validation of software in measuring instruments
Cohn et al. Assessing Code Quality and Security

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13899177

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 23-11-16

122 Ep: pct application non-entry in european phase

Ref document number: 13899177

Country of ref document: EP

Kind code of ref document: A1