-
Notifications
You must be signed in to change notification settings - Fork 9
/
index.html
36 lines (32 loc) · 2.39 KB
/
index.html
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
<html>
<head>
<title>Smother - MC/DC analysis for Erlang</title>
</head>
<body>
<h1>Smother - MC/DC analysis for Erlang</h1>
<img src="srv_satip_state.png" style="float:right;width:45%;border:1px solid black;margin:5px" />
<h3>Introduction</h3>
<p>Smother is a tool to provide Modified Decision/Condition Coverage for Erlang programs.</p>
<p>All software requires testing to ensure it functions as specified, and to try to identify and remove
any fault conditions. Unit testing and integration testing often consists of suites of test
cases that exercise a range of likely - and unlikely - usage patterns for the software to confirm
that it does not crash and that the results it produces are those that are expected.</p>
<p>The standard OTP libraries include <i>cover</i> to provide line coverage analysis, and this is
often used to provide a simple measure of adequacy for Erlang test suites - i.e. to determine whether
more test cases should be added to explore more of the software's behaviour. However, line coverage
is limited in its analysis, and many faults can remain undetected in code, even after testing
to complete line coverage.</p>
<p>Several other code coverage metrics exist, including <a href="http://en.wikipedia.org/wiki/Code_coverage">Decision coverage</a> and <a href="http://en.wikipedia.org/wiki/Code_coverage">Condition coverage</a>,
but these also have limitations. For the highest integrity software the regulatory requirement is - either implicitly
of explicitly - to test to complete coverage as measured by <a href="http://en.wikipedia.org/wiki/Modified_Condition/Decision_Coverage">Modified Condition/Decision Coverage</a>.</p>
<p>The Smother tool provides an interface that is similar to cover, but that produces MC/DC analysis of the
Erlang module. Additionally, Smother provides various programatic interfaces to the analysis, to provide
numerical coverage data, and simplified lists of covered and uncovered code. These can be utilised by third-party
tools to acheive automatic test generation, and large scale test analysis.</p>
<p><a href="http://www.dcs.shef.ac.uk/~ramsay/Smother-demo.mp4">Watch the introduction video</a></p>
<h3>Documentation</h3>
<p><a href="doc/">See the online edoc.</a></p>
<h3>Results</h3>
<p>Have you tried Smother on your project? Please take 3 mins to <a href="http://staffwww.dcs.shef.ac.uk/people/R.Taylor/Smother/form.php">let us know how it went.</a></p>
</body>
</html>