Final Thesis: The JDownloader Continuous Deployment Immune System

Abstract: To continuously build, test and deploy the “JDownloader” (JD) download manager code base, the team has been using Continuous Deployment principles for several months. The time frame from a source code change to a new release was radically reduced from hours to several minutes. JD’s main functionality is given by plugins that enable JD to perform complicated download tasks beyond simple HTTP downloads. However, these plugins are usually strongly coupled to external service interfaces like HTTP APIs or websites, and may break, if the interface changes. This thesis describes a system to collect real time metrics of these plugins, in order to monitor their fitness, to detect anomalous behavior and finally to provide proper, complete bug reports to the developer team. The implemented solution is an analysis- and reporting-system that is built upon a mathematical model of fitness time series. It turns out that there have been thousands of undetected bugs, and that new occurring bugs can be detected and reported 16 times faster than before.

Keywords: JDownloader, Error Detection, Continuous Deployment, Monitoring, Immune System, Bug Tracking

PDFs: Diplomarbeit, Work Description

Reference: Thomas Rechenmacher. The JDownloader Continuous Deployment Immune System. Diplomarbeit, Friedrich-Alexander-Universität Erlangen-Nürnberg: 2014.