FSLint: A Syntax-Based Lightweight Linter for Checking F# Coding Style Rules
0 citations
Abstract
린터는 소스 코드의 품질 유지와 잠재적 오류 예방을 보조하는 도구이다. 본 연구에서는 F# 언어를 대상으로 구문 기반 경량 린터인 FSLint를 설계하고 구현하였다. F#의 타입 시스템은 많은 타입 오류를 컴파일 단계에서 탐지할 수 있지만, 공백, 줄바꿈, 명명 규칙, 코드 배치와 같은 형식 및 코딩 관례의 일관성까지 보장하지는 않는다. FSLint는 타입 검사나 심볼 해석 없이 F# 구문 트리와 형식 정보를 활용하여 이러한 규칙 위반을 검사한다. FSLint를 6개의 오픈소스 프로젝트에 적용한 결과, 기본 규칙 기준 총 70,361개의 규칙 위반 지점을 탐지하였다. 또한 FSharpLint와의 실행 비용 비교에서 FSLint는 29.8배 짧은 실행 시간과 183배 적은 메모리 사용량을 보였다. 이는 FSLint가 CI 및 LSP 기반 IDE 환경에서 반복적으로 실행 가능한 경량 코드 일관성 검사 도구로 활용될 수 있음을 보여준다.
// Source
Authors: Juntae Kim, Seungil Jung, Sang-Kil Cha