Author: eelco Date: Wed Aug 18 11:38:23 2010 New Revision: 23223 URL: https://svn.nixos.org/websvn/nix/?rev=23223&sc=1
Log: * ISSRE paper. Modified: homepage/trunk/docs/papers.xml homepage/trunk/news.xml Modified: homepage/trunk/docs/papers.xml ============================================================================== --- homepage/trunk/docs/papers.xml Wed Aug 18 11:03:36 2010 (r23222) +++ homepage/trunk/docs/papers.xml Wed Aug 18 11:38:23 2010 (r23223) @@ -11,6 +11,55 @@ <items> + <inproceedings id="issre10"> + <author>Sander van der Burg</author> + <author>Eelco Dolstra</author> + <title>Automating System Tests Using Declarative Virtual Machines</title> + <booktitle url="http://www.issre2010.org/">21st IEEE + International Symposium on Software Reliability Engineering + (ISSRE 2010)</booktitle> + <location>San Jose, California, USA</location> + <day>1—4</day> + <month>November</month> + <year>2010</year> + <link type="draft" url="http://www.st.ewi.tudelft.nl/~dolstra/pubs/decvms-issre2010-submitted.pdf" /> + <htmlnote><em>To appear.</em></htmlnote> + + <abstract> + <p>Automated regression test suites are an essential + software engineering practice: they provide developers with + rapid feedback on the impact of changes to a system’s source + code. The inclusion of a test case in an automated test suite + requires that the system’s build process can automatically + realise all the <em>environmental dependencies</em> of the + test. These are external elements necessary for a test to + succeed, such as shared libraries, running programs, and so + on. For some tests (e.g., a compiler’s), these requirements + are simple to meet.</p> + + <p>However, many kinds of tests, especially at the + integration or system level, have complex dependencies that + are hard to provide automatically, such as running database + servers, administrative privileges, services on external + machines or specific network topologies. As such dependencies + make tests difficult to script, they are often performed only + manually, if at all. This particularly affects distributed + systems and system-level software.</p> + + <p>This paper shows how we can automatically instantiate the + complex environments necessary for tests by creating (networks + of) virtual machines on the fly from declarative + specifications. Building on NixOS, a Linux distribution with + a declarative configuration model, these specifications + concisely model the required environmental dependencies. We + also describe techniques that allow efficient instantiation of + VMs. As a result, complex system tests become as easy to + specify and execute as unit tests. We evaluate our approach + using a number of representative problems, including automated + regression testing of a Linux distribution.</p> + </abstract> + </inproceedings> + <!-- <misc> <author>Sander van der Burg</author> @@ -49,12 +98,9 @@ <author>Andres Löh</author> <author>Nicolas Pierron</author> <title>NixOS: A Purely Functional Linux Distribution</title> - <year>2009</year> - <htmlnote><em>Under consideration for the Journal of Functional - Programming.</em> <strong>Note:</strong> this is currently the - most complete description of NixOS.</htmlnote> - <link type="draft" url="http://www.st.ewi.tudelft.nl/~dolstra/pubs/nixos-jfp-submitted.pdf" /> - <tag name="nixos" /> + <year>2010</year> + <htmlnote><em>Under consideration for the Journal of Functional Programming.</em></htmlnote> + <link type="draft" url="http://www.st.ewi.tudelft.nl/~dolstra/pubs/nixos-jfp-submitted-v2.pdf" /> <abstract> Existing package and system configuration management tools @@ -62,7 +108,7 @@ administration actions such as upgrading packages or changes to system configuration files are stateful: they destructively update the state of the system. This leads to many problems, - such as the inability to roll back changes easily, to run + such as the inability to roll back changes easily, to deploy multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system. In this article we show that we @@ -71,8 +117,8 @@ all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogously - to a heap in a purely function language. We have implemented - this model in <em>NixOS</em>, a non-trivial Linux + to a heap in a purely functional language. We have + implemented this model in <em>NixOS</em>, a non-trivial Linux distribution that uses the <em>Nix package manager</em> to build the entire system configuration from a modular, purely functional specification. Modified: homepage/trunk/news.xml ============================================================================== --- homepage/trunk/news.xml Wed Aug 18 11:03:36 2010 (r23222) +++ homepage/trunk/news.xml Wed Aug 18 11:38:23 2010 (r23223) @@ -7,6 +7,34 @@ <month>8</month> <day>18</day> <title> + ISSRE paper on NixOS-based system testing + </title> + <description> + The paper <a href="docs/papers.html#issre10">“Automating System + Tests Using Declarative Virtual Machines”</a> (by Sander van der + Burg and Eelco Dolstra) has been accepted for presentation at + the <a href="http://www.issre2010.org/">21st IEEE International + Symposium on Software Reliability Engineering (ISSRE 2010)</a>. + It describes how system tests with complex requirements on the + environment (such as remote machines, network topologies, system + services or root privileges) can be written succinctly using <a + href="https://svn.nixos.org/websvn/nix/nixos/trunk/tests/bittorrent.nix">declarative + specifications</a> of the machines needed by the test + environment. From these specifications we can automatically + instantiate (networks of) virtual machines. This is what we use + for <a + href="http://hydra.nixos.org/jobset/nixos/trunk/jobstatus">automated + regression testing of NixOS itself</a>. A <a + href="http://www.st.ewi.tudelft.nl/~dolstra/pubs/decvms-issre2010-submitted.pdf">draft + of the paper</a> is available. + </description> + </item> + + <item> + <year>2010</year> + <month>8</month> + <day>18</day> + <title> Xfce in NixOS </title> <description> _______________________________________________ nix-commits mailing list [email protected] http://mail.cs.uu.nl/mailman/listinfo/nix-commits
