How Well Small Language Models Can Be Adapted for Software Maintenance and Refactoring Tasks
摘要
Software maintenance and refactoring can help programmers keep a clean code base. Recently, there has been a growing interest in applying Large Language Models (LLMs) to assist with this task. Their large costs to train and deploy have sparked interest in using Small Language Models (SLMs) instead, especially in resource-constrained environments. To help us understand the capabilities of SLMs (specifically LLMs under 8 billion parameters) in software maintenance and refactoring, we perform a Systematic Literature Review (SLR) with a focus on code refactoring and code smell detection. We searched multiple databases and defined an inclusion/exclusion criterion to help us answer six Research Questions (RQs), which led to 40 papers. We have found that the software refactoring field is not well explored, which includes SLMs. We also found that 19 out of 40 collected literature do not list parameter counts, and SLMs are usually fine-tuned with datasets. Further research revealed that LLMs have longer times to train, higher costs to run and train, and introduce challenges with data privacy. Baseline SLMs usually perform worse than LLMs and achieve lower metrics. However, we can see that this field is evolving. SLMs, due to their lower costs, can be used to continue research in bias and safety when using models and in domain-specific fields.