{"id":30223702,"url":"https://github.com/lat0s/bachelor-thesis","last_synced_at":"2025-08-14T12:53:01.396Z","repository":{"id":309397547,"uuid":"1036129990","full_name":"lat0s/bachelor-thesis","owner":"lat0s","description":"🛠 Bachelor Thesis —  Comparative study of Microsoft Phi-4 14B \u0026 Meta Llama-3.1 70B on MERN stack apps. 📊 Evaluating code quality, maintainability, performance, \u0026 security using SonarQube, ESLint, Lighthouse \u0026 OWASP ZAP.","archived":false,"fork":false,"pushed_at":"2025-08-11T16:14:42.000Z","size":220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-11T18:21:26.419Z","etag":null,"topics":["ai-assisted-development","bachelor-thesis","code-quality","eslint","fullstack","lighthouse","llama-3","mern","microsoft-phi-4","owasp-zap","research","software-engineering","sonarqube","thesis"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lat0s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-11T15:46:55.000Z","updated_at":"2025-08-11T16:22:48.000Z","dependencies_parsed_at":"2025-08-11T18:23:38.287Z","dependency_job_id":"e1b22a04-580a-493d-ad74-e8f44be51ddc","html_url":"https://github.com/lat0s/bachelor-thesis","commit_stats":null,"previous_names":["lat0s/bachelor-thesis"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lat0s/bachelor-thesis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lat0s%2Fbachelor-thesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lat0s%2Fbachelor-thesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lat0s%2Fbachelor-thesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lat0s%2Fbachelor-thesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lat0s","download_url":"https://codeload.github.com/lat0s/bachelor-thesis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lat0s%2Fbachelor-thesis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270422680,"owners_count":24580837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assisted-development","bachelor-thesis","code-quality","eslint","fullstack","lighthouse","llama-3","mern","microsoft-phi-4","owasp-zap","research","software-engineering","sonarqube","thesis"],"created_at":"2025-08-14T12:52:58.117Z","updated_at":"2025-08-14T12:53:01.324Z","avatar_url":"https://github.com/lat0s.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📄 Bachelor Thesis — *The Impact of AI-Assisted Coding on Full-Stack Development*\n\n**Authors:**  \n- Georgios Panormitis Latos  \n- Joey Karlsson  \n\n**Supervisor:** Farnaz Fotrousi  \n\n**University:** University of Gothenburg.  \n**Date:** August, 2025.  \n**Repository Type:** Research / Academic  \n\n---\n\n## 📚 Overview\n\nThis repository contains the research materials, code, and documentation for our thesis.\n\nOur research evaluates how AI coding assistants influence software engineering outcomes in realistic **full-stack** development scenarios. Specifically, we compare **Microsoft’s Phi-4 14B Reasoning Plus** (a small language model) with **Meta’s Llama-3.1 70B Instruct** (a large language model), focusing on **code quality, maintainability, performance, security, and developer productivity**.\n\nUnlike previous studies focused on isolated coding tasks, our work examines AI-assisted development in **integrated MERN stack applications**, reflecting real-world complexities.\n\n---\n\n## 🎯 Objectives\n\n1. **Evaluate** AI-assisted coding impact on **quality, reliability, maintainability, hygiene, and security** in full-stack applications.\n2. **Compare** two different AI models (SLM vs LLM) in practical development contexts.\n3. **Provide** actionable recommendations for developers and organizations considering AI-assisted coding tools.\n\n---\n\n## 🛠️ Methodology\n\nOur research follows a **controlled experimental design**:\n\n1. **Selected Projects**  \n   Three open-source MERN stack projects:\n   - [MERN Thinkboard](https://github.com/burakorkmez/mern-thinkboard)  \n   - [MERN Social Media](https://github.com/ed-roh/mern-social-media)  \n   - [MERN Chat App](https://github.com/burakorkmez/fullstack-chat-app)  \n\n2. **Experiment Process**\n   - Identify and remove 5 target files (min. 2 frontend) from each project.\n   - Use a **universal full-stack tailored prompt** to generate replacements with each AI model.\n   - Maintain separate branches for:\n     - Original code\n     - Phi-4 generated files\n     - Llama-3.1 generated files\n\n3. **Analysis Tools**\n   - **Static Analysis:** SonarQube, ESLint  \n   - **Runtime Performance:** Lighthouse  \n   - **Security Testing:** OWASP ZAP  \n\n4. **Statistical Tests**\n   - Wilcoxon Signed Rank Test  \n   - Mann–Whitney U Test  \n\n---\n\n## 📊 Metrics Collected\n\n| Category        | Tool         | Key Metrics |\n|-----------------|--------------|-------------|\n| **Reliability** | SonarQube / ESLint | Bugs, Halstead Bugs, CLS |\n| **Maintainability** | SonarQube / ESLint | Code Smells, Technical Debt, Cyclomatic Complexity, Halstead Effort |\n| **Hygiene** | ESLint / Lighthouse | Total Issues, Best Practices |\n| **Performance** | Lighthouse | INP, TBT, Performance Score |\n| **Security** | OWASP ZAP | Detected vulnerabilities |\n\n---\n\n## 📦 Repository Structure\n\n```\n├── ProjectData/           # Data entry folder per project\n├ └── *ProjectName*/\n├     └── cli-gen-logs/    # Generation logs and output files      \n├     └── eslint-report/   # Contains all .json report output files and a .csv that includes them all\n├     └── sonarqube/       # Contains an exported in .json version of the SonarQube project and a .csv with our selected metrics\n└── README.md              # This file\n```\n\n---\n\n## 📖 Wiki\n\n\nSee the **[Project Wiki](../../wiki)**.\n\n---\n\n\n## ⚠️ License\n\nThis repository is licensed under the [MIT License](LICENSE), unless otherwise stated for third-party code or datasets.\n\n---\n\n## 🌐 Related Work\n\n- Khan et al. (2023) — *Assessing the Promise and Pitfalls of ChatGPT for Automated Code Generation*  \n- Tan et al. (2024) — *How far are AI powered programming assistants from meeting developers' needs?*  \n- Agarwal et al. (2024) — *Copilot Evaluation Harness*  \n- more...\n\n(Full bibliography available in the thesis document.)\n\n---\n\n## 📬 Contact\n\n- Georgios Panormitis Latos — [gusgeorgla@student.gu.se]  \n- Joey Karlsson — [gusjoeyka@student.gu.se]  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flat0s%2Fbachelor-thesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flat0s%2Fbachelor-thesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flat0s%2Fbachelor-thesis/lists"}