-
Notifications
You must be signed in to change notification settings - Fork 8
CodeCoverageExplanation
The code coverage plugin chosen for reuse within the PVE is called EclEmma
Emma is a code coverage analysis tool that, during program execution (typically during unit testing), automatically instruments program bytecode to gather information about various kinds of standard code coverage measures, including branch and statement coverage. Emma reports such analysis back to the programmer through a series of reports.
EclEmma wraps Emma into an Eclipse plugin with a rich user interface. Coverage data is summarized to the user in a simple graphical fashion where program source is highlighted in various ways to indicate if a given construct has been executed during a given test run. For example, if a particular method was never executed during unit testing, its body is highlighted in red.
No customization has yet taken place for EclEmma. The main customization requested thus far is the ability to perform code coverage analysis during runtime assertion checking. Highlighting the program source code and executable specifications (in particular, method contracts and invariants) executed in a given test run will be particularly useful to Mobius PVE users. Such data will help users understand the completeness of their specifications with respect to their program code, as well as the completeness of their specifications with respect to their unit tests.
Additionally, given EclEmma performs aggregate coverage analysis, e.g., a given class's executable statements are 90% covered by the current unit tests. Such data will give a concrete measure that can be related to other aggregate measure like those reported by the variety of static analysis tools included in the Mobius PVE like !Findbugs and ESCJava2. A verification "dashboard" is planned that succinctly, visually, interactively summarizes all of this information for the programmer and a development team.
Version: 1 Time: Fri Mar 28 12:23:57 2008 Author: dcochran (dcochran) IP: 193.1.132.32