Still Manual? Automated Linter Configuration via DSL-Based LLM Compilation of Coding Standards
Zejun Zhang, Yixin Gan, Zhenchang Xing, Tian Zhang, Yi Li, Qinghua Lu, Xiwei Xu, and Liming Zhu
In Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering (FSE), 2026
Abstract: Coding standards are essential for maintaining consistent and high-quality code across teams and projects. Linters help developers enforce these standards by detecting code violations. However, manual linter configuration is complex and expertise-intensive, and the diversity and evolution of programming languages, coding standards, and linters lead to repetitive and maintenance-intensive configuration work. To reduce manual effort, we propose a domain-specific language (DSL)-driven, LLM-based compilation approach to automate configuration generation for coding standards, independent of programming languages, coding standards, and linters. Inspired by compiler design, we first design a DSL to express coding rules in a tool-agnostic, structured, readable, and precise manner. Then, we build linter configurations into DSL configuration instructions. For a given natural language coding standard, the compilation process parses it into DSL coding standards, matches them with the DSL configuration instructions to set configuration names, option names and values, verifies consistency between the standards and configurations, and finally generates linter-specific configurations. Experiments with Checkstyle for Java coding standard show that our approach achieves over 90% precision and recall in DSL representation, with accuracy, precision, recall, and F1-scores close to 70% (with some exceeding 70%) in fine-grained linter configuration generation. Notably, our approach outperforms baselines by over 100% in precision. An ablation study confirms the effectiveness of the main components of our approach. A user study further shows that our approach improves developers’ efficiency in configuring linters for coding standards. Finally, we demonstrate the generality of the approach by generating ESLint configurations for JavaScript coding standards, showcasing its broad applicability across other programming languages, coding standards, and linters.
Cite:
@inproceedings{Zhang2026SMA,
author = {Zhang, Zejun and Gan, Yixin and Xing, Zhenchang and Zhang, Tian and Li, Yi and Lu, Qinghua and Xu, Xiwei and Zhu, Liming},
booktitle = {Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering (FSE)},
title = {Still Manual? Automated Linter Configuration via {DSL}-Based {LLM} Compilation of Coding Standards},
year = {2026}
}