An LLM-based framework for automated Python test generation and mutation testing evaluation
| dc.contributor.advisor | Azmain, Md. Aquib | |
| dc.contributor.advisor | Gazzali, Fakhruddin | |
| dc.contributor.author | Nafis, Sadnan | |
| dc.contributor.author | Walid, Abdullah Al | |
| dc.contributor.author | Anuja, Amatus Subhan | |
| dc.date.accessioned | 2025-09-16T03:53:49Z | |
| dc.date.available | 2025-09-16T03:53:49Z | |
| dc.date.issued | 2025-06 | |
| dc.description | Cataloged from PDF version of thesis. | |
| dc.description | Includes bibliographical references (pages 28-30). | |
| dc.description | This thesis is submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science, 2025. | |
| dc.description.abstract | The reliability of software systems lies in effective test case design, especially in mutation testing, where the objective is to detect subtle faults introduced as mutants. Manually writing unit tests is time-consuming and increases development costs. While traditional test generation tools like Pynguin and Klara provide baseline automation, recent advancements in Large Language Models (LLMs) offer a promising alternative. In this research, we first conducted a comparative analysis between four state-of-the-art LLMs: ChatGPT, Gemini, Claude, and Llama and traditional test generation tools for Python, using mutation score as the primary metric. Motivated by the superior performance of LLMs, we developed a fully automated test generation tool that leverages prompt-based LLMs to create unit tests for Python functions. This tool not only generates syntactically valid and executable tests but also evaluates their quality using both mutation score (via MutPy) and test coverage metrics. The tool employs prompt-engineering strategies, repair loops, and error-driven feedback to iteratively refine failing test cases. The results show that our tool can be reliably harnessed for automated test generation and can outperform traditional tools in both mutation detection and coverage on Python programs. | |
| dc.identifier.other | ID 21201249 | |
| dc.identifier.other | ID 21201651 | |
| dc.identifier.other | ID 24141126 | |
| dc.identifier.other | https://dspace.bracu.ac.bd/server/api/core/items/eca30820-4ae2-400e-9656-619b397be642 | |
| dc.identifier.uri | http://hdl.handle.net/10361/26750 | |
| dc.language.iso | en | |
| dc.publisher | BRAC University | |
| dc.source | BRAC University Institutional Repository | |
| dc.subject | Large language models | |
| dc.subject | Software testing | |
| dc.subject | Test case generation | |
| dc.subject | Prompt-engineering | |
| dc.subject | LLM-based framework | |
| dc.subject | Mutation testing | |
| dc.subject | Software evaluation | |
| dc.subject | Automated test generation | |
| dc.title | An LLM-based framework for automated Python test generation and mutation testing evaluation | |
| dc.type | Thesis |
Files
Original bundle
1 - 1 of 1
- Name:
- 21201249, 21201651, 24141126_CSE.pdf
- Size:
- 516.88 KB
- Format:
- Adobe Portable Document Format
