Code Linting using Language Models
<|reference_start|>Code Linting using Language Models: Code linters play a crucial role in developing high-quality software systems by detecting potential problems (e.g., memory leaks) in the source code of systems. Despite their benefits, code linters are often language-specific, focused on certain types of issues, and prone to false positives in the interest of speed. This paper investigates whether large language models can be used to develop a more versatile code linter. Such a linter is expected to be language-independent, cover a variety of issue types, and maintain high speed. To achieve this, we collected a large dataset of code snippets and their associated issues. We then selected a language model and trained two classifiers based on the collected datasets. The first is a binary classifier that detects if the code has issues, and the second is a multi-label classifier that identifies the types of issues. Through extensive experimental studies, we demonstrated that the developed large language model-based linter can achieve an accuracy of 84.9% for the binary classifier and 83.6% for the multi-label classifier.<|reference_end|>
@article{holden2024code,
    title={Code Linting using Language Models},
    author={Darren Holden, Nafiseh Kahani},
    journal={arXiv preprint arXiv:2406.19508},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.19508},
    primaryClass={cs.SE}
}