Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 2.2 KB

README.md

File metadata and controls

41 lines (33 loc) · 2.2 KB

AI-Powered Test Case Coverage

Table of Contents

Project Overview

This project focuses on developing an Automated Test Case Coverage using AI techniques, aimed at improving the reliability and robustness of firmware in the semiconductor industry. The framework generates unit tests automatically, significantly reducing manual effort and enhancing code coverage for complex systems written in C.

Background

In the semiconductor domain, firmware plays a critical role, requiring high reliability. Traditional manual test case generation is labor-intensive and insufficient for achieving comprehensive coverage, especially in large codebases. By leveraging advancements in artificial intelligence, this project seeks to automate the test case generation process, thus improving software engineering quality and efficiency.

Project Goals

  • Develop a framework for automated test case generation using AI tools.
  • Create Fakes/Mocks/Stubs to facilitate unit testing.
  • Investigate and integrate AI-powered tools for generating unit tests.
  • Validate and evaluate the generated test cases to ensure quality and reliability.

Responsibilities

As part of this project, I have:

  • Developed unit tests for key components of the firmware.
  • Created Fakes, Mocks, and Stubs to simulate hardware interactions.
  • Explored the AGESA/OpenSIL codebase for integration.
  • Investigated AI-powered tools for automated test generation.
  • Conducted experiments and prototype development to validate results.
  • Documented findings and prepared presentations for stakeholders.
  • Assisted the Principal Investigator in project planning and task management.

Technologies Used

  • Programming Languages: C, Python
  • Version Control: Git
  • Manual Assertions: assert.h
  • AI Tools: OpenAI
  • Documentation: Markdown

Contributing

Contributions are welcome! If you'd like to contribute to this project, please fork the repository and create a pull request. Ensure your code adheres to the project's coding standards and includes appropriate tests.