Skip to content

This Master's Software Engineering project repository focuses on utilizing LLVM to develop tools for program testing and range validation. It includes an implementation of KLEE for automatic test generation and LLVM-based tools for C++ vector and memory range checking, promoting software safety and quality.

Notifications You must be signed in to change notification settings

timhwang777/llvm-ecs260

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

LLVM

cpp-badge docker-badge

Table of Contents

About the project

This repository is dedicated to the LLVM project, a component of the Master's course in Software Engineering. The primary objective of this course was to develop a testing tool utilizing LLVM and to implement range validation for programming languages such as C, C++, and Golang.

The repository is structured into two main directories. The first directory contains the implementation of KLEE, a symbolic virtual machine built on top of the LLVM compiler infrastructure. KLEE is designed to automatically generate tests that achieve high coverage on a diverse set of complex and environmentally-intensive programs.

The second directory houses the LLVM tools developed to examine and validate the range of C++ vectors and memory. These tools are instrumental in preventing common programming errors like buffer overflows and underflows, thereby enhancing the safety and reliability of C++ programs.

Author

Timothy Hwang

About

This Master's Software Engineering project repository focuses on utilizing LLVM to develop tools for program testing and range validation. It includes an implementation of KLEE for automatic test generation and LLVM-based tools for C++ vector and memory range checking, promoting software safety and quality.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published