<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-html" lang="x-western">
<div align="justify"><span lang="EN-GB">Dear Erlang programmer,</span>
<br>
<br>
<span lang="EN-GB">We are two BSc thesis students, studying
Software Engineering and Management at the IT University of Gothenburg
Sweden.
We are currently conducting a research study on the use of fault
injection
technique (<a href="http://en.wikipedia.org/wiki/Fault_injection"><span
style="color: windowtext; text-decoration: none;">http://en.wikipedia.org/wiki/Fault_injection</span></a>)
for evaluating Erlang software testing tools. This approach works by
inserting
faults into Erlang programs, and evaluating testing tools by checking
if they
can detect the fault or not. </span><br>
<br>
<span lang="EN-GB">This study will involve finding out what
typical faults exist in Erlang programs, and how they can be injected
into such
programs. We have been going through Erlang/OTP releases (<a
href="http://erlang.org/download/otp_src_R10B-0.readme"><span
style="color: windowtext; text-decoration: none;">R10B-0</span></a> - <a
href="http://erlang.org/download/otp_src_R13A.readme"><span
style="color: windowtext; text-decoration: none;">R13</span></a>A) and
other Erlang
sources to find out what faults have been detected over the years. We
need your
help in finding out how these faults can be injected into Erlang
programs at
run time. Any idea on how this can be done will be highly appreciated. </span><br>
<br>
<span lang="EN-GB">Below are some Erlang faults<sup>1</sup>:</span>
<br>
<br>
<b style=""><span lang="EN-GB">API mismatches<o:p></o:p></span></b>
<br>
<span lang="EN-GB">Calling
the wrong function/using the wrong arguments</span>
<br>
<span lang="EN-GB"><o:p> </o:p></span>
<br>
<b style=""><span lang="EN-GB">Race conditions<o:p></o:p></span></b>
<br>
<span lang="EN-GB">Two
parallel processes trying to do something incompatible, e.g. one
deleting and
the other reading a table object</span>
<br>
<span lang="EN-GB"><o:p> </o:p></span>
<br>
<b style=""><span lang="EN-GB">Wrong context (process)<o:p></o:p></span></b>
<br>
<span lang="EN-GB">Executing
in the wrong context, e.g. trying to read from a table that only exists
on
another Process</span>
<br>
<span lang="EN-GB"><o:p> </o:p></span>
<br>
<span lang="EN-GB">We hope to receive your reply on or before
May 8<sup>th</sup>. You can send your response or any enquiry to Taiwo
on <a href="mailto:ajakaiye@ituniv.se">ajakaiye@ituniv.se</a> or Hoat
on <a href="mailto:quangd@ituniv.se">quangd@ituniv.se</a>. The result
of the study
will be published on Gothenburg University library, and will be
available to
the public.</span>
<br>
<span lang="EN-GB"><o:p> </o:p></span>
<br>
<span lang="EN-GB">Thanks in advance for your response,</span>
<br>
<br>
<span lang="EN-GB">Ajakaiye Taiwo Dayo and Quang Hoat</span>
<span lang="EN-GB">Do</span><br>
<br>
<i style=""><span lang="EN-GB">IT
University of Göteborg<o:p></o:p></span></i>
<br>
<i style=""><span lang="EN-GB">Software
Engineering and Management<o:p></o:p></span></i>
<br>
<i style=""><span lang="EN-GB">Gothenburg,
Sweden<o:p></o:p></span></i>
<br>
<i style=""><span lang="EN-GB"><o:p> </o:p></span></i>
</div>
<i style=""><span lang="EN-GB"><o:p> </o:p></span></i>
<br>
<div align="justify"><sup><span lang="EN-GB">1</span></sup><span
lang="EN-GB"> Mats
Cronqvist, 2004, Troubleshooting a Large Erlang System, Erlang’04, ACM
New
York, NY, USA.</span>
<br>
<span lang="EN-GB"><o:p></o:p></span><br>
</div>
</div>
</body>
</html>