About: A sidequest is an optional, not graded, not evaluated in anyway exploration into a topic. Sometimes it is just cool to know what is out there in the world. Sidequests come with a little descritions, presentations, related resources, and a sample code or exercise you can try. Side quests are likely a good area for further independent studies, research project, thesis, etc.


Code Quality Analysis


Overview

We have talked a lot about code in this class, but what is optimal code. Is it code that does not branch a lot? Is it code that is small in size? Is the code maintainable. Is it code that is easily parallelizable?

Problem Statement

Come up with a score for various metrics on the code quality given source code as an input.

Proposed Exercise

Work with a framework such as LLVM to perform static code analysis.

Proposed Evaluation

Find some known 'good' and 'bad' code samples and run them through your static analysis.

Key Resources

(The first resource you should read)

Additional Resources