Search

Design Services

CodeScan Code Coverage Measurement System for Embedded System Development and Quality Assurance

CodeScan is a real-time code execution analyzer for 8-bit 80C51 microcontroller-powered embedded systems.

Systematic and rigorous testing of newly developed or newly modified code is a vital part of any Software Quality Assurance or Software Lifecycle Management Procedure. Ashling’s CodeScan Code Coverage measurement system automates and records real-time Code Coverage measurement for designers using the 80C51 and 80C51Mx microcontroller families for embedded systems development. It is fully integrated into Ashling's PathFinder Source Level Debugger software.

CodeScan Benefits

  • Ensures that all code has been executed during testing.
  • Unused, unreachable or redundant code blocks or functions can be isolated easily and quickly, thus improving code memory utilization, efficiency and reliability.
  • Using the CodeScan report generator, Code Coverage test information can be included in product completion reports, to document the extent of system Verification & Validation.
  • Non-intrusive, non-instrumented system; works on real production code.


CodeScan Code Coverage is a real-time code execution analyzer, integrated as an option in Ashling’s Ultra-51 Series in-circuit emulators. The solid green marker in the CodeScan screen above indicates Tested (Executed) code in both C Source Code and Assembly Instruction representations. The Code Coverage Window shows the current Percentage Coverage for each Module and Function in the program-under-test.

CodeScan Features

  • CodeScan is installed as an optional sub-system in Ashling’s Ultra-51 series Emulators.
  • CodeScan provides a record of all code addresses accessed by your program and displays it in Ashling’s PathFinder Source-Level Debugger display.
  • Code not executed or tested can be located at-a-glance.
  • Code Coverage data can be saved and re-loaded.
  • Code Coverage data can be accumulated over several test sessions, to build towards a 100% coverage goal.
  • Code blocks that have been tested (executed) are displayed in both the Source and Disassembled Code Windows.
  • Code Coverage results are logged and included in a printed Report.
  • Generates Summary Report (coverage by Function, by Module and by Program) and Detail Reports (identifies all tested/untested/partially-tested Source Lines or Assembly Instructions in every function and module).
  • No intrusion on, or modification to, your code.
  • Hosted under Windows9x/Me/2000/XP.

Using a simple menu option, Code Coverage can be set up and analyzed. By choosing to tag the source and disassembly windows with coverage data, you can determine what code has been executed by simply scrolling through either the source code or disassembly windows.

You can analyze your complete embedded program at a glance through a flexible interactive window interface. The system's Code Coverage display window shows you all of the functions and code blocks that have not been executed.

Report Generation
The CodeScan Code Coverage Report Generator enables you to easily integrate your Code Coverage and test results with any project report. This can be used to verify that your product has been tested to the required depth.

Printed reports include date-stamp, program-under-test and untested code ranges.

Accumulating Code Coverage Results
CodeScan can load, save and merge code coverage data over several test sessions; you can continue testing over a period of time, thereby building systematically towards a level of 100% test verification and confirmation.