Welcome to Dart, an open-source, distributed, software quality system. Dart allows software projects to be tested at multiple sites in multiple configurations (hardware, operating systems, compilers, etc.). Results from a build/test sequence are transmitted to a central server using standard internet protocols. The server produces concise dashboards, summarizing the current state of a software system. The dashboards link to detailed reports on inter- and intra- configuration results. Testing results are tracked over time, allowing developers to trace the history of development.

Dart empowers every developer in a distributed software development team to track the quality of their project. Furthermore, Dart allows a developer to experiment with a locally modified version of their software and submit the results of their experiments to a central dashboard for all developers to see.

Dart consists of a server and several client machines. Dart clients build and test a software project and submit build logs and test results to the Dart server. Dart clients encode build logs and test results in XML and transmit these reports to the Dart server over the internet. The Dart server summarizes the information from the clients and produces dashboards and reports.

The Dart dashboard (or dartboard) mechanism runs on a 24 hour clock, where each day a new dashboard is opened and closed. While a dashboard is open, Dart accepts submission of nightly, continuous and experimental builds. Nightly builds are timestamped to a source code repository at a time specified by the project (the default is 11pm EST). Since the nightly builds are locked to a timestamp, they can actually be performed at any time during which that day's dashboard is open for submissions. Continuous builds are used to reflect the status of the code in the repository triggered whenever something in the repository changes. Experimental builds represent any other build/test sequence that is not locked to repository status. Experimental builds are used to report on a user's locally modified verion of the software. Please go here to learn more about Dart.

Dart was developed by GE Corporate Research and Development as part of the NLM Insight Segmentation and Registration Toolkit project. Other sponsors include the Insight, VTK, and VXL open source software communities.

The goals for Dart include the following: