An open API service indexing awesome lists of open source software.

https://github.com/eagleoutice/sqa-static-analysis

Slides on static analysis
https://github.com/eagleoutice/sqa-static-analysis

abstract-interpretation controlflow-analysis dataflow-analysis flowr latex latex-beamer lecture-slides static-analysis static-analyzer

Last synced: 22 days ago
JSON representation

Slides on static analysis

Awesome Lists containing this project

README

          

# Static Analysis Techniques and Tools

[![made-with-latex](https://img.shields.io/badge/Made%20with-LaTeX-1f425f.svg)](https://www.latex-project.org/) [![GPL license](https://img.shields.io/badge/License-GPL-blue.svg)](http://perso.crans.org/besson/LICENSE.html) [![build the presentation](https://github.com/EagleoutIce/sqa-static-analysis/actions/workflows/compile.yaml/badge.svg)](https://github.com/EagleoutIce/sqa-static-analysis/actions/workflows/compile.yaml)

This repository contains the source code for three lectures I created for the course "Software Quality Assurance" at the University of Ulm. They are designed to be the follow-up after a introduction of the general goals and techniques of static analysis.
Feel free to leave feedback in the form of issues, pull requests, or emails.
A summary of this course was held as a guest lecture at SE II at the TU Braunschweig.

## A Primer on Static Analysis

After a semester with only two lectures, this is the newly added general introduction to static analysis (see [./lecture_static_analysis/](./lecture_static_analysis//)).
See [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analysis/static_analysis.pdf) for the animated version and [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analysis/static_analysis-noanim.pdf) for the handout.

[![Title Page for the Static Analysis Primer Lecture](https://raw.githubusercontent.com/EagleoutIce/sqa-static-analysis/refs/heads/gh-pages/preview-sa.png)](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analysis/static_analysis-noanim.pdf)

## Introduction to Abstract Interpretation

This is my first take at an introductory lecture for abstract interpretation assuming no previous knowledge on the topic (see [./lecture_abstract_interpretation/](./lecture_abstract_interpretation/)).
See [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_abstract_interpretation/abstract_interpretation.pdf) for the animated version and [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_abstract_interpretation/abstract_interpretation-noanim.pdf) for the handout.

[![Title Page for the Abstract Interpretation Lecture](https://raw.githubusercontent.com/EagleoutIce/sqa-static-analysis/refs/heads/gh-pages/preview-abstract.png)](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_abstract_interpretation/abstract_interpretation-noanim.pdf)

## Introduction to Static Analysis Tools

This lecture focuses on how such techniques can be applied in practice, including with my own tool [flowR](https://github.com/flowr-analysis/flowr) which is a static analyzer for R code (see [./lecture_static_analyzers/](./lecture_static_analyzers/)).
See [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analyzers/real_world_sa.pdf) for the animated version and [here](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analyzers/real_world_sa-noanim.pdf) for the handout.

[![Title Page for the Static Analyzer Lecture](https://raw.githubusercontent.com/EagleoutIce/sqa-static-analysis/refs/heads/gh-pages/preview-static.png)](https://github.com/EagleoutIce/sqa-static-analysis/blob/gh-pages/lecture_static_analyzers/real_world_sa-noanim.pdf)