<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1829183178035233266</id><updated>2011-12-12T23:26:02.920+01:00</updated><category term='Mogentes'/><category term='Publications'/><category term='Program Committee'/><category term='MBAT'/><category term='Research'/><category term='Lecturing'/><category term='Programming'/><category term='Testing'/><title type='text'>Bernhard K. Aichernig</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aichernig.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1398259892386600639</id><published>2011-12-01T10:16:00.001+01:00</published><updated>2011-12-01T11:44:14.895+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Protocol conformance testing a SIP registrar</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZEs4ca2zfD4/TtdOmHN_XrI/AAAAAAAAAGQ/jOeE26zsyJc/s1600/ipphone.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-ZEs4ca2zfD4/TtdOmHN_XrI/AAAAAAAAAGQ/jOeE26zsyJc/s1600/ipphone.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Photo: &lt;a href="http://www.flickr.com/photos/tiptel/5534756886/"&gt;Tiptel&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In recent years we have successfully applied model-based mutation
testing to several implementations of communication protocols. In our work reported in&lt;br /&gt;
&lt;br /&gt;
Bernhard&amp;nbsp;K. Aichernig, Bernhard Peischl, Martin Weiglhofer, and Franz Wotawa. &lt;b&gt;Protocol conformance testing a SIP registrar: an industrial application of   formal methods.&lt;/b&gt; In Mike Hinchey and Tiziana Margaria, editors, &lt;cite&gt;Fifth IEEE International   Conference on Software Engineering and Formal Methods (SEFM 2007), 10-14   September 2007, London, England, UK&lt;/cite&gt;, pages 215–226. IEEE Computer   Society, 2007. (&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/sefm2007.pdf"&gt;PDF&lt;/a&gt;) (&lt;a href="http://dx.doi.org/10.1109/SEFM.2007.31"&gt;doi:10.1109/SEFM.2007.31&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
we tested parts of the Session Initiation Protocol (SIP) used in internet telephony in order to register and connect communication partners.&lt;br /&gt;
&lt;br /&gt;
Our case study targeted a commercial and an open-source (OpenSER) SIP registrar. Furthermore,&amp;nbsp;we compared the mutation approach to a standard model-based test case generation technique. Our mutation technique generated 124 test cases, compared to 6000 test cases generated by the standard approach.&lt;br /&gt;
&lt;br /&gt;
The 6000 tests discovered nine different faults in the commercial SIP registrar and four in the open-source registrar OpenSER.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Interesting was the fact that the comparatively small set of 124 mutation tests uncovered one additional fault in the commercial implementation that was not detected by the 6000 tests of the classical approach.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This is a further indication that mutation testing could play an important role in a mature testing process.&lt;br /&gt;
&lt;br /&gt;
Another important contribution of this paper was to show how our mutation technique could be scaled to larger models. We sliced the models with the help of markers around the injected faults.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1398259892386600639?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1398259892386600639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1398259892386600639'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/12/protocol-conformance-testing-sip.html' title='Protocol conformance testing a SIP registrar'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ZEs4ca2zfD4/TtdOmHN_XrI/AAAAAAAAAGQ/jOeE26zsyJc/s72-c/ipphone.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1598875983697638137</id><published>2011-11-15T10:26:00.001+01:00</published><updated>2011-11-15T11:35:36.174+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>Industry Day at QSIC 2012, Xi'an, China</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-xPoiWqFe4QU/TsI5g1Ed0SI/AAAAAAAAAGI/VnpKOmELwtc/s1600/xian.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-xPoiWqFe4QU/TsI5g1Ed0SI/AAAAAAAAAGI/VnpKOmELwtc/s320/xian.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: right;"&gt;Photo: &lt;a href="http://www.flickr.com/photos/bachmont/5100094222/"&gt;bachmont&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
The 12th International Conference on Quality Software (QSIC 2012) will be held in
Xi'an, China, 27 to 28 of August, 2012. The QSIC series of conferences
is an established event bringing together people in the area of
software and systems quality.&lt;br /&gt;
&lt;br /&gt;
I was happy to learn that Zhou Chaochen (Chinese Academy of Sciences), my former boss at &lt;a href="http://iist.unu.edu/"&gt;UNU-IIST in Macao&lt;/a&gt;, is the General Chair of the event. Zhou Chaochen is the inventor of the &lt;a href="http://en.wikipedia.org/wiki/Duration_calculus"&gt;Duration Calculus&lt;/a&gt;. I joined the UNU faculty in Macao from 2002 to 2006.&lt;br /&gt;
&lt;br /&gt;
For the first time, QSIC is planning an &lt;b&gt;industry day&lt;/b&gt; with a dedicated
program committee build from practitioners from industry and applied
research. I was invited to join this program committee.
Wolfgang Grieskamp (Google) and Hongyu Zhang (Tsinghua University) are the Industry Chairs of QSIC 2012.
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Paper Submission Due:&lt;/b&gt; 23rd April 2012
&lt;br /&gt;
&lt;br /&gt;
Further details can be found on the &lt;a href="http://www.di.univaq.it/qsic2012/"&gt;website of QSIC 2012&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
P.S: QSIC is an established conference series. I had my first QSIC paper in 2005 and my latest paper at QSIC 2010:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.blogger.com/blogger.g?blogID=1829183178035233266" name="BrandlWeiglhofer&amp;amp;10"&gt;&lt;/a&gt;Bernhard&amp;nbsp;K. Aichernig and Percy Antonio&amp;nbsp;Pari Salas. Test case generation by OCL mutation and constraint solving. In Kai-Yuan Cai and Atsushi Ohnishi, editors,&amp;nbsp;&lt;cite&gt;QSIC 2OO5, Fifth International Conference on Quality Software, Melbourne, Australia, September 19-21, 2005&lt;/cite&gt;, pages 64–71. IEEE Computer Society Press, 2005. (&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/qsic05.pdf"&gt;PDF&lt;/a&gt;) (&lt;a href="http://dx.doi.org/10.1109/QSIC.2005.63"&gt;doi:10.1109/QSIC.2005.63&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Harald&amp;nbsp;Brandl, Martin Weiglhofer, and Bernhard&amp;nbsp;K. Aichernig. Automated conformance verification of hybrid systems. In&amp;nbsp;&lt;cite&gt;Proceedings of QSIC 2010: the 10th International Conference on Quality Software, Zhangjiajie, China, July 14-15, 2010&lt;/cite&gt;. IEEE Computer Society, 2010. Copyright by IEEE. (&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/qsic10.pdf"&gt;PDF&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1598875983697638137?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1598875983697638137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1598875983697638137'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/11/industry-day-at-qsic-2012-xian-china.html' title='Industry Day at QSIC 2012, Xi&apos;an, China'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-xPoiWqFe4QU/TsI5g1Ed0SI/AAAAAAAAAGI/VnpKOmELwtc/s72-c/xian.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-270149859743941170</id><published>2011-11-04T11:55:00.001+01:00</published><updated>2011-12-01T11:48:56.349+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MBAT'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>A new EU project started: MBAT</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-YDQTeQDeUPk/TrPD4YhNRNI/AAAAAAAAAGA/MPS6AyqvOgs/s1600/mbat-photo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://3.bp.blogspot.com/-YDQTeQDeUPk/TrPD4YhNRNI/AAAAAAAAAGA/MPS6AyqvOgs/s320/mbat-photo.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
On November 1st a new EU project started: &lt;a href="https://www.mbat-artemis.eu/"&gt;MBAT - Combined Model-based Analysis &amp;amp; Testing of Embedded Systems&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
MBAT is a three-years ARTEMIS joint undertaking project with 41 partners. I am the key researcher and project manager for TU Graz. 

MBAT combines the latest model-based testing technologies with static analysis techniques leading to a new model-based validation &amp;amp; verification method in the transportation domain (aerospace, automotive, railways).&lt;br /&gt;
&lt;br /&gt;
My team at TU Graz brings in our expertise and tools in model-based mutation testing from the MOGENTES and TRUFAL projects. One aim is to combine model-based mutation testing with structural test case generation approaches.&amp;nbsp;We will also investigate the relation of fault-models to the step-wise refinement in model-driven development.&lt;br /&gt;
&lt;br /&gt;
In model-based mutation testing we inject faults in models of the system under test and automatically generate test sequences that will detect these faults in an implementation. Hence, our tests prevent that the faulty model has been implemented. For details see, e.g., our paper "Efficient mutation killers in action" that can be found in the &lt;a href="http://aichernig.blogspot.com/p/test2.html"&gt;list of our conference papers&lt;/a&gt;. This work describes the case-study of testing a car-alarm system.&lt;br /&gt;
&lt;br /&gt;
In MBAT we will also investigate the current testing practice of our industrial partners and develop a process model
where the different testing techniques of MBAT best fit. This will facilitate the adoption of the tools and techniques in industry.&lt;br /&gt;
&lt;br /&gt;
We closely collaborate with the following Austrian project partners: &lt;a href="http://www.ait.ac.at/"&gt;AIT&lt;/a&gt;, &lt;a href="https://www.avl.com/"&gt;AVL&lt;/a&gt;, and &lt;a href="http://vif.tugraz.at/en/"&gt;VIF&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-270149859743941170?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/270149859743941170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/270149859743941170'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/11/new-eu-project-started-mbat.html' title='A new EU project started: MBAT'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YDQTeQDeUPk/TrPD4YhNRNI/AAAAAAAAAGA/MPS6AyqvOgs/s72-c/mbat-photo.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-602779709841412113</id><published>2011-10-17T14:58:00.003+02:00</published><updated>2011-10-17T15:08:19.467+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>Erlang Books</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-AU_J93eibAw/S-q1NeOlh0I/AAAAAAAAAEs/kxijhaMObDw/s1600/erlang.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://3.bp.blogspot.com/-AU_J93eibAw/S-q1NeOlh0I/AAAAAAAAAEs/kxijhaMObDw/s200/erlang.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
Recently we started some student projects on distributed programming in &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt;. Erlang is a functional programming language for developing distributed fault-tolerant applications with soft-realtime requirements. Erlang comes with a powerful library supporting common architectural patterns.&lt;br /&gt;
&lt;br /&gt;
The distinguishing feature of Erlang is the combination of the functional paradigm with the actor communication model. Every recursive function can be easily turned into a process that communicates via asynchronous messages with other processes. The only state in an Erlang program is the state of the communication mailboxes. Hence, no variables are shared. Therefore, functions or processes can be safely replaced during runtime.&lt;br /&gt;
&lt;br /&gt;
Furthermore, Erlang comes with its own virtual machine that fully exploits multi-core processors.&amp;nbsp;Erlang demonstrates the advantages of a declarative language when developing distributed applications.&lt;br /&gt;
As a starter I recommend the book of Erlang's inventor Joe Armstrong:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.amazon.de/gp/product/193435600X/ref=as_li_ss_il?ie=UTF8&amp;amp;tag=bernkaich-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=193435600X" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://ws.assoc-amazon.de/widgets/q?_encoding=UTF8&amp;amp;Format=_SL160_&amp;amp;ASIN=193435600X&amp;amp;MarketPlace=DE&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;tag=bernkaich-21&amp;amp;ServiceVersion=20070822" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.de/e/ir?t=bernkaich-21&amp;amp;l=as2&amp;amp;o=3&amp;amp;a=193435600X" style="border: none !important; margin: 0px !important;" width="1" /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a deeper understanding of Erlang's framework library OTP I recommend:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.amazon.de/gp/product/1933988789/ref=as_li_ss_il?ie=UTF8&amp;amp;tag=bernkaich-21&amp;amp;linkCode=as2&amp;amp;camp=1638&amp;amp;creative=19454&amp;amp;creativeASIN=1933988789" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://ws.assoc-amazon.de/widgets/q?_encoding=UTF8&amp;amp;Format=_SL160_&amp;amp;ASIN=1933988789&amp;amp;MarketPlace=DE&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;tag=bernkaich-21&amp;amp;ServiceVersion=20070822" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.de/e/ir?t=bernkaich-21&amp;amp;l=as2&amp;amp;o=3&amp;amp;a=1933988789" style="border: none !important; margin: 0px !important;" width="1" /&gt;

&lt;br /&gt;
&lt;br /&gt;
Have fun with Erlang! &lt;br /&gt;
&lt;br /&gt;
P.S: Erlang is not just fun. Amazon's distributed database web-service &lt;a href="http://aws.amazon.com/simpledb/"&gt;SimpleDB&lt;/a&gt; is written in Erlang.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-602779709841412113?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/602779709841412113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/602779709841412113'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/10/erlang-books.html' title='Erlang Books'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-AU_J93eibAw/S-q1NeOlh0I/AAAAAAAAAEs/kxijhaMObDw/s72-c/erlang.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-858731312044437300</id><published>2011-10-05T15:07:00.014+02:00</published><updated>2011-12-01T11:49:26.292+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>My Student Projects for 2011/12</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-l9JQar-P20c/ToxXyjilNEI/AAAAAAAAAF0/qh6pbkWSNjk/s1600/darwin-awards-nominees-men-in-a-pool-with-electric11.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-l9JQar-P20c/ToxXyjilNEI/AAAAAAAAAF0/qh6pbkWSNjk/s320/darwin-awards-nominees-men-in-a-pool-with-electric11.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Creativity without reflection is dangerous!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
These are my project proposals for student projects in the academic year 2011/12. Most of the topics can be scaled to small student projects, bachelor thesis projects, master thesis projects and in some cases up to dissertation subjects. The projects are not isolated but fit the current research agenda of my group. The students are supervised in meetings in two-week periods.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;MOMUTBUCK - Model-based Mutation Testing of a Controller for a Bucket Arm of a Wheel Loader&lt;/b&gt;&lt;br /&gt;
Model-based Mutation Testing is a black-box testing technique, where mutation testing is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for a given Java implementation. Especially, the combination of random and mutation testing shall be investigated.&amp;nbsp;This project is related to our completed FP7 MOGENTES project and to the running TRUFAL project.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ERLBUCK - Developing the controller of the bucket arm of a wheel-loader in Erlang&lt;/b&gt; &lt;span class="Apple-style-span" style="color: red;"&gt;(taken)&lt;/span&gt;&lt;br /&gt;
The aim of this project is to investigate the language features of Erlang and develop a distributed implementation of the controller. A UML model, a Java implementation and test cases exists. The idea is to use test-driven development to develop the distributed solution.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;AUTOFAULT - Fault Models in the Automotive Domain&lt;/b&gt;&lt;br /&gt;
Fault models capture typical faults that occur during the development of software. The task of this project is to analyze typical faults specific to the automotive application domain. The bug history at AVL&amp;nbsp;shall be analyzed regarding common faults specific to the domain and user requirements. In model-based mutation testing, such fault models serve as a basis to develop mutation operators, injecting faults into a model. Then test cases are generated targeting these specific faults.&amp;nbsp;This project is related to our completed FP7 MOGENTES project and to the running TRUFAL project.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ACTIONSAT - Action System to SMT Solver Translation&lt;/b&gt;&lt;br /&gt;
Action systems are a modeling framework well suited for modeling reactive systems, e.g. control logics of embedded systems. SMT Solvers are special SAT-Solvers extended with reasoning mechanisms for specific data types. SMT stands for SAT Modulo Theory. The aim is to develop a translator from the specification language of action systems to SMT-Lib, the standard input language for SMT solvers. Such a translation will enable the symbolic analysis of action system models, e.g., for test case generation.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;One option is to develop the translator in Prolog&lt;/li&gt;
&lt;li&gt;Another option is to use the new programming language Scala &lt;span class="Apple-style-span" style="color: red;"&gt;(taken)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;ACTIONMIN - Action System to Minion Constraint Solver Translation&lt;/b&gt;&lt;br /&gt;
Action systems are a modeling framework well suited for modeling reactive systems, e.g. control logics of embedded systems. The Minion Constraint Solver is highly optimized solver for solving constraint satisfaction problems.&amp;nbsp;The aim is to develop a translator from the specification language of action systems to the input language of Minion. Such a translation will enable the symbolic analysis of action system models, e.g., for test case generation&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;One option is to develop the translator in Prolog&lt;/li&gt;
&lt;li&gt;Another option is to use the new programming language Scala&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;MOMUTSUR - Model-based Mutation Testing Survey&lt;/b&gt;&lt;br /&gt;
Model-based Mutation Testing is a black-box testing technique, where mutation testing is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to research related work and write a survey on the topic. This includes the study of related literature as well as the evaluation of other existing tools. This project is related to our FP7 MOGENTES project.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ERLTOPDOWN - Systematic Distributed System Development in ERLANG&lt;/b&gt; &lt;span class="Apple-style-span" style="color: red;"&gt;(taken)&lt;/span&gt;&lt;br /&gt;
The aim of this project is to investigate the systematic top-down development of a sequential system description into a reliable distributed ERLANG application. ERLANG is a functional language for developing highly fault-tolerant distributed systems consisting of thousands of light-weight parallel processes. The student will start with the existing formal method RAISE and map the concepts to ERLANG programming.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CLOUDTCG - Distributed Test Case Generation in the CLOUD&lt;/b&gt;&lt;br /&gt;
Our group has considerable experience in developing model-based test case generators using mutation analysis. This technique subsumes other test case generation techniques, but is computationally expensive. We face state-space explosion problems known from model checking. One way to cope with this problem is to develop distributed test case generation algorithms. The idea is to use ERLANG as an implementation framework for these algorithms. The student shall develop a first prototype demonstrating the basic distributed architecture of such a new test case generator running in the cloud&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;DOMFAULTOSS - Domain Specific Fault Models in OSS&lt;/b&gt;&lt;br /&gt;
Fault models capture typical faults that occur during the development of software. The task of this project is to analyze typical faults specific to a certain application domain. The bug history of open-source software shall be analyzed regarding common faults specific to the domain and user requirements. In model-based mutation testing, such fault models serve as a basis to develop mutation operators, injecting faults into a model. Then test cases are generated targeting these specific faults.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;MOMUTCON - Model-based Mutation Testing of the Conference Protocol&lt;/b&gt;&lt;br /&gt;
Model-based Mutation Testing is a black-box testing technique, where mutation testing is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for the Conference Protocol, a simple multicast chat box protocol. This project is related to our completed FP7 MOGENTES project.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SEMU - Semantic Mutations of UML State Chart Diagrams&lt;/b&gt;&lt;br /&gt;
Model-based Mutation Testing is a black-box testing technique, where mutation testing is applied on the modeling level. In model-based mutation testing a model is mutated by changing its syntax. The mutants represent bugs and test cases are generated to detect such bugs in an implementation. In this project we consider semantic mutations of models, i.e. what are the possible faulty interpretations of a given model. It is well-known that there are several possible interpretations of UML state charts. The student shall investigate the state of the art on this topic and describe the possible semantic variations. This semantic variations will be build into our UML-Action System translator for generating test cases. The idea is to generate test cases that will detect faulty behavior due to semantic misinterpretations. This project is related to our FP7 MOGENTES project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-858731312044437300?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/858731312044437300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/858731312044437300'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/10/my-student-projects-for-201112.html' title='My Student Projects for 2011/12'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-l9JQar-P20c/ToxXyjilNEI/AAAAAAAAAF0/qh6pbkWSNjk/s72-c/darwin-awards-nominees-men-in-a-pool-with-electric11.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1999788524028750479</id><published>2011-03-01T14:50:00.000+01:00</published><updated>2011-12-01T11:49:42.567+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>Student Projects 2011</title><content type='html'>&lt;div&gt;
&lt;div style="clear: left; float: left;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s1600-h/rutherford.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5444359923711243650" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s400/rutherford.jpg" style="cursor: hand; cursor: pointer; float: left; height: 230px; margin: 0 20px 0px 0; width: 400px;" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/flissphil/1047265052/"&gt;PhillipC&lt;/a&gt; &lt;/small&gt; &lt;/div&gt;
These are my project proposals for student projects in 2011. Most of the topics can be scaled to small student projects, bachelor thesis projects, master thesis projects and in some cases up to dissertation subjects. The projects are not isolated but fit the current research agenda of my group. The students are supervised in weekly meetings. &lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ERLTOPDOWN - Systematic Distributed System Development in ERLANG&lt;/b&gt;&lt;br /&gt;
The aim of this project is to investigate the systematic top-down development of a sequential &lt;br /&gt;
system description into a reliable distributed ERLANG application. ERLANG is a functional language for developing highly fault-tolerant distributed systems consisting of thousands of light-weight parallel processes. The student will start with the existing formal method RAISE and map the concepts to ERLANG programming.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CLOUDTCG - Distributed Test Case Generation in the CLOUD&lt;/b&gt;&lt;br /&gt;
Our group has considerable experience in developing model-based test case generators using mutation analysis. This technique subsumes other test case generation techniques, but is computationally expensive. We face state-space explosion problems known from model checking.&lt;br /&gt;
One way to cope with this problem is to develop distributed test case generation algorithms. &lt;br /&gt;
The idea is to use ERLANG as an implementation framework for these algorithms. The student shall&lt;br /&gt;
develop a first prototype demonstrating the basic distributed architecture of such a new test case generator running in the cloud. &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ERLSIP&lt;/b&gt; Developing a SIP-Server in Erlang&lt;br /&gt;
The aim of this project is to investigate the language features of Erlang and develop a server implementing (parts of) the SIP protocol. SIP (Session-Initiation-Protocol) is used in Voice-Over-IP applications. Other protocols, like the conference protocol are possible.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DOMFAULT - Domain Specific Fault Models&lt;/b&gt;&lt;br /&gt;
Fault models capture typical faults that occur during the development of software. The task of this project is to analyze typical faults specific to a certain application domain. The bug history of open-source software shall be analyzed regarding common faults specific to the domain and user requirements. In model-based mutation testing, such fault models serve as a basis to develop mutation operators, injecting faults into a model. Then test cases are generated targeting these specific faults. &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ACTIONSAT - Action System to SMT Solver Translation&lt;/b&gt;&lt;br /&gt;
Action systems are a modeling framework well suited for modeling reactive systems, e.g. control logics of embedded systems. SMT Solvers are special SAT-Solvers extend with reasoning mechanisms for specific data types. SMT stands for SAT Modulo Theory. The aim is to develop a translator from the specification language of action systems to SMT-Lib, the standard input language for SMT solvers. Such a translation will enable the symbolic analysis of action system models, e.g., for test case generation.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MOMUTCON - Model-based Mutation Testing of the Conference Protocol: &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for the Conference Protocol, a simple multicast chat box protocol. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;MOMUTSUR - Model-based Mutation Testing Survey: &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to research related work and write a survey on the topic. This includes the study of related literature as well as the evaluation of other existing tools. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;SEMU - Semantic Mutations of UML State Chart Diagrams: &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. In model-based mutation testing a model is mutated by changing its syntax. The mutants represent bugs and test cases are generated to detect such bugs in an implementation. In this project we consider semantic mutations of models, i.e. what are the possible faulty interpretations of a given model. It is well-known that there are several possible interpretations of UML state charts. The student shall investigate the state of the art on this topic and describe the possible semantic variations. This semantic variations will be build into our UML-Action System translator for generating test cases. The idea is to generate test cases that will detect faulty behavior due to semantic misinterpretations. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;span class="fullpost"&gt;
&lt;li&gt;&lt;b&gt;COCA - Concolic Execution of Action Systems: &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Concolic stands for concrete and symbolic execution and is a technique for systematically exploring the paths of a program. Prominent tools that use this technique are jCute and PEX. The aim of this project is to develop a concolic executor for Action Systems. Action systems are a modeling framework well suited for modeling reactive systems, e.g. control logics of embedded systems. The student will study the problem and develop a prototype for a subset of the language. We currently use Action Systems as input to our model-based testing tools in the FP7 project &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SYMPRO - Symbolic Execution in Prolog: &lt;/b&gt;Symbolic execution is a technique we currently use for automated test case generation. In symbolic execution a program is executed with symbolic values. The result of such a symbolic execution is a formula describing all possible outputs dependent on the symbolic inputs. Prolog is well-suited to implement such a symbolic interpreter. The aim of this project is to use the professional prolog system Sicstus to develop a prototype symbolic interpreter for a small programming language. The idea is to exploit the Constraint Solvers of Sicstus Prolog in the style of constraint logic programming. &lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1999788524028750479?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1999788524028750479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1999788524028750479'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2011/03/student-projects-2011.html' title='Student Projects 2011'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s72-c/rutherford.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-7219156699808469384</id><published>2010-09-09T11:52:00.007+02:00</published><updated>2010-09-09T12:02:12.583+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>TAP 2011, Zurich</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIiwE2cK3XI/AAAAAAAAAFc/pFlMSHGSgsE/s1600/switzerland.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 268px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIiwE2cK3XI/AAAAAAAAAFc/pFlMSHGSgsE/s400/switzerland.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514851341094804850" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/gasi/1205126483/"&gt;Daniel Gasienica&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.tap2011.informatik.uni-bremen.de/"&gt;TAP 2011&lt;/a&gt;, the 5th International Conference on Tests &amp;amp; Proofs, to be held in Zurich, Switzerland, June 30 - July 1, 2011.
&lt;p&gt;
The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;

We had a paper at TAP 2009 on concolic execution of distributed systems (&lt;a href="http://aichernig.blogspot.com/2009/07/bernhards-conference-papers.html"&gt;see my conference papers&lt;/a&gt;).

&lt;span class="fullpost"&gt;
&lt;p&gt;
To prove the correctness of a program is to demonstrate, through
impeccable mathematical techniques, that it has no bugs; to test a
program is to run it with the expectation of discovering bugs. The two
techniques seem contradictory: if you have proved your program, it's
fruitless to comb it for bugs; and if you are testing it, that is
surely a sign that you have given up on any hope to prove its
correctness.
&lt;/p&gt;
&lt;p&gt;
Accordingly, proofs and tests have, since the onset of software
engineering research, been pursued by distinct communities using
rather different techniques and tools.
&lt;/p&gt;
&lt;p&gt;
And yet the development of both approaches leads to the discovery of
common issues and to the realization that each may need the other. The
emergence of model checking has been one of the first signs that
contradiction may yield to complementarity, but in the past few years
an increasing number of research efforts have encountered the need for
combining proofs and tests, dropping earlier dogmatic views of
incompatibility and taking instead the best of what each of these
software engineering domains has to offer.
&lt;/p&gt;
&lt;p&gt;
The conference will include a mix of invited and submitted
presentation, and a generous allocation of panels and informal
discussions. All papers will be published in Springer's LNCS series.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-7219156699808469384?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7219156699808469384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7219156699808469384'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/09/tap-2011-zurich.html' title='TAP 2011, Zurich'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIiwE2cK3XI/AAAAAAAAAFc/pFlMSHGSgsE/s72-c/switzerland.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1366601420643728643</id><published>2010-09-08T21:11:00.003+02:00</published><updated>2011-12-01T11:50:02.899+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>ICTAC 2011, Johannesburg</title><content type='html'>&lt;div style="clear: left; float: left;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfgG8NpMXI/AAAAAAAAAFU/drHysR46-bQ/s1600/southafrica.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5514622678585651570" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfgG8NpMXI/AAAAAAAAAFU/drHysR46-bQ/s400/southafrica.jpg" style="cursor: hand; cursor: pointer; float: left; height: 332px; margin: 0 10px 10px 0; width: 400px;" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/snapeverything/"&gt;Axel Bührmann&lt;/a&gt; 
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.blogger.com/blogger.g?blogID=1829183178035233266"&gt;ICTAC 2011&lt;/a&gt; to be held in Johannesburg, South Africa from 31 August to 2 September
2011.
&lt;br /&gt;
ICTAC 2011 is the 8th International Colloquium on Theoretical Aspects of Computing, the latest in a series founded by the International Institute for Software Technology of the United Nations University (UNU-IIST). ICTAC brings together practitioners and researchers
to present their research and to exchange ideas and experience
addressing challenges in both theoretical aspects of computing and in
the exploitation of theory through methods and tools for system development.&lt;br /&gt;
&lt;span class="fullpost"&gt;

&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1366601420643728643?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1366601420643728643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1366601420643728643'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/09/ictac-2011-johannesburg.html' title='ICTAC 2011, Johannesburg'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfgG8NpMXI/AAAAAAAAAFU/drHysR46-bQ/s72-c/southafrica.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-9132485806010918992</id><published>2010-09-08T20:45:00.005+02:00</published><updated>2011-12-01T11:50:27.607+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>SEFM 2011, Montevideo, Uruguay</title><content type='html'>&lt;div style="clear: left; float: left;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIfcwveAutI/AAAAAAAAAFM/ZcMByUy2W_c/s1600/montevideo.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5514618998672636626" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIfcwveAutI/AAAAAAAAAFM/ZcMByUy2W_c/s400/montevideo.jpg" style="cursor: hand; cursor: pointer; float: left; height: 353px; margin: 0 10px 0px 0; width: 400px;" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/bombeador/"&gt;Eduardo Amorim&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of SEFM 2011, the 9th  IEEE International Conference on Software Engineering and Formal Methods. SEFM 2011 will take place in Montevideo, Uruguay, end of November 2011.
The PC-chairs are Gilles Barthe and Gerardo Schneider. 
&lt;br /&gt;
The aim of the conference is to bring together practitioners and
researchers from academia, industry and government to advance the
state of the art in formal methods, to facilitate their uptake 
in the software industry and to encourage their integration with practical
engineering methods. 
Papers that combine formal methods and software engineering are
especially welcome.
&lt;br /&gt;
I served as a PC-Cochair for &lt;a href="http://sefm2005.uni-koblenz.de/"&gt;SEFM 2005&lt;/a&gt;. For information on the past SEFM conferences visit the &lt;a href="http://sefm.iist.unu.edu/"&gt;general SEFM webpage&lt;/a&gt;. 
&lt;br /&gt;
&lt;span class="fullpost"&gt;

&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-9132485806010918992?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9132485806010918992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9132485806010918992'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/09/sefm-2011-montevideo-uruguay.html' title='SEFM 2011, Montevideo, Uruguay'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/TIfcwveAutI/AAAAAAAAAFM/ZcMByUy2W_c/s72-c/montevideo.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-6517924450642641399</id><published>2010-09-08T20:07:00.008+02:00</published><updated>2010-09-08T20:35:11.365+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>SCENARIOS 2011, Berlin</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfUuz6JXsI/AAAAAAAAAFE/_86e1kXbz4o/s1600/berlin10.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfUuz6JXsI/AAAAAAAAAFE/_86e1kXbz4o/s400/berlin10.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514610169411624642" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://en.wikipedia.org/wiki/Ishtar_Gate"&gt;Ishtar Gate&lt;/a&gt;, Pergamon Museum, Berlin 2010.
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://lifc.univ-fcomte.fr/SCENARIOS2011/"&gt;SCENARIOS 2011&lt;/a&gt;, the 1st international workshop on Scenario-Based Testing . SCENARIOS 2011 is a satellite worksop of &lt;a href="http://sites.google.com/site/icst2011/"&gt;ICST 2011&lt;/a&gt; to be held in Berlin, Germany, March 2011. 
&lt;p&gt;
&lt;/p&gt;


&lt;span class="fullpost"&gt;
&lt;p&gt;
Nowadays, more and more techniques rely on human intervention so as to ensure the applicability of testing approaches. Indeed, a trade-off has to be found between the relevance of the test cases (requiring strong human intervention) and automation. Scenario-Based Testing addresses this issue by looking for more automation, with human intervention restricted to insightful activities. Over the years, different scenario based testing techniques have been developed to assist the validation engineer, using textual scenarios such as regular expressions, graphical notations such as UML interaction diagrams or test purposes specified as transitions systems. All these techniques represent an efficient solution to the state space explosion problem by restricting the possible executions of the system to a limited, and hopefully more accurate, subset of admissible traces. In addition, they make it possible to capture the human expertise for testing specific situations that can not be targeted by a systematic model coverage approach.
&lt;/p&gt;
&lt;p&gt;
This first edition of the workshop on Scenario-Based Testing aims at gathering ideas and techniques in the area of semi-automated testing. It is intended to assess the effectiveness of available techniques and promote original research ideas that can be concretized into an industrial context.&lt;/p&gt;

&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-6517924450642641399?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/6517924450642641399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/6517924450642641399'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/09/scenarios-2011-berlin.html' title='SCENARIOS 2011, Berlin'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/TIfUuz6JXsI/AAAAAAAAAFE/_86e1kXbz4o/s72-c/berlin10.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-7327927480661668676</id><published>2010-09-08T19:33:00.010+02:00</published><updated>2010-09-08T20:00:22.982+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>MBT 2011, April 2-3, 2011, Saarbruecken, Germany</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/TIfMSJvX0CI/AAAAAAAAAE8/yQlpd7yekuM/s1600/saarbruecken.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/TIfMSJvX0CI/AAAAAAAAAE8/yQlpd7yekuM/s400/saarbruecken.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514600880962785314" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/wolfgangstaudt/"&gt;Wolfgang Staudt&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.mbt-workshop.org/"&gt;MBT 2011&lt;/a&gt;, the 7th Workshop on Model-Based Testing. MBT 2011 is a satellite worksop of &lt;a href="http://www.etaps.org/2011/"&gt;ETAPS 2011&lt;/a&gt; to be held in Saarbrücken, Germany. 
&lt;p&gt;
The workshop is devoted to model-based testing of both software and hardware.  Model-based testing is closely related to model-based specification.  Models are used to describe the behavior of the system under consideration and to guide such efforts as test selection and test results evaluation.  Both testing and verification are used to validate models against the requirements and check that the implementation conforms to the specification model.
&lt;/p&gt;


&lt;span class="fullpost"&gt;
&lt;p&gt;
Model-based testing has gained attention with the popularization of models in software/hardware design and development. Of particular importance are formal models with precise semantics, such as state-based formalisms. Testing with such models allows one to measure the degree of the product's conformance with the model.
&lt;/p&gt;
&lt;p&gt;
Techniques to support model-based testing are drawn from diverse areas, like formal verification, model checking, control and data flow analysis, grammar analysis, and Markov decision processes.
&lt;/p&gt;
&lt;p&gt;
The intent of this workshop is to bring together researchers and users of models for to discuss the state of the art in theory, applications, tools, and industrialization of model-based specification, testing and verification.
&lt;/p&gt;
&lt;p&gt;
Original submissions are solicited from industry and academia. They are invited to present their work, plans, and views related to model-based testing. The topics of interest include but are not limited to:
&lt;ul&gt;
&lt;li&gt;Online and offline test sequence generation methods and tools 
&lt;li&gt;Test data selection methods and tools 
&lt;li&gt;Runtime verification 
&lt;li&gt;Model-based test coverage metrics 
&lt;li&gt;Automatic domain/partition analysis 
&lt;li&gt;Combination of verification and testing 
&lt;li&gt;Models as test oracles 
&lt;li&gt;Scenario based test generation 
&lt;li&gt;Meta programming support for testing 
&lt;li&gt;Formalisms suitable for model-based testing
&lt;li&gt;Application of model checking techniques in model-based testing
&lt;li&gt;Game-theoretic approaches to testing
&lt;li&gt;Model-based testing in industry: problems and achievements
&lt;/ul&gt;&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-7327927480661668676?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7327927480661668676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7327927480661668676'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/09/mbt-2011-april-2-3-2011-saarbruecken.html' title='MBT 2011, April 2-3, 2011, Saarbruecken, Germany'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/TIfMSJvX0CI/AAAAAAAAAE8/yQlpd7yekuM/s72-c/saarbruecken.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1952694080796542032</id><published>2010-05-12T15:27:00.020+02:00</published><updated>2010-05-12T16:21:55.157+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Erlang on Mac OS X 10.6 (Snow Leopard)</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZsRWQ-stHf4/S-q1NeOlh0I/AAAAAAAAAEs/OLIlvRUFIFI/s1600/erlang.jpg"&gt;&lt;img style="float:left; margin:0 30px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 178px;" src="http://3.bp.blogspot.com/_ZsRWQ-stHf4/S-q1NeOlh0I/AAAAAAAAAEs/OLIlvRUFIFI/s400/erlang.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5470383940452058946" /&gt;&lt;/a&gt;
&lt;/div&gt;

This is what I did to install &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt; on my MacBook Pro:
&lt;ol&gt;&lt;li&gt;Install the GCC compiler. This is done by installing Xcode, Apple's developer tool set, available for free after registration. It can be found at the &lt;a href="http://developer.apple.com/"&gt;Apple ADC&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;Install the &lt;a href="http://xmlgraphics.apache.org/fop/"&gt;Apache FOP&lt;/a&gt; print formatter. This Java application is needed for building the documentation. This implies that you also need Java. The configuration routine checks for Java SDK 1.5. (or higher). I had Java SDK 1.6 installed.&lt;/li&gt;
&lt;li&gt;
Get the latest&lt;a href="http://www.erlang.org/download.html"&gt; Erlang source&lt;/a&gt;, which in my case was a file named otp_src_R13B03.tar. Unarchive the file and follow the instructions:
&lt;pre lang="bash"&gt;
$ cd otp_src_R13B03
$. /configure
$ make
$ sudo make install
&lt;/pre&gt;
&lt;p&gt;Now bring up a terminal and issue the command:&lt;/p&gt;
&lt;pre lang="bash"&gt;
$ erl
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
1&gt; 1+2.
3
2&gt;
&lt;/pre&gt;
That's it! I am ready to have some Erlang fun.
&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1952694080796542032?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1952694080796542032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1952694080796542032'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/05/erlang-on-mac-os-x-106.html' title='Erlang on Mac OS X 10.6 (Snow Leopard)'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZsRWQ-stHf4/S-q1NeOlh0I/AAAAAAAAAEs/OLIlvRUFIFI/s72-c/erlang.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-5470103411809347621</id><published>2010-05-12T10:08:00.016+02:00</published><updated>2010-05-12T10:32:22.164+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>ICFEM 2010, Nov 16-19, Shangai</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/S-pmORuvqeI/AAAAAAAAAEk/32Yx7WeAj_Y/s1600/shanghai.jpg"&gt;&lt;img style="float:left; margin:0 25px 0px 0;cursor:pointer; cursor:hand;width: 266px; height: 400px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/S-pmORuvqeI/AAAAAAAAAEk/32Yx7WeAj_Y/s400/shanghai.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5470297092858554850" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/wolfgangstaudt/3575805266/"&gt;Wolfgang Staudt&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;

Another Shanghai conference I have been invited to serve on the Program Committee: &lt;a href="http://www.sei.ecnu.edu.cn/icfem2010/"&gt;ICFEM 2010&lt;/a&gt;, the 12th International Conference on Formal Engineering Methods. ICFEM 2010 will take place in Shanghai, right after UTP 2010. &lt;span style="font-weight:bold;"&gt;Submission deadline for abstracts is 28th of May 2010. &lt;/span&gt;
The conference chair is my former colleague at UNU-IIST He Jifeng (East China Normal University, China), PC-cochairs are Jin Song Dong (National University of Singapore, Singapore) and Huibiao Zhu (East China Normal University, China).
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
ICFEM brings together those interested in the application of formal engineering methods to computer systems. Researchers and practitioners, from industry, academia, and government, are encouraged to attend, and to help advance the state of the art. We are interested in work that has been incorporated into real production systems, and in theoretical work that promises to bring practical, tangible benefit.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
Submissions related to the following principal themes are encouraged,

but any topics relevant to the field of formal methods and

their support environments will also be considered:

&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Formal model-based development and code generation&lt;/li&gt;&lt;li&gt;Abstraction and refinement&lt;/li&gt;&lt;li&gt;Formal specification and modelling&lt;/li&gt;&lt;li&gt;Software verification&lt;/li&gt;&lt;li&gt;Formal approaches to software testing&lt;/li&gt;&lt;li&gt;Software model checking&lt;/li&gt;&lt;li&gt;Formal methods for object and component systems&lt;/li&gt;&lt;li&gt;Analysis and models for concurrency&lt;/li&gt;&lt;li&gt;Formal methods for cloud computing&lt;/li&gt;&lt;li&gt;Tool development and integration&lt;/li&gt;&lt;li&gt;Software safety, security and reliability&lt;/li&gt;&lt;li&gt;Experiments involving verified systems&lt;/li&gt;&lt;li&gt;Applications of formal methods&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-5470103411809347621?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/5470103411809347621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/5470103411809347621'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/05/icfem-2010-nov-16-19-shangai.html' title='ICFEM 2010, Nov 16-19, Shangai'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/S-pmORuvqeI/AAAAAAAAAEk/32Yx7WeAj_Y/s72-c/shanghai.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1998822673490988935</id><published>2010-04-14T09:28:00.008+02:00</published><updated>2010-04-14T10:06:51.710+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>UTP 2010, Nov 15-16, Shanghai</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/S8V0-N-C0dI/AAAAAAAAAEc/hyHyDCYgm_c/s1600/shanghai.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/S8V0-N-C0dI/AAAAAAAAAEc/hyHyDCYgm_c/s400/shanghai.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5459898735507198418" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/opiummuseum/4375115584/"&gt;stevechasmar&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.sei.ecnu.edu.cn/utp2010/"&gt;UTP 2010&lt;/a&gt;, the 3rd International Symposium on Unifying Theories of Programming. UTP 2010 will take place in Shanghai. &lt;span style="font-weight:bold;"&gt;Submission deadline for abstracts is 4th of June 2010. &lt;/span&gt; 
The PC-chair is Shengchao Qin, University of Durham, UK.  
&lt;p&gt;
Based on the pioneering work on Unifying Theories of Programming by Tony Hoare, He Jifeng, and others, the aims of the UTP Symposium series are to continue to reaffirm the significance of the ongoing UTP project, to encourage efforts to advance it by providing a focus for the sharing of results by those already actively contributing, and to raise awareness of the benefits of such unifying theoretical frameworks among the wider computer science and software engineering communities.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
Of particular interest is how unification may be used to meet the goals and difficulties to be encountered in the Grand Challenges of Computing, with particular reference to the UK's "GC6: Dependable Systems Evolution", its international cousin the "Verified Software Initiative", and their plan to develop a Verified Software Repository.
 
To this end the UTP2010 Symposium welcomes contributions on the above themes as well as others which can be related to them. Such additional themes include, but are not limited to, relational semantics, relational algebra, healthiness conditions, normal forms, linkage of theories, algebraic descriptions, incorporation of probabilistic programming, timed calculi and object-based descriptions, as well as alternative programming paradigms such as functional, logical, data-flow, and beyond. In all cases, the UTP approach should be compared and advantages/disadvantages discussed.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1998822673490988935?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1998822673490988935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1998822673490988935'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/04/utp-2010-nov-15-16-shanghai.html' title='UTP 2010, Nov 15-16, Shanghai'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/S8V0-N-C0dI/AAAAAAAAAEc/hyHyDCYgm_c/s72-c/shanghai.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-3994577812266067834</id><published>2010-03-03T09:11:00.038+01:00</published><updated>2010-03-18T08:40:11.258+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mogentes'/><title type='text'>Student Projects 2010</title><content type='html'>&lt;div&gt;
&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s1600-h/rutherford.jpg"&gt;&lt;img style="float:left; margin:0 20px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 230px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s400/rutherford.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5444359923711243650" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/flissphil/1047265052/"&gt;PhillipC&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;

These are my project proposals for student projects in 2010. Most of the topics can be scaled to small student projects, bachelor thesis projects, master thesis projects and in some cases up to dissertation subjects. The projects are not isolated but
fit the current research agenda of my group. The students are supervised in weekly meetings.
&lt;/div&gt;

&lt;div&gt;&lt;ul&gt;


&lt;li&gt;&lt;b&gt;MOMUTSIP - Model-based Mutation Testing of the SIP Protocol: &lt;/b&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for the &lt;a href="http://en.wikipedia.org/wiki/Session_Initiation_Protocol"&gt;Session Initiation Protocol&lt;/a&gt; used in Voice-Over-IP applications. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.
&lt;/li&gt;&lt;br&gt;



&lt;li&gt;&lt;b&gt;MOMUTCON - Model-based Mutation Testing of the Conference Protocol: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for the Conference Protocol, a simple multicast chat box protocol. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;&lt;br&gt;



&lt;li&gt;&lt;b&gt;MOMUTSUR - Model-based Mutation Testing Survey: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to research related work and write a survey on the topic. This includes the study of related literature as well as the evaluation of other existing tools. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;br&gt;


&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;SEMU - Semantic Mutations of UML State Chart Diagrams: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. In model-based mutation testing a model is mutated by changing its syntax. The mutants represent bugs and test cases are generated to detect such bugs in an implementation. In this project we consider semantic mutations of models, i.e. what are the possible faulty interpretations of a given model. It is well-known that there are several possible interpretations of UML state charts. The student shall investigate the state of the art on this topic and describe the possible semantic variations. This semantic variations will be build into our UML-Action System translator for generating test cases. The idea is to generate test cases that will detect faulty behavior due to semantic misinterpretations. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;br&gt;

&lt;span class="fullpost"&gt;



&lt;li&gt;&lt;b&gt;COCA - Concolic Execution of Action Systems: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt;Concolic stands for concrete and symbolic execution and is a technique for systematically exploring the paths of a program. Prominent tools that use this technique are jCute and PEX. The aim of this project is to develop a concolic executor for Action Systems. Action systems are a modeling framework well suited for modeling reactive systems, e.g. control logics of embedded systems. The student will study the problem and develop a prototype for a subset of the language. We currently use Action Systems as input to our model-based testing tools in the FP7 project &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;br&gt;


&lt;li&gt;&lt;b&gt;SYMPRO - Symbolic Execution in Prolog: &lt;/b&gt;Symbolic execution is a technique we currently use for automated test case generation. In symbolic execution a program is executed with symbolic values. The result of such a symbolic execution is a formula describing all possible outputs dependent on the symbolic inputs. Prolog is well-suited to implement such a symbolic interpreter. The aim of this project is to use the professional prolog system Sicstus to develop a prototype symbolic interpreter for a small programming language. The idea is to exploit the Constraint Solvers of Sicstus Prolog in the style of constraint logic programming. &lt;/li&gt;
&lt;br&gt;

&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;MUTO - Mutation Operators for Object-Oriented Action Systems: &lt;span class="Apple-style-span" style="font-weight: normal; "&gt; &lt;span style="color:#FF0000;"&gt;(in progress) &lt;/span&gt;Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. In model-based mutation testing a model is mutated by changing its syntax. The mutants represent bugs and test cases are generated to detect such bugs in an implementation. The mutants are generated by so called mutation operators. A mutation operator is a rule how a certain syntactic term, e.g. a programming statement, should be changed. This changes or mutations represent faults. The aim of this project is to define a set of mutation operators for our Object-Oriented Action System modeling language. Based on this, a tool shall be developed that takes a model and the set of mutation operators and produces a number of mutated versions of this model (mutants). We use such mutants as input for our test case generator.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;br&gt;


&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;MOMUTCAR - Model-based Mutation Testing of a Car Alarm System: &lt;/span&gt; &lt;span style="color:#FF0000;"&gt;(in progress)&lt;/span&gt; Model-based Mutation Testing is a black-box testing technique, where &lt;a href="http://en.wikipedia.org/wiki/Mutation_testing"&gt;mutation testing&lt;/a&gt; is applied on the modeling level. We have developed an automated test case generator based on this technique. The aim of this project is to evaluate the tool and technique for an industrial case study of a car alarm system. This project is related to our FP7 &lt;a href="https://www.mogentes.eu/"&gt;MOGENTES&lt;/a&gt; project.&lt;/li&gt;&lt;br&gt;

&lt;/span&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-3994577812266067834?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/3994577812266067834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/3994577812266067834'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/03/student-projects-2010.html' title='Student Projects 2010'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/S45AgVIudYI/AAAAAAAAAEU/cC-iRe33hUE/s72-c/rutherford.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-9134708051263013738</id><published>2010-01-19T11:18:00.012+01:00</published><updated>2010-02-15T09:18:02.015+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mogentes'/><title type='text'>SYANCO Winter School, Feb 8-12, Berlin</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZsRWQ-stHf4/S1WLo-1I-MI/AAAAAAAAAD8/90ya5Q__ks8/s1600-h/2904087529_51f785dd96.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://3.bp.blogspot.com/_ZsRWQ-stHf4/S1WLo-1I-MI/AAAAAAAAAD8/90ya5Q__ks8/s400/2904087529_51f785dd96.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5428398462041913538" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/29487767@N02/2904087529/"&gt;alles-schlumpf&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to lecture on the upcoming &lt;a href="http://homepages.cwi.nl/~sun/SYANCO/index.html"&gt;SYANCO Winter School&lt;/a&gt; in Berlin.
&lt;p&gt;
The International Winter School on Synthesis and Analysis of Component Connectors is taking place from 8 till the 12 of February 2010 at Park Inn Berlin-Alexanderplatz, Berlin, Germany. It is jointly organized by Coordination Languages Research Group (SEN3), Centrum Wiskunde &amp; Informatica (CWI), the Netherlands and Faculty of Computer Science, TU Dresden, Germany.
&lt;p&gt;
I will give a two hours lecture on &lt;span style="font-weight:bold;"&gt;Model-based Mutation Testing: Foundations and Applications&lt;/span&gt;. This lecture gives an introduction to mutation testing on the modelling level. 
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
The original idea of mutation testing on the source-code level goes back to the late 1970s and works as follows: The tester injects faults into a program under test, by deliberately changing its source code. This faulty versions of the program are called mutants. Then, test cases are executed on these mutants. If all the faults are detected, the set of test cases can be considered adequate. If the tests fail this quality assessment, then additional test cases should be designed until all faults are detected. The assumption is that other faults in the original program can be caught as well, if it is able to detect the injected faults. We show how this technique can be applied in model-based testing. The idea is to automatically generate test cases from mutated formal models. The test cases are designed to detect those bugs in a system under test that have been anticipated on the modelling level. In the course we will present (1) the general theory behind our technique, based on program semantics and refinement preorders, (2) map the theory to different modelling styles, including contracts and process algebras, and (3) discuss the model-based mutation testing of protocols and embedded systems.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-9134708051263013738?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9134708051263013738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9134708051263013738'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2010/01/syanco-winter-school-feb-8-12-2010.html' title='SYANCO Winter School, Feb 8-12, Berlin'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZsRWQ-stHf4/S1WLo-1I-MI/AAAAAAAAAD8/90ya5Q__ks8/s72-c/2904087529_51f785dd96.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-80842465612498193</id><published>2009-11-12T11:51:00.007+01:00</published><updated>2010-04-14T10:04:11.151+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>SEFM 2010, 13-17 September, Pisa, Italy</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SvvpWtEGtmI/AAAAAAAAAD0/nFvTwRbjPFo/s1600-h/dsc00578.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SvvpWtEGtmI/AAAAAAAAAD0/nFvTwRbjPFo/s400/dsc00578.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5403168754224248418" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: Pisa 2007
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.iist.unu.edu/sefm2010"&gt;SEFM 2010&lt;/a&gt;, the 8th  IEEE International Conference on Software Engineering and Formal Methods. SEFM 2010 will take place in Pisa. &lt;span style="font-weight:bold;"&gt;Submission deadline for abstracts is 22 March 2010. &lt;/span&gt; 
The PC-chairs are Jose Luis Fiadeiro and Stefania Gnesi. 
&lt;p&gt;
The aim of the conference is to bring together practitioners and
researchers from academia, industry and government to advance the
state of the art in formal methods, to facilitate their uptake 
in the software industry and to encourage their integration with practical
engineering methods. 
Papers that combine formal methods and software engineering are
especially welcome.
&lt;/p&gt;
&lt;p&gt;
I served as a PC-Cochair for &lt;a href="http://sefm2005.uni-koblenz.de/"&gt;SEFM 2005&lt;/a&gt;. For information on the past SEFM conferences visit the &lt;a href="http://sefm.iist.unu.edu/"&gt;general SEFM webpage&lt;/a&gt;. 
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
Here the call for papers will be published as soon as it is out.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-80842465612498193?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/80842465612498193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/80842465612498193'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/11/sefm-2010-13-17-september-pisa-italy.html' title='SEFM 2010, 13-17 September, Pisa, Italy'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/SvvpWtEGtmI/AAAAAAAAAD0/nFvTwRbjPFo/s72-c/dsc00578.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1012469180350690604</id><published>2009-10-23T17:06:00.009+02:00</published><updated>2009-10-23T17:47:02.827+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Fault-based Test Case Generation for Component Connectors</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SuHLAh6Po0I/AAAAAAAAADs/5pLiOL5lQ64/s1600-h/25225891_b84f70391a.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SuHLAh6Po0I/AAAAAAAAADs/5pLiOL5lQ64/s400/25225891_b84f70391a.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5395817038529667906" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/portablematthew/25225891/"&gt;Matthew Stinson&lt;/a&gt;&lt;br&gt;
&lt;/small&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;a href="http://homepages.cwi.nl/~sun/"&gt;Sun Meng&lt;/a&gt; at CWI had the idea to translate my UTP-theory of mutation testing to REO connectors. This resulted in a 
&lt;a href="http://www.dur.ac.uk/ieee.tase2009/"&gt;TASE 2009&lt;/a&gt; paper published in July:
&lt;/p&gt;
&lt;p&gt;
&lt;!-- Authors: Bernhard K Aichernig and Farhad Arbab and Lacramioara Astefanoaei
  and Frank S de Boer and Sun Meng and Jan Rutten --&gt;
&lt;a name="AichernigMeng&amp;amp;09"&gt;Bernhard&lt;/a&gt;&amp;nbsp;K. Aichernig, Farhad Arbab, Lacramioara
  Astefanoaei, Frank&amp;nbsp;S. de&amp;nbsp;Boer, Sun Meng, and Jan Rutten.
&lt;span style="font-weight:bold;"&gt;Fault-based test case generation for component connectors&lt;/span&gt;.
In &lt;cite&gt;TASE 2009, Third IEEE International Symposium on Theoretical Aspects
  of Software Engineering, Tianjin, China, July 29&amp;ndash;31&lt;/cite&gt;, pages 147&amp;ndash;154.
  IEEE Computer Society, July 2009.
Copyright by IEEE.
(&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/tase09.pdf"&gt;PDF&lt;/a&gt;)
(&lt;a href="http://dx.doi.org/10.1109/TASE.2009.14"&gt;doi:10.1109/TASE.2009.14&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
The paper demonstrates that the idea of formalizing basic software engineering concepts in Hoare and He's
Unifying Theories of Programming really helps to transfer knowledge and technology. In this case mutation testing found 
a new application domain: component connectors for modeling coordination in service-oriented architectures.
&lt;/p&gt;

&lt;span class="fullpost"&gt;
&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;Abstract. &lt;/span&gt;
The complex interactions appearing in service-oriented
computing make coordination a key concern in serviceoriented
systems. In this paper, we present a fault-based
method to generate test cases for component connectors
from specifications. For connectors, faults are caused by
possible errors during the development process, such as
wrongly used channels, missing or redundant subcircuits,
or circuits with wrongly constructed topology. We give test
cases and connectors a unifying formal semantics by using
the notion of design, and generate test cases by solving
constraints obtained from the specification and faulty connectors.
A prototype symbolic test case generator serves to
demonstrate the automatizing of the approach.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://aichernig.blogspot.com/2009/07/bernhards-conference-papers.html"&gt;More conference papers.&lt;/a&gt;
&lt;/p&gt;

&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1012469180350690604?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1012469180350690604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1012469180350690604'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/10/fault-based-test-case-generation-for.html' title='Fault-based Test Case Generation for Component Connectors'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/SuHLAh6Po0I/AAAAAAAAADs/5pLiOL5lQ64/s72-c/25225891_b84f70391a.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-2542740533431207991</id><published>2009-10-13T18:04:00.025+02:00</published><updated>2009-10-23T17:33:36.646+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>FMCO 2008: Conformance Testing of Distributed Concurrent Systems with Executable Designs</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/StSug5J8vGI/AAAAAAAAADk/KwTPt0lcNpg/s1600-h/3543543738_b37efce3e6_b.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/StSug5J8vGI/AAAAAAAAADk/KwTPt0lcNpg/s400/3543543738_b37efce3e6_b.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5392126533990923362" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;Photo: &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/clairity/3543543738/"&gt;*clairity*&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;

&lt;p&gt;
In August our &lt;a href="http://www-sop.inria.fr/oasis/FMCO/fmco08.html"&gt;FMCO 2008&lt;/a&gt; paper was published:
&lt;/p&gt;
&lt;p&gt;
&lt;!-- Authors: Bernhard K Aichernig and Andreas Griesmayer and Einar Broch
  Johnsen and Rudolf Schlatte and Andries Stam --&gt;
&lt;a name="AichernigGriesmayer&amp;amp;09b"&gt;Bernhard&lt;/a&gt;&amp;nbsp;K. Aichernig, Andreas Griesmayer, Einar&amp;nbsp;Broch
  Johnsen, Rudolf Schlatte, and Andries Stam.
Conformance testing of distributed concurrent systems with executable designs.
In &lt;cite&gt;Formal Methods for Components and Objects: 7th International
  Symposium, FMCO 2008, Sophia Antipolis, France, October 21&amp;ndash;23, 2008,
  Revised&lt;/cite&gt;, volume 5751 of &lt;cite&gt;Lecture Notes in Computer
  Science&lt;/cite&gt;, pages 61&amp;ndash;81, Berlin/Heidelberg, August 2009. Springer.
(&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/fmco08.pdf"&gt;PDF&lt;/a&gt;)
(&lt;a href="http://dx.doi.org/10.1007/978-3-642-04167-9_4"&gt;doi:10.1007/978-3-642-04167-9_4&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
The paper is a result of the &lt;a href="http://www.cwi.nl/projects/credo/"&gt;CREDO project&lt;/a&gt;. It shows our testing
process based on the modeling language Creol. Concolic execution on the model generates test stimuli and these are then
executed on a system under test. During a test run the  event traces are recorded and then replayed on the model. A small GUI helps to identify the controllable events for
generating the test driver for Creol.
&lt;/p&gt;

&lt;span class="fullpost"&gt;
&lt;p&gt;
&lt;span style="font-weight:bold;"&gt;Abstract. &lt;/span&gt;This paper presents a unified approach to test case generation
and conformance test execution in a distributed setting. A model in
the object-oriented, concurrent modeling language Creol is used both for
generating test inputs and as a test oracle. For test case generation, we
extend Dynamic Symbolic Execution (also called Concolic Execution) to
work with multi-threaded models and use this to generate test inputs that
maximize model coverage. For test case execution, we establish a conformance
relation based on trace inclusion by recording traces of events
in the system under test and replaying them in the model. User input
is handled by generating a test driver that supplies the needed stimuli
to the model. An industrial case study of the Credo project serves to
demonstrate the approach.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://aichernig.blogspot.com/2009/07/bernhards-conference-papers.html"&gt;More conference papers.&lt;/a&gt;
&lt;/p&gt;

&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-2542740533431207991?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2542740533431207991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2542740533431207991'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/10/fmco-2008-conformance-testing-of.html' title='FMCO 2008: Conformance Testing of Distributed Concurrent Systems with Executable Designs'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/StSug5J8vGI/AAAAAAAAADk/KwTPt0lcNpg/s72-c/3543543738_b37efce3e6_b.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-331222544346551740</id><published>2009-10-12T14:04:00.006+02:00</published><updated>2009-10-12T15:41:44.168+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>MBT 2010, March 21, Paphos, Cyprus</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/StMv_fY-JWI/AAAAAAAAADc/8VmwbdEduBk/s1600-h/2808250156_17d3cfd17a_b.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/StMv_fY-JWI/AAAAAAAAADc/8VmwbdEduBk/s400/2808250156_17d3cfd17a_b.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5391705946697114978" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Photo: &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/nick_grabowski/2808250156/in/pool-venus-aphrodite"&gt;Grabowski&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://react.cs.uni-sb.de/mbt2010/"&gt;MBT 2010&lt;/a&gt;, the 6th Workshop on Model-Based Testing. MBT 2010 is a satellite worksop of &lt;a href="http://www.etaps10.cs.ucy.ac.cy/"&gt;ETAPS 2010&lt;/a&gt; to be held at Paphos, the birthplace of &lt;a href="http://en.wikipedia.org/wiki/Aphrodite"&gt;Aphrodite&lt;/a&gt;. 
&lt;p&gt;
The workshop is devoted to model-based testing of both software and hardware.  Model-based testing is closely related to model-based specification.  Models are used to describe the behavior of the system under consideration and to guide such efforts as test selection and test results evaluation.  Both testing and verification are used to validate models against the requirements and check that the implementation conforms to the specification model.
&lt;/p&gt;
&lt;p&gt;
The call for papers is out. &lt;span style="font-weight:bold;"&gt;Submission deadline: &lt;/span&gt;December 10, 2009 
&lt;/p&gt;


&lt;span class="fullpost"&gt;
&lt;p&gt;
Model-based testing has gained attention with the popularization of models in software/hardware design and development. Of particular importance are formal models with precise semantics, such as state-based formalisms. Testing with such models allows one to measure the degree of the product's conformance with the model.
&lt;/p&gt;
&lt;p&gt;
Techniques to support model-based testing are drawn from diverse areas, like formal verification, model checking, control and data flow analysis, grammar analysis, and Markov decision processes.
&lt;/p&gt;
&lt;p&gt;
The intent of this workshop is to bring together researchers and users of models for to discuss the state of the art in theory, applications, tools, and industrialization of model-based specification, testing and verification.
&lt;/p&gt;
&lt;p&gt;
Original submissions are solicited from industry and academia. They are invited to present their work, plans, and views related to model-based testing. The topics of interest include but are not limited to:
&lt;ul&gt;
&lt;li&gt;Online and offline test sequence generation methods and tools 
&lt;li&gt;Test data selection methods and tools 
&lt;li&gt;Runtime verification 
&lt;li&gt;Model-based test coverage metrics 
&lt;li&gt;Automatic domain/partition analysis 
&lt;li&gt;Combination of verification and testing 
&lt;li&gt;Models as test oracles 
&lt;li&gt;Scenario based test generation 
&lt;li&gt;Meta programming support for testing 
&lt;li&gt;Formalisms suitable for model-based testing
&lt;li&gt;Application of model checking techniques in model-based testing
&lt;li&gt;Game-theoretic approaches to testing
&lt;li&gt;Model-based testing in industry: problems and achievements
&lt;/ul&gt;&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-331222544346551740?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/331222544346551740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/331222544346551740'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/10/mbt-2010-march-21-paphos-cyprus.html' title='MBT 2010, March 21, Paphos, Cyprus'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/StMv_fY-JWI/AAAAAAAAADc/8VmwbdEduBk/s72-c/2808250156_17d3cfd17a_b.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-5712866343667952215</id><published>2009-10-07T22:42:00.017+02:00</published><updated>2009-10-07T23:29:21.113+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Mogentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Journal Paper: Fault-Based Conformance Testing in Practice</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/Ss0FQ3otJOI/AAAAAAAAADU/ob6-I-J-fsc/s1600-h/1466998705_e93d1f2a7d_b.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/Ss0FQ3otJOI/AAAAAAAAADU/ob6-I-J-fsc/s400/1466998705_e93d1f2a7d_b.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5389970116403078370" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/marcusuke/1466998705/"&gt;marcusuke&lt;/a&gt;&lt;/small&gt;
&lt;/div&gt;
&lt;p&gt;
We got our work on mutation testing of communication protocols published in the &lt;a href="http://www.ijsi.org/"&gt;International Journal of Software and Informatics&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
The article is part of a &lt;a href="http://www.ijsi.org/IJSI/ch/reader/issue_list.aspx?year_id=2009&amp;quarter_id=2-3"&gt;special double issue on Formal Methods&lt;/a&gt; edited by &lt;a href="http://www2.imm.dtu.dk/~db/"&gt;Prof. Dines Bjorner&lt;/a&gt;. The journal is published by the Chinese Academy of Science and has an &lt;a href="http://www.ijsi.org/IJSI/ch/first_menu.aspx?parent_id=2009042384817001"&gt;international editing board&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;!-- Authors: Martin Weiglhofer and Bernhard Aichernig and Franz Wotawa --&gt;
&lt;a name="Weiglhofer&amp;amp;09"&gt;Martin&lt;/a&gt;
  Weiglhofer, Bernhard Aichernig, and Franz Wotawa.
Fault-based conformance testing in practice.
&lt;cite&gt;International Journal of Software and Informatics&lt;/cite&gt;,
  3(2&amp;ndash;3):375&amp;ndash;411, June/September 2009.
Copyright by Institute for Software, Chinese Academy of Science.
(&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/ijsi2009.pdf"&gt;PDF&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
In this work we present our results on testing two communcation protocols the Session Initiation Protocol and the Conference
Protocol. The protocols are modeled in LOTOS and then mutation testing is applied on the LOTOS specs for generating test cases. We present detailed data of the test process including the nice result that we were able to find a new bug in an implementation that was not detected by random and scenario-based testing.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;span style="font-weight:bold;"&gt;Paper abstract:&lt;/span&gt;
Conforming to protocol specications is a critical issue in modern distributed
software systems. Nowadays, complex service infrastructures, such as Voice-over-IP systems,
are usually built by combining components of dierent vendors. If the components do not
correctly implement the various protocol specications, failures will certainly occur. In the
case of emergency calls this may be even life-threatening. Functional black-box conformance
testing, where one checks the conformance of the implemented protocol to a specication
becomes therefore a major issue. In this work, we report on our experiences and ndings when
applying fault-based conformance testing to an industrial application. Besides a discussion
on modeling and simplications we present a technique that prevents an application from
implementing particular faults. Faults are modeled at the level of the specication. We show
how such a technique can be adapted to specications with large state spaces and present
results obtained when applying our technique to the Session Initiation Protocol and to the
Conference Protocol. Finally, we compare our results to random and scenario based testing.
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-5712866343667952215?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/5712866343667952215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/5712866343667952215'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/10/journal-paper-fault-based-conformance.html' title='Journal Paper: Fault-Based Conformance Testing in Practice'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/Ss0FQ3otJOI/AAAAAAAAADU/ob6-I-J-fsc/s72-c/1466998705_e93d1f2a7d_b.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-7172851043141314449</id><published>2009-09-23T21:45:00.016+02:00</published><updated>2009-09-23T22:52:02.027+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Mogentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>AI meets Formal Methods: Qualitative Reasoning and Action Systems</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SrqDzX_bT3I/AAAAAAAAADM/1DL186BFnaQ/s1600-h/553530413_ea5ad041af_o.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SrqDzX_bT3I/AAAAAAAAADM/1DL186BFnaQ/s400/553530413_ea5ad041af_o.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5384761223111462770" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Photo: &lt;a href="http://www.flickr.com/photos/cokada/553530413/"&gt;cokada&lt;/a&gt;&lt;/small&gt;
&lt;/div&gt;
&lt;p&gt;
We got our work on combining Qualitative Reasoning Techniques with Action Systems accepted at &lt;a href="http://icfem09.inf.puc-rio.br/ICFEM.html"&gt;ICFEM 2009&lt;/a&gt; in Rio. 
&lt;/p&gt;
&lt;p&gt;
This year the conference was highly competitive with an acceptance rate below 30 percent. The
paper integrates Qualitative Differential Equations into Back's Action System formalism for modeling hybrid systems.
The work forms part of the &lt;a href="http://aichernig.blogspot.com/2009/07/mogentes-project.html"&gt;MOGENTES Project&lt;/a&gt; and aims at model-based testing of hybrid systems.
&lt;/p&gt;
&lt;p&gt;
To our knowledge this is the first time that Qualitative Differential Equations have been merged into a formal development technique. The results are not limited to Action Systems, but apply also to similar formalisms like e.g. Event-B.
&lt;/p&gt;
&lt;p&gt;
&lt;!-- Authors: Bernhard K Aichernig and Harald Brandl and Willibald Krenn --&gt;
&lt;a name="Aichernig&amp;amp;09"&gt;Bernhard&lt;/a&gt;&amp;nbsp;K.
  Aichernig, Harald Brandl, and Willibald Krenn.
Qualitative action systems.
In &lt;cite&gt;Proceedings of ICFEM 2009: 11th International Conference on Formal
  Engineering Methods, Dec 9-12, 2009, Rio de Janeiro&lt;/cite&gt;, Lecture Notes in
  Computer Science. Springer-Verlag, 2009.
in press.
(&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/icfem09.pdf"&gt;PDF&lt;/a&gt;)
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;span style="font-weight:bold;"&gt;Paper abstract:&lt;/span&gt; An extension to action systems is presented facilitating the
modeling of continuous behavior in the discrete domain. The original
action system formalism has been developed by Back et al. in order
to describe parallel and distributed computations of discrete systems,
i.e. systems with discrete state space and discrete control. In order to
cope with hybrid systems, i.e. systems with continuous evolution and
discrete control, two extensions have been proposed: hybrid action sys-
tems and continuous action systems. Both use dierential equations (relations)
to describe continuous evolution. Our version of action systems
takes an alternative approach by adding a level of abstraction: continuous
behavior is modeled by Qualitative Dierential Equations that are
the preferred choice when it comes to specifying abstract and possibly
non-deterministic requirements of continuous behavior. Because their solutions
are transition systems, all evolutions in our qualitative action
systems are discrete.
Based on hybrid action systems, we develop a new theory of qualitative
action systems and discuss how we have applied such models in the
context of automated test-case generation for hybrid systems.
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-7172851043141314449?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7172851043141314449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7172851043141314449'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/09/ai-meets-formal-methods-qualitative.html' title='AI meets Formal Methods: Qualitative Reasoning and Action Systems'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/SrqDzX_bT3I/AAAAAAAAADM/1DL186BFnaQ/s72-c/553530413_ea5ad041af_o.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-8249338587677448091</id><published>2009-09-07T21:53:00.023+02:00</published><updated>2009-09-07T23:26:41.007+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>TAP 2010, June 28 - July 2, Malaga, Spain</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SqVr07gd0aI/AAAAAAAAADE/LH-NnbPo7o0/s1600-h/2558206764_e9c73dddfb.jpg"&gt;&lt;img style="float:left; margin:0 10px 0px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SqVr07gd0aI/AAAAAAAAADE/LH-NnbPo7o0/s400/2558206764_e9c73dddfb.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5378823887035158946" /&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;Photo: &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/pat_mcdonald/2558206764/"&gt;Pat McDonald&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://www.st.cs.uni-saarland.de/tap2010/"&gt;TAP 2010&lt;/a&gt;, the 4th International Conference on Tests &amp;amp; Proofs.
&lt;p&gt;
The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality.
&lt;/p&gt;
&lt;p&gt;
Gordon Fraser, a former colleague of mine at TU Graz, is co-chairing the PC with Angelo Gargantini. The conference chairs are &lt;span style="font-weight:bold;"&gt;Yuri Gurevich&lt;/span&gt;, Microsoft Research, USA and &lt;span style="font-weight:bold;"&gt;Bertrand Meyer&lt;/span&gt;, ETH Zuerich, Switzerland.
&lt;/p&gt;

Last year, we had a paper at TAP 2009 on concolic execution of distributed systems (&lt;a href="http://aichernig.blogspot.com/2009/07/bernhards-conference-papers.html"&gt;see my conference papers&lt;/a&gt;).

&lt;span class="fullpost"&gt;
&lt;p&gt;
To prove the correctness of a program is to demonstrate, through
impeccable mathematical techniques, that it has no bugs; to test a
program is to run it with the expectation of discovering bugs. The two
techniques seem contradictory: if you have proved your program, it's
fruitless to comb it for bugs; and if you are testing it, that is
surely a sign that you have given up on any hope to prove its
correctness.
&lt;/p&gt;
&lt;p&gt;
Accordingly, proofs and tests have, since the onset of software
engineering research, been pursued by distinct communities using
rather different techniques and tools.
&lt;/p&gt;
&lt;p&gt;
And yet the development of both approaches leads to the discovery of
common issues and to the realization that each may need the other. The
emergence of model checking has been one of the first signs that
contradiction may yield to complementarity, but in the past few years
an increasing number of research efforts have encountered the need for
combining proofs and tests, dropping earlier dogmatic views of
incompatibility and taking instead the best of what each of these
software engineering domains has to offer.
&lt;/p&gt;
&lt;p&gt;
The conference will include a mix of invited and submitted
presentation, and a generous allocation of panels and informal
discussions. All papers will be published in Springer's LNCS series.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-8249338587677448091?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/8249338587677448091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/8249338587677448091'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/09/tap-2010-june-28-july-2-malaga-spain.html' title='TAP 2010, June 28 - July 2, Malaga, Spain'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/SqVr07gd0aI/AAAAAAAAADE/LH-NnbPo7o0/s72-c/2558206764_e9c73dddfb.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-2617622145211879739</id><published>2009-08-10T19:42:00.019+02:00</published><updated>2010-05-12T16:14:14.417+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>Two in One: functional plus OO-programming in Scala</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZsRWQ-stHf4/SoBul1qNBEI/AAAAAAAAAC8/dhS_fLZPBOQ/s1600-h/functional-programming-joke.png"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_ZsRWQ-stHf4/SoBul1qNBEI/AAAAAAAAAC8/dhS_fLZPBOQ/s400/functional-programming-joke.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5368412352163939394" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;
Photo: &lt;a href="http://pyeuler.wikidot.com/"&gt;PyEuler&lt;/a&gt;
&lt;/small&gt;
&lt;/div&gt;

&lt;p&gt;
I believe in the functional first approach to teach computer programming to computer scientists. This means that students start with a &lt;a href="http://en.wikipedia.org/wiki/Functional_programming"&gt;functional programming&lt;/a&gt; language before programming in an imperative object-oriented style. 
&lt;/p&gt;
&lt;p&gt;
The advantage of this approach is that at the beginning the students can focus on problem solving writing functions with a given set of data structures ignoring the computer architecture. Only later they concentrate on how to implement such data-structures in an efficient way by exploiting the computer architecture.
&lt;/p&gt;
&lt;p&gt;
From 1998-2001  I was involved in such a course to first year students of TU Graz. We started with SML in the first half-year  and then switched to Java. All this could now be done in the programming language Scala that combines the pros of both programming paradigms. 
&lt;/p&gt;
I recommend to take a closer look at &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;. It might be the Java of the future.

&lt;span class="fullpost"&gt;

Scala combines features of both worlds. The most prominent features I've missed so long in OO languages are there:&lt;div&gt;&lt;ul&gt;&lt;li&gt;functions are values&lt;/li&gt;&lt;li&gt;pattern matching&lt;/li&gt;&lt;li&gt;higher order functions&lt;/li&gt;&lt;li&gt;closures&lt;/li&gt;&lt;li&gt;lazy evaluation&lt;/li&gt;&lt;li&gt;Milner's type inference system&lt;/li&gt;&lt;/ul&gt;However, it is far from being un-orthodox with OO features like:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;all values are objects&lt;/li&gt;&lt;li&gt;compiles to the Java Virtual Machine&lt;/li&gt;&lt;li&gt;full overloading including operators&lt;/li&gt;&lt;li&gt;(multiple) inheritance&lt;/li&gt;&lt;li&gt;direct definition of (singleton) objects &lt;/li&gt;&lt;li&gt;support for concurrency&lt;/li&gt;&lt;/ul&gt;The power this combination of paradigms brings cannot be underestimated: Scala's control structures can be extended in the language itself. Hence, it is possible to write domain specific commands. An example is Scala's support for the Actor communication model known from Erlang. It has been defined purely in Scala and is included as a library. Voila! Parallel programming with Actors on the JVM. 

Use the summer break to dive into Scala! Fun included.
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-2617622145211879739?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2617622145211879739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2617622145211879739'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/08/two-in-one-functional-plus-oo.html' title='Two in One: functional plus OO-programming in Scala'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZsRWQ-stHf4/SoBul1qNBEI/AAAAAAAAAC8/dhS_fLZPBOQ/s72-c/functional-programming-joke.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-2098382826628432179</id><published>2009-07-29T10:05:00.020+02:00</published><updated>2009-07-29T12:04:17.834+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publications'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Modeling and Testing Multi-Threaded Asynchronous Systems with Creol</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SnAMxAOvt_I/AAAAAAAAAC0/IkrB9RFP7Ss/s1600-h/DSC02848-s.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SnAMxAOvt_I/AAAAAAAAAC0/IkrB9RFP7Ss/s400/DSC02848-s.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5363801192213231602" /&gt;&lt;/a&gt;
&lt;br&gt;
&lt;small&gt;
Bosphorus bridge in Istanbul viewing from Asia to Europe.
&lt;/small&gt;
&lt;/div&gt;

After a long waiting period, yesterday our TTSS 2008 paper was published by Elsevier. The paper is a result of the &lt;a href="http://www.cwi.nl/projects/credo/"&gt;CREDO project&lt;/a&gt;.

&lt;p&gt;
&lt;a name="AichernigGriesmayer&amp;amp;09"&gt;Bernhard&lt;/a&gt; Aichernig, Andreas Griesmayer, Rudolf Schlatte,
and Andries Stam.
Modeling and testing multi-threaded asynchronous systems with Creol.
In &lt;cite&gt;Proceedings of the 2nd International Workshop on Harnessing Theories
for Tool Support in Software (TTSS 2008), Istanbul, Turkey, 30 August
2008&lt;/cite&gt;, volume 243 of &lt;cite&gt;Electronic Notes in Theoretical Computer
Science&lt;/cite&gt;, pages 3–14. Elsevier, July 2009.
(&lt;a href="http://www.ist.tugraz.at/aichernig/publications/papers/ttss08.pdf"&gt;PDF&lt;/a&gt;)
(&lt;a href="http://dx.doi.org/10.1016/j.entcs.2009.07.002"&gt;doi:10.1016/j.entcs.2009.07.002&lt;/a&gt;)
&lt;/p&gt;

&lt;p&gt;
The paper describes a model-based testing technique for asynchronous, concurrent systems and shows how the modeling language Creol can serve as a test oracle. Creol is a nice object-oriented modeling language for distributed systems by University of Oslo. We applied the technique to a commercial agent-based information system.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;div&gt;
&lt;div&gt;
The basic steps of our method are:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Create an abstract model of the system under test (SUT) in Creol.&lt;/li&gt;&lt;li&gt;Instrument the source code of the SUT by aspect-oriented programming techniques (here AspectC) for recording events.&lt;/li&gt;&lt;li&gt;Execute tests on the SUT and record the events.&lt;/li&gt;&lt;li&gt;Translate the event traces to Creol test cases.&lt;/li&gt;&lt;li&gt;Replay the test case on the model.
&lt;/li&gt;&lt;li&gt;If successful: the test passed;&lt;/li&gt;&lt;li&gt;If it fails: model check if there is a different non-deterministic path for this test case, if not the test failed.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Check out my other &lt;a href="http://aichernig.blogspot.com/2009/07/bernhards-conference-papers.html"&gt;conference papers&lt;/a&gt;.
&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-2098382826628432179?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2098382826628432179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/2098382826628432179'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/modeling-and-testing-multi-threaded.html' title='Modeling and Testing Multi-Threaded Asynchronous Systems with Creol'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/SnAMxAOvt_I/AAAAAAAAAC0/IkrB9RFP7Ss/s72-c/DSC02848-s.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-6873961484822500297</id><published>2009-07-27T16:58:00.026+02:00</published><updated>2009-07-28T11:01:49.155+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><category scheme='http://www.blogger.com/atom/ns#' term='Program Committee'/><title type='text'>ICTAC 2010, Sept 1-3, Natal, Brazil</title><content type='html'>&lt;div style="float:left;clear:left"&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/Sm3OR6VLjXI/AAAAAAAAACs/p9NiyDpyA0Y/s1600-h/2495921846_164fbeedca.jpg"&gt;&lt;img style="float:left;margin:0px 10px 0px 0px;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/Sm3OR6VLjXI/AAAAAAAAACs/p9NiyDpyA0Y/s400/2495921846_164fbeedca.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5363169538379320690" /&gt;
&lt;/a&gt;&lt;br&gt;
&lt;div xmlns:cc="http://creativecommons.org/ns#" about="http://www.flickr.com/photos/hello_dany/2495921846/"&gt;
&lt;small&gt;Photo courtesy of &lt;a rel="cc:attributionURL" href="http://www.flickr.com/photos/hello_dany/2495921846/"&gt;Dany Sakugawa&lt;/a&gt; 
&lt;/small&gt;
&lt;/div&gt;
&lt;/div&gt;
I have been invited to serve on the Program Committee of &lt;a href="http://ictac2010.dimap.ufrn.br/"&gt;ICTAC 2010&lt;/a&gt;.
&lt;p&gt;
It will have a special track on &lt;span style="font-weight:bold;"&gt;Formal Testing Approaches&lt;/span&gt; headed by Marie-Claude Gaudel.
&lt;/p&gt;
&lt;p&gt;
ICTAC 2010 is the 7th International Colloquium on Theoretical Aspects of Computing, the latest in a series founded by the International Institute for Software Technology of the United Nations University (UNU-IIST). ICTAC brings together practitioners and researchers
to present their research and to exchange ideas and experience
addressing challenges in both theoretical aspects of computing and in
the exploitation of theory through methods and tools for system development.&lt;/p&gt;
&lt;p&gt; The seventh edition of the event, ICTAC2010, will be held
from the 1st to the 3rd of September, 2010, in Natal, Brazil.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
ICTAC2010 will invite submissions of research papers of up to 15 pages
and of tool papers of up to 6 pages. Research papers should contain
original research, and sufficient detail to assess the merits and
relevance of the contribution. Submissions reporting on industrial
case studies are also welcome. Tool demonstration papers should stress
the technical and practical side, illustrating how one can apply the
theoretic contributions in practice. The schedule for submission and
evaluation of papers is as follows.
&lt;/p&gt;
Submission of abstracts: 08 March, 2010&lt;br&gt;

Submission deadline: 15 March, 2010&lt;br&gt;

Notification of acceptance: 30 April, 2010&lt;br&gt;

Final version: 16 May, 2010
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-6873961484822500297?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/6873961484822500297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/6873961484822500297'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/ictac-2010-sept-1-3-natal-brazil.html' title='ICTAC 2010, Sept 1-3, Natal, Brazil'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZsRWQ-stHf4/Sm3OR6VLjXI/AAAAAAAAACs/p9NiyDpyA0Y/s72-c/2495921846_164fbeedca.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-7372469046615759186</id><published>2009-07-23T15:59:00.021+02:00</published><updated>2009-07-23T23:37:25.142+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testing'/><title type='text'>Semantics? Yes tester, you need it!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SmicI1iKJNI/AAAAAAAAACk/jqopIqZG510/s1600-h/DSC04457.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SmicI1iKJNI/AAAAAAAAACk/jqopIqZG510/s400/DSC04457.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5361707032007812306" /&gt;&lt;/a&gt;


Once I had a testing project in industry in which we ran into the common situation that we did not know how to interpret a given requirement. Well, we asked  the requirements manager for advice. Since it was a tricky question, he forwarded our request to the customer and to the developers. We were fortunate in getting quick responses. However, there was a problem: the answers were contradicting each other.&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
What had happened?  Well, the customer and the developers had different interpretations of the requirements. There was a misunderstanding about this requirement. The consequence: the developers were implementing an incorrect system
from the customers point of view.

&lt;/div&gt;&lt;div&gt;
So what about the tester? His understanding of the requirements is crucial. In the example above, the asking of us testers highlighted a serious problem. Without a clear understanding of the requirements, no reliable test verdict (pass or fail) can
be given.

&lt;/div&gt;&lt;div&gt;
However, how do we know, if a tester understands the requirements? He could have made the same mistake as the developers. What if two testers (e.g. the customer's and the developer's) have different understandings of the requirements of a given SUT? Well, they would give different test verdicts: one might accept the SUT the other not.
Is there a way to prevent such misunderstandings?

&lt;/div&gt;
&lt;span class="fullpost"&gt;
&lt;div&gt;
Not in general, because misunderstanding is a psychological process of wrong interpretation. However, we can limit the roots of such misinterpretations. We need to define the semantics, i.e. the meaning, of the requirements. And if nobody does it in a project, the tester should.

&lt;/div&gt;&lt;div&gt;
How do we define the semantics of requirements?

Answer: by writing them in a formal notation with a precise semantics. There are modeling languages that come with a precise semantics, like &lt;a href="http://en.wikipedia.org/wiki/Vienna_Development_Method"&gt;VDM-SL&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Z_specification_language"&gt;Z&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/B-Method"&gt;B&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Alloy_(specification_language)"&gt;Alloy&lt;/a&gt;, RAISE, &lt;a href="http://en.wikipedia.org/wiki/Communicating_sequential_processes"&gt;CSP&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Language_Of_Temporal_Ordering_Specification"&gt;LOTOS&lt;/a&gt; etc.  These languages serve different purposes, but what they have in common is that their meaning is precisely defined, i.e. there is no ambiguity how to interpret what is written down.

&lt;/div&gt;&lt;div&gt;
Therefore, model-based testing should always apply models with a precise, formal semantics. Ok, most of the time a tester will not need it, because the meaning seems obvious, but as testers know, the rare cases matter. It even becomes more critical for model-based testing tools. If there is no precise standard semantics, different tools might behave differently for
the same models. (A common problem of compilers for programming languages without precise semantics).

&lt;/div&gt;&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Here is my advice:&lt;/span&gt; if somebody tries to sells you a model-based testing technique, ask him if his notation has a formal semantics. If he answers positively, double-check and ask for formal proofs done in this notation. No proofs, no formal semantics. &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Don't accept notations with misunderstanding built in!&lt;/span&gt;

&lt;/div&gt;&lt;div&gt;
More on model-based testing with formal notations can be found in my publications.

&lt;/div&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-7372469046615759186?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7372469046615759186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/7372469046615759186'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/semantics-yes-tester-you-need-it.html' title='Semantics? Yes tester, you need it!'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZsRWQ-stHf4/SmicI1iKJNI/AAAAAAAAACk/jqopIqZG510/s72-c/DSC04457.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1876698433037730115</id><published>2009-07-23T10:08:00.020+02:00</published><updated>2009-07-23T11:35:52.935+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>Lecturing in China</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmgdBjscD7I/AAAAAAAAACM/PALjsmYlTPM/s1600-h/dscn1030.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmgdBjscD7I/AAAAAAAAACM/PALjsmYlTPM/s400/dscn1030.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361567268983279538" /&gt;&lt;/a&gt;

&lt;p&gt;
From 2002 to 2006 I worked for the UN  as a Research Fellow of &lt;a href="http://www.iist.unu.edu/"&gt;UNU-IIST&lt;/a&gt; in Macao, a special administrative region of China. Part of the job was to hold advanced computer-science courses in developing countries. The participants were post-graduates, typically young assistant professors. 
&lt;/p&gt;

&lt;p&gt;
In 2003, at a course in &lt;a href="http://en.wikipedia.org/wiki/Lanzhou"&gt;Lanzhou&lt;/a&gt; I certainly got the most impressive welcome: my name on a banner at the entrance to the campus (see picture).

In China protocol is important, but Lanzhou Jiatong University was special. As a UN representative I was also officially welcomed by the rector and interviewed by their campus TV. I must admit, I was slightly impressed. Even more so by the fact that they had their own hotel on campus in which I stayed.
&lt;/p&gt;
&lt;span class="fullpost"&gt;

&lt;p&gt;The course title was &lt;span style="font-style:italic;"&gt;Formal Methods in Software Development&lt;/span&gt;. Lanzhou Jiatong University, Lanzhou, China, December 15--19, 2003.
&lt;/p&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SmgklBVzaII/AAAAAAAAACU/axpXOWXnIgA/s1600-h/dsc02443_2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SmgklBVzaII/AAAAAAAAACU/axpXOWXnIgA/s400/dsc02443_2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361575574818220162" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;Teaching formal methods is fun!
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SmgmVjIDlGI/AAAAAAAAACc/5EZUuBUQFDs/s1600-h/dsc02456.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZsRWQ-stHf4/SmgmVjIDlGI/AAAAAAAAACc/5EZUuBUQFDs/s400/dsc02456.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361577508032713826" /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;The course participants.
&lt;/div&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1876698433037730115?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1876698433037730115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1876698433037730115'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/lecturing-in-china.html' title='Lecturing in China'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmgdBjscD7I/AAAAAAAAACM/PALjsmYlTPM/s72-c/dscn1030.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-3648028692063634533</id><published>2009-07-21T23:47:00.036+02:00</published><updated>2009-07-23T11:34:57.594+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecturing'/><title type='text'>Lecturing in Africa</title><content type='html'>From 2002 to 2006 I worked for the UN  as a Research Fellow of &lt;a href="http://www.iist.unu.edu/"&gt;UNU-IIST&lt;/a&gt; in Macao, China. Part of the job was to hold advanced computer-science courses in developing countries. The participants were post-graduates, typically young assistant professors. &lt;div&gt;
&lt;/div&gt;&lt;div&gt;Most fascinating and adventurous were my two courses in Africa, one in Lagos, Nigeria and one in Dakar, Senegal.&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;University of Lagos, Nigeria, Nov. 4-8, 2002&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;The course title was &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Formal Methods in Software Development&lt;/span&gt;. It was part of the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;School on Methods, Tools and Techniques for Industrial Software Development&lt;/span&gt; jointly organized by UNU-IIST and University of Lagos.&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmZIsl4C9yI/AAAAAAAAABs/h207cdNgPPM/s1600-h/dscn0234.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmZIsl4C9yI/AAAAAAAAABs/h207cdNgPPM/s400/dscn0234.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361052337349785378" /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;The Lagos course participants and their lecturer (guess who it is!).
&lt;/div&gt;
&lt;span class="fullpost"&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/Sma4Uit7orI/AAAAAAAAACE/L9jBFoZtuMs/s1600-h/dscn0219.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/Sma4Uit7orI/AAAAAAAAACE/L9jBFoZtuMs/s400/dscn0219.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361175069487506098" /&gt;&lt;/a&gt;
&lt;div style="text-align: center;"&gt;Our lunch was colorful.
&lt;/div&gt;
&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;Universite Cheikh Anta Diop, Dakar, Senegal, November 24–28, 2003&lt;/span&gt;&lt;/span&gt;
&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica"&gt;
&lt;/p&gt;&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;The course in Dakar was on &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Foundations of Software Testing&lt;/span&gt; covering formal testing techniques.
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SmZPFTPkinI/AAAAAAAAAB0/H4G8fU1oyPc/s1600-h/dscn0966.jpg"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); "&gt;&lt;img src="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SmZPFTPkinI/AAAAAAAAAB0/H4G8fU1oyPc/s400/dscn0966.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361059358914677362" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZsRWQ-stHf4/SmZPFTPkinI/AAAAAAAAAB0/H4G8fU1oyPc/s1600-h/dscn0966.jpg"&gt;&lt;/a&gt;&lt;div&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;The Dakar course participants and myself.&lt;/div&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmazyMbwR7I/AAAAAAAAAB8/Fv_-qtKCrKQ/s1600-h/dscn0986.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmazyMbwR7I/AAAAAAAAAB8/Fv_-qtKCrKQ/s400/dscn0986.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5361170081343621042" /&gt;&lt;/a&gt;
&lt;div style="text-align: center;"&gt;On the weekend there was time to enjoy the beauty of Africa.
&lt;/div&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-3648028692063634533?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/3648028692063634533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/3648028692063634533'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/lecturing-in-africa.html' title='Lecturing in Africa'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/SmZIsl4C9yI/AAAAAAAAABs/h207cdNgPPM/s72-c/dscn0234.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-9011894324841872281</id><published>2009-07-09T12:55:00.005+02:00</published><updated>2009-07-27T16:57:07.598+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>Bernhard's Research Area</title><content type='html'>Bernhard’s research focuses on the foundations of software engineering. In particular, I'm interested in
&lt;ul&gt;&lt;li&gt;formal development methods
&lt;/li&gt;&lt;li&gt;specification, modeling and design of reliable software
&lt;/li&gt;&lt;li&gt;theories of programming, refinement calculi, concurrency
&lt;/li&gt;&lt;li&gt;foundations of software testing.
&lt;/li&gt;&lt;/ul&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
His current research is mainly concerned with the automated generation of test-cases from formal requirements specifications as well as with the associated testing theories. This includes the investigation of existing testing, specification and refinement techniques. The aim is to develop testing theories that are able to unify the existing results on specification-based testing and advance the field.
&lt;/p&gt;

His current emphasis is on fault-based testing. Fault-based testing is a technique where testers anticipate errors in a system under test in order to asses or generate test cases. The idea is to have enough test cases capable of detecting these anticipated errors. He applies this method on the specification level. His latest testing theory is based on Hoare and He's Unifying Theory of Programming (UTP) and has been instantiated to test case generator’s for OCL, Spec#, LOTOS and most recently Action Systems.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-9011894324841872281?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9011894324841872281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/9011894324841872281'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/bernhards-research-area.html' title='Bernhard&apos;s Research Area'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-1829183178035233266.post-1795134446631734131</id><published>2009-07-09T10:12:00.009+02:00</published><updated>2009-08-13T20:48:11.922+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mogentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>MOGENTES Project</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mogentes.eu"&gt;&lt;img  style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 90px;" src="http://1.bp.blogspot.com/_ZsRWQ-stHf4/SlX7E_3quqI/AAAAAAAAAAc/pJDZaURjB3c/s200/garland_logo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5356463395110042274" /&gt;&lt;/a&gt;
I am the project manager and senior researcher for &lt;a href="http://www.tugraz.at/"&gt;TU Graz&lt;/a&gt; in the &lt;a href="http://www.mogentes.eu/"&gt;MOGENTES project&lt;/a&gt;.
&lt;p&gt;
MOGENTES stands for Model-based Generation of Tests for Dependable Embedded Systems and is an European STREP project
in the 7th EU framework programme.
&lt;/p&gt;
&lt;p&gt;
The coordinator is the &lt;a href="http://www.arcs.ac.at/"&gt;Austrian Institute of Technology&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
MOGENTES aims at significantly enhancing testing and verification of dependable embedded systems by means of automated generation of test cases relying on development of new approaches as well as innovative integration of state-of-the-art techniques.
&lt;/p&gt;
&lt;span class="fullpost"&gt;
&lt;p&gt;
Driven by the needs of its industrial partners, it will address both testing of non-functional issues like reliability, e.g. by system stress and overload tests, and functional safety tests, meeting the requirements of standards such as IEC 61508, ISO WD 26262, or AUTOSAR.
&lt;/p&gt;
&lt;p&gt;
MOGENTES will demonstrate that different domains with a wide variety of requirements can significantly benefit from a common model-based approach for achieving automated generation of efficient test cases and for verifying system safety correctness using formal methods and fault injection, as this approach increases system development productivity while achieving predictable system dependability properties. For that purpose, proof-of concept demonstrations will show the applicability of the developed technologies in two application domains: railway and automotive (on- and off-road).
&lt;/p&gt;
&lt;p&gt;
In particular, MOGENTES aims at the application of these technologies in large industrial systems, simultaneously enabling application domain experts (with rather little knowledge and experience in usage of formal methods) to use them with minimal learning effort. All in all, MOGENTES will increase knowledge and develop new techniques and tools in the area of verification and validation of dependable embedded systems which can be applied in model-based development processes also by non-experts in formal methods.
&lt;/p&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1829183178035233266-1795134446631734131?l=aichernig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1795134446631734131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1829183178035233266/posts/default/1795134446631734131'/><link rel='alternate' type='text/html' href='http://aichernig.blogspot.com/2009/07/mogentes-project.html' title='MOGENTES Project'/><author><name>Cavaliere</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZsRWQ-stHf4/SlX7E_3quqI/AAAAAAAAAAc/pJDZaURjB3c/s72-c/garland_logo.png' height='72' width='72'/></entry></feed>
