Class project to the lecture
Verification of Digital Systems
In this class project you will learn to develop professional code following industrial practices. Particularly, you will develop a minimalistic C++ BDD package as the one taught in the lecture. We highly encourage building teams of two students and practice pair-programming throughout the entire project. Single person projects will only be accepted in exceptional cases. Explain your specific reasons, why you cannot team up, in a one-on-one meeting with the supervisor of the lab. He may help you to find a partner for your project.
Congratulations to the winners of the "BDD-package contest 2016" Hugo Calvo and Zahni Baramidze for their very fast BDD-package implementation.
The implementation showed a very unique way of storing the data in a cache that is optimized for a very fast computation of the nodes. The runtime their implementation showed a 10x faster runtime than all other projects on our benchmarks.
The assignments of the class project are divided in two parts. At the end of each assignment there will be an assessment. We are going to help you with your code during the feedback sessions.
1. Part: Develop a BDD Package following a TDD (test driven development) approach
- Write the tests for the BDD package
- Implement the package in a C++ class
- Run the code against the predefined tests
2. Part: Given a benchmark:
- Run your project against the benchmarks
- Identify bottlenecks
- Improve your BDD package performance until a threshold is met
- The code of the best team will be published on our website