| Abstract [eng] |
This master's thesis explores the enhancement of static code analysis in the context of increasingly intricate software systems, the constraints imposed by conventional analysis tools, and the necessity for more dependable remediation of issues identified by diagnostic messages. The proposed methodology entails the evaluation of code fixes generated by multiple large language models, with the ultimate solution being determined through a consensus-based approach. The proposed methodology integrates historical grounding, repository analysis, compilation-based diagnostic extraction, the generation of candidate fixes by multiple large language models (LLMs), and objective validation of the proposed changes. A prototype was developed to calculate the typical scope of code changes for a diagnostic case, retrieve and compile C#/NET repositories, extract compiler warnings and errors, apply LLM-generated fixes, and evaluate their suitability. The evaluation of candidate fixes is conducted through the application of a multifaceted set of criteria, encompassing the successful compilation of the fix, the removal of the target diagnostic message, the absence of newly introduced diagnostics, and the deviation from the historical grounding percentage. The experimental evaluation demonstrated that the proposed method can be practically implemented and can support a more objective selection of reliable code fixes. The findings further suggest that more advanced models tend to yield more stable and compilable solutions, while the effectiveness of the consensus-based approach is contingent upon the quality of the selected models. |