codex-bais-final4-20260713-.../.dev-docs/migration/bais-spring/c파일-정리-OCR-위험-구간.md
2026-07-13 10:57:52 +00:00

2.4 KiB

OCR 위험 구간 상세 분석

위험 분류 기준

  • 높음: 수동 리뷰 필수, 자동 전환 불가
  • 중간: 샘플 검증 후 전환 가능
  • 낮음: 자동 전환 권장

위험 구간 목록

높음 위험 (4개)

1. api_parser.c - 파서 상태머신

// 위험 구간: parser_state_t enum 및 상태 전이
typedef enum {
    PARSER_INIT,
    PARSER_HEADER,
    PARSER_BODY,
    PARSER_COMPLETE,
    PARSER_ERROR
} parser_state_t;

// 위험 구간: 중첩 switch-case
switch (state) {
    case PARSER_HEADER:
        switch (field_type) {
            // ...
        }
}

2. db_migrator.c - 스키마 diff 로직

// 위험 구간: 테이블 비교 알고리즘
int compare_columns(column_t* a, column_t* b) {
    // 복잡한 비교 로직
}

3. net_protocol.c - 프로토콜 상태머신

// 위험 구간: 바이너리 프로토콜 파싱
switch (packet_type) {
    case PKT_HANDSHAKE:
        // ...
    case PKT_DATA:
        // ...
}

4. utils_string.c - 인코딩 변환

// 위험 구간: 멀티바이트 문자 처리
size_t convert_encoding(char* out, const char* in, enc_t from, enc_t to) {
    // EUC-KR, UTF-8, ISO-2022-KR 변환
}

중간 위험 (6개)

파일 구간 위험 이유
api_handler.c 콜백 레지스트리 함수 포인터 배열 초기화
api_router.c 동적 라우트 테이블 해시맵 구현체
db_query.c 트랜잭션 처리 에러 코드 매핑
net_client.c SSL 핸드셰이크 OpenSSL 콜백
crypto_cipher.c 키 관리 키 파생 함수
utils_config.c 설정 파싱 토큰 파싱 로직

낮음 위험 (8개)

파일 구간 비고
api_validator.c 스키마 검증 단순 검증 로직
db_connector.c 연결 풀 관리 표준 인터페이스
net_server.c 소켓 옵션 표준 소켓 API
net_buffer.c 메모리 풀 단순 할당 래퍼
crypto_hash.c HMAC 처리 표준 OpenSSL
crypto_random.c 엔트로피 소스 단순 래퍼
utils_logger.c 로그 로테이션 표준 파일 I/O
utils_timer.c 타이머 큐 단순链表

OCR 리스크 완화 전략

  1. 높음 위험: 전문 리뷰어 수동 검토, 테스트 케이스 보강
  2. 중간 위험: 샘플 입력으로 검증, 커버리지 테스트 작성
  3. 낮음 위험: 자동 전환 후 기본 테스트만 수행