File: requirements.xml

package info (click to toggle)
libgroboutils-java 5-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 7,996 kB
  • ctags: 9,436
  • sloc: java: 59,880; xml: 12,732; sh: 377; perl: 104; makefile: 20
file content (68 lines) | stat: -rw-r--r-- 2,747 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<head>
    <name>Requirements</name>
    <doc-version>$Date: 2003/05/04 06:40:10 $</doc-version>
    <author>Matt Albrecht</author>
</head>
<body>

Create one or more Java tools which:
<OL>
    <LI>Generate <i>code coverage</i> information for an execution of one or
    more Java classes. Code Coverage refers to a collection of data
    based on source files, class files, and step tracing of the execution:
    <OL>
        <LI>which unique source lines and/or bytecode instructions that were
        visited within the execution process for each class under
        consideration.</LI>
        <LI>source lines and/or bytecode instructions that exist within
        the classes under consideration.</LI>
    </OL>
    A class is classified as "under consideration" if the user specifies that
    the class is to be included in the code coverage statistics results.
    <!--
    <P>
    <I>(Note: source lines may not be available for collection in all
    circumstances.  Thus, bytecode instruction data must be gathered
    under all circumstances.  This allows for a "apples to apples"
    comparison, regardless of the source line availability.)</I>
    </P>
    -->
    </LI>
    
    <LI>The two types of data above must be stored
    external to the tools.  This allows for greater performance, and
    easier bug checking.  It also leads to a more UN*X like tool chain.</LI>
    
    <LI>Generate statistics based on the the collected code coverage data:
    <OL>
        <LI>ratio between the number of unique lines that were visited in the
        execution process to the number of lines in the classes under
        consideration, grouped by methods.</LI>
        <LI>ratio between the number of bytecode instructions that were
        visited in the execution process to the number of bytecode
        instructions in the classes under consideration, grouped by
        methods.</LI>
        <LI>Additional statistics derived from the above data.  This
        includes per package, per class, and per method breakdown of the
        statistics.  Also included is ratios of covered lines to total
        lines.</LI>
    </OL>
    </LI>
    
    <LI>The tools must be aware of the ClassLoader considerations:
    different classes with the same name may be loaded by separate
    ClassLoaders.  Thus, the tools must have a method to discover differences
    between classes other than class name alone.</LI>
    
    <LI>The tools must generate a final human-readable document, preferably
    HTML.</LI>
    
    <LI>There is no restriction in the requirements as to the earliest model
    of a JVM.  This is left as an implementation detail.</LI>
</OL>

</body>
</document>