본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
ISO/IEC 5055; Automated Source Code Quality Measures; 자동화된 소스코드 품질 측정
소스코드에서 구조적 약점(CWE)을 자동으로 검출·계수하여 신뢰성, 보안성, 성능 효율성, 유지보수성 4개 특성을 측정하는 국제 표준

ISO/IEC 5055:2021의 정식 명칭은 "Information technology — Software measurement — Software quality measurement — Automated source code quality measures"이며, 2021년 3월 제1판이 발행되었다. CISQ(Consortium for Information & Software Quality)가 만든 품질 측정 표준들을 OMG가 ASCQM(Automated Source Code Quality Measures) 표준으로 통합하고, 이를 ISO/IEC JTC 1에 제출하여 국제 표준이 되었다. CISQ는 OMG(Object Management Group)와 카네기멜론대학교 SEI(Software Engineering Institute)가 공동 설립한 단체이다.

이 표준의 측정값은 좋은 아키텍처·코딩 관행을 위반한 사례, 곧 운영 위험이나 과도한 비용을 낳을 수 있는 약점을 소스코드에서 찾아 세는 방식으로 계산된다. 기존 ISO/IEC 25000 시리즈는 소스코드 수준의 측정 척도를 적게 제공했기 때문에, 아웃소싱·개발 계약에서 쓸 수 있는 코드 수준 기준을 마련했다는 데 의의가 있다. 약점이 모든 형태의 소프트웨어에 적용된다고 보아 임베디드 소프트웨어를 별도로 다루지 않는다.

4개 품질 특성

편집 원본 편집

각 특성의 측정치는 CWE(Common Weakness Enumeration)에서 고른 약점들의 집합으로 구성된다. 측정치는 약점 발생 건수를 세는 방식이며, 약점 목록은 특성마다 따로 정의된다.

특성 측정 관점 약점 예
신뢰성(Reliability) 장애·비정상 종료·데이터 손상으로 이어질 수 있는 결함 예외 처리 누락, 자원 해제 누락, 경쟁 조건
보안성(Security) 공격자가 악용할 수 있는 취약점 SQL 인젝션, 버퍼 오버플로, 입력값 검증 누락
성능 효율성(Performance Efficiency) 응답 시간·자원 사용을 악화시키는 구조 반복문 안의 비싼 연산, 비효율적 데이터 접근
유지보수성(Maintainability) 이해·변경을 어렵게 하는 구조 과도한 복잡도, 중복 코드, 계층 위반

보안성 측정은 시큐어 코딩, OWASP Top 10에서 다루는 취약점과 겹치는 부분이 많다.

ISO/IEC 25010과의 관계

편집 원본 편집
  • SQuaRE의 ISO/IEC 25010은 제품 품질 모델을 정의한다. 2011년판은 8개 특성, 2023년판(제2판)은 9개 특성으로 구성된다.
  • ISO/IEC 5055는 그중 4개 특성을 골라 소스코드의 구조적 측면에서 측정한다. CISQ는 이를 25010 특성 8개 중 4개를 평가하는 것으로 설명한다.
  • ISO/IEC 25023이 주로 운영 수준의 측정치를 제시하는 데 비해, ISO/IEC 5055는 개발 중 소스코드에서 구조·아키텍처 측정치를 뽑아낸다. 결함이 운영 장애로 드러나기 전에 측정한다는 점에서 서로 보완 관계이다.
구분 ISO/IEC 25010 ISO/IEC 5055
성격 품질 모델(특성·부특성 정의) 측정 방법(측정치 정의)
범위 제품 품질 전반 4개 특성, 소스코드 수준
측정 대상 요구사항·설계·테스트·운영 전 생명주기 소스코드(정적 분석)
측정 방식 측정치는 ISO/IEC 2502n(품질 측정) 문서에서 정의 CWE 기반 약점 자동 검출·계수
  • 정적 분석 도구로 코드를 검사하여 특성별 약점 건수를 산출하고, 릴리스 간 추이를 관리한다.
  • 외주 개발 계약에서 인수 기준이나 품질 목표로 쓴다.
  • 리팩토링 대상과 기술 부채를 식별한다.
  • 화이트박스 테스트, 코드 인스펙션을 보완하는 자동화 수단이 된다.
  • 4개 특성(신뢰성·보안성·성능 효율성·유지보수성)과 CWE 기반 측정이라는 점
  • ISO/IEC 25010은 품질 모델, ISO/IEC 5055는 소스코드 수준 측정 표준이라는 차이
  • CISQ·OMG 기원(ASCQM)과 발행 연도(2021)
  • 정적 분석으로 개발 단계에서 구조적 약점을 사전에 찾는다는 목적