diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..12f177a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,34 @@
+language: cpp
+compiler:
+  - gcc
+#  - clang # not supported yet
+
+# install SWIG for bindings generation
+before_install:
+  - sudo apt-get update -qq
+  - sudo apt-get install -y swig
+
+# how to build
+script: cmake . && make -j && sudo make install && make test
+
+notifications:
+  email:
+    - david.wagner@intel.com
+  irc:
+    - "chat.freenode.net#parameter-framework"
+
+env:
+  global:
+   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
+   #   via the "travis encrypt" command using the project repo's public key
+   - secure: "Y+iKBg65e4dleuMwxAo1XSl/QkF4AtCe35ltu2DhPbeMJCywBmu0aeDb04oEaZJL+BxP+KMoRqRjeoGI3W/sh0gAq03iQ+P4C8KwRb9fdYPPVwH3NP3fyN27gFBH9GS8uMth68o2KP/oO/aqNwii/KbMZtubp7MhY/wnvz4DLCQ="
+
+addons:
+  coverity_scan:
+    project:
+      name: "dawagner/parameter-framework"
+      description: "Plugin-based and rule-based framework for managing parameters"
+    notification_email: david.wagner@intel.com
+    build_command_prepend: "cmake ."
+    build_command: "make -j 12"
+    branch_pattern: coverity_scan
diff --git a/README.md b/README.md
index 5b0aa2c..f55aeaa 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # parameter-framework
 
+[![Build Status](https://travis-ci.org/01org/parameter-framework.svg?branch=master)](https://travis-ci.org/01org/parameter-framework)
+
 ## Introduction
 
 The parameter-framework is a plugin-based and rule-based framework for handling
diff --git a/tools/coverage/coverage.py b/tools/coverage/coverage.py
index 0b9dd4c..1df02ae 100755
--- a/tools/coverage/coverage.py
+++ b/tools/coverage/coverage.py
@@ -204,14 +204,14 @@
                 str(dumpedDescription) for dumpedDescription in
                         self._dumpDescription(withCoverage, withNbUse))
 
-    def exportToXML(self, domElement=None):
+    def exportToXML(self, document, domElement=None):
         if domElement == None:
-            domElement = xml.dom.minidom.Element(self.tag)
+            domElement = document.createElement(self.tag)
 
         self._XMLaddAttributes(domElement)
 
         for child in self.children :
-            domElement.appendChild(child.exportToXML())
+            domElement.appendChild(child.exportToXML(document))
 
         return domElement
 
@@ -877,10 +877,10 @@
     def exportToXML(self):
         """Export tree to an xml document"""
         impl = xml.dom.minidom.getDOMImplementation()
-        newdoc = impl.createDocument(namespaceURI=None, qualifiedName=self.tag, doctype=None)
-        super().exportToXML(newdoc.documentElement)
+        document = impl.createDocument(namespaceURI=None, qualifiedName=self.tag, doctype=None)
+        super().exportToXML(document, document.documentElement)
 
-        return newdoc
+        return document
 
 # ============================
 # Command line argument parser
