Home
Our Services
Programming Tools Business Unit
Debugger / Simulator
Upgrading an existing simulator debugger to support additional targets
Upgrading an existing simulator debugger to support additional targets
| OS | Windows |
| Language/Platform | C |
| Development model | Incremental development model |
| Quality validation tools |
|
The first difficult phase in a maintenance or upgrade work is to understand the existing implementation and its interfaces. In a maintenance or upgrade work the ability to test the product to start with is also important. So our first task was to write test cases and to use the tests to debug and single step through the code to understand it. Our understanding was documented on the source code itself.
Then we split the work involved in supporting the additional target across different milestones. This allowed us to concentrate on specific features in each milestone. Before adding a new functionality we first developed tests for the new functionality. This allowed us to single step and debug the implementation while it is being developed.
The functionalities to be supported or modified include complex specifications like multi-stage pipelining, cache organization and memory management unit. Understanding these required reasonable hardware knowledge and understanding of processor architectures. The relevant materials are read and the team discussed it frequently to validate the understanding of the team members.
Once we completed adding all the functionalities to support the new target, we calculated the code coverage. Additional tests were added to cover those portions of the code which are not exercised by the test cases. We reached test coverage of close to 100%.