소프트웨어 분석 강좌 노트: 컴파일러와 정적 분석의 기초

컴파일러와 정적 분석기의 구조 컴파일러의 구성 요소 컴파일러는 소스 코드를 기계 코드로 변환하는 핵심 도구입니다. 이 과정은 여러 단계로 구성되며, 각 단계는 특정 역할을 담당합니다. 1. 어휘 분석기(Scanner) 정규 표현식을 활용하여 소스 코드를 토큰으로 변환합니다. 이 단계에서는 단어의 철자와 의미적正確성을 검증합니다. 2. 구문 분석기(Parser) 문맥 ...

7월 24일 23:57에 게시됨

Python AST 역직렬화 도구 비교: astor와 astunparse 활용법

Python 코드를 분석하거나 변환할 때 추상 구문 트리(AST)는 핵심적인 중간 표현입니다. 표준 라이브러리 ast는 소스코드를 트리 구조로 변환해주지만, 수정된 AST를 다시 실행 가능한 Python 코드로 되돌리려면 외부 패키지가 필요합니다. 이번 글에서는 astor와 astunparse 두 도구의 특징과 적절한 사용 상황을 살펴봅니다. AST 개념 정리 AST는 소스코드의 구문적 구 ...

7월 2일 18:21에 게시됨

Vermin 도구를 활용한 Python 최소 버전 분석 가이드

프로젝트 개요 Vermin은 Python 소스 코드가 필요로 하는 최소 Python 버전을 분석하는 유틸리티입니다. 이 도구는 파싱을 통해抽象구문트리(AST)를 구성하고, 사전에 정의된 규칙과의 매칭을 통해 코드에서 사용된 파이썬 특성을 식별합니다. 지원 범위는 Python 2.0부터 2.7까지, 그리고 Python 3.0부터 3.12까지 포함됩니다. 주요 기능은 다음과 같습니다: Python 2. ...

6월 27일 03:27에 게시됨

SonarQube 시작하기

SonarQube 설치, 설정 및 사용법 SonarQube는 코드 품질을 관리하는 오픈 플랫폼으로, 코드 내에 존재할 수 있는 잠재적이거나 명백한 오류를 빠르게 식별할 수 있습니다. 본 문서에서는 이 도구의 설치, 설정 및 사용 방법을 소개합니다. 사전 준비: JDK (설명 생략) SonarQube: http://www.sonarqube.org/downloads/ SonarQube Scanner: https://sonarsource.bintr ...

6월 12일 01:20에 게시됨