Tag Archives: JDownloader

Final Thesis: The Benefits of Continuous Deployment Evaluated Using the JDownloader Software

Abstract: Continuous Delivery and Continuous Deployment approaches have seen widespread adoption in the software industry. To harness such techniques effectively, close monitoring and detailed knowledge about the state of software in production is highly desirable. This thesis analyzes the JDownloader Immune System, a real-time monitoring and error detection mechanism developed for the open source download manager software JDownloader. It describes the mathematical model for error detection based on time series analysis and Holt-Winters-Forecasting. The thesis continues to provide insight on the architecture of the immune system and shows how it provides useful information to developers and users through state dashboards. Finally, it evaluates the effectiveness of the immune system compared to manual user reports. The thesis finds that error detection speed for severe issues is 16 times faster than through manual reports and critical bugs are more than four times more likely to be detected within the first 24 hours after their first appearance.

Keywords: Continuous software engineering, continuous deployment, continuous delivery, JDownloader

PDFs: Master Thesis, Thesis Description

Reference: Michael Weber. The Benefits of continuous deployment evaluated using the JDownloader software. Master Thesis, Friedrich-Alexander-Universität Erlangen-Nürnberg: 2017.

Final Thesis: Entwurf und Implementierung des JDownloader Plugin-Systems

Abstract: JDownloader ist ein Download-Manager, der Plug-ins verwendet, um die unterschiedlichen Bedürfnisse der Benutzer zu erfüllen. Die letzte stabile Version stammt aus dem Jahr 2009. Seitdem befindet sich dessen Nachfolger JDownloader 2 in Entwicklung. Das alte Plug-in System von JDownloader 1 war nie für eine wachsende Anzahl von Plug-ins und mehreren Aktualisierungen pro Tag ausgelegt. Deshalb musste ein neues Plug-in System entwickelt werden, das in der Lage war, mit dieser Situation umzugehen und zusätzlich neue Funktionen, wie dem Aktualisieren der Plug-ins zur Laufzeit, zu ermöglichen. Gleichzeitig sollte es in der Lage sein, den Speicherverbrauch und die Ladezeiten zu reduzieren. Diese Arbeit beschreibt die Anforderungen an das neue Plug-in System für JDownloader 2, die Herausforderungen während der Entwicklung, als auch dessen endgültiges Design und Implementierung. Darüber hinaus zeigt diese Arbeit, dass das System die Anforderungen erfolgreich erfüllt.

Keywords: JDownloader, Plug-in System, schwache Referenzen, Hot Deployment, Java, Klassenlader

PDFs: Diplomarbeit, Work Description

Reference: Daniel Wilhelm. Entwurf und Implementierung des JDownloader Plugin-Systems. Diplomarbeit Friedrich-Alexander-Universität Erlangen-Nürnberg: 2014.

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.

Final Thesis: Online-Update-Systeme am Beispiel JDownloader (in German)

Abstract: JDownloader ist ein Open Source Projekt, das von Thomas Rechenmacher, dem Autor dieser Arbeit, und weiteren Entwicklern gegründet wurde. Die Anwendung erleichtert den Download von Dateien aus dem Internet. Das Projekt hat von 2007 bis heute die Entwicklung von einer Idee über ein Hobbyprojekt bis hin zu einem kommerziellen Hauptprodukt der Firma AppWork GmbH gemacht. Auf diesem Weg war es stets von großer Bedeutung die Anwendung über das Internet jederzeit aktualisieren zu können, um sie einerseits aktuell zu halten, aber auch, um Nutzer und Entwickler an das Projekt zu binden. Gegenstand dieser Arbeit ist das Online-Update-System wie es in JDownloader seit 2009 eingesetzt wird. Die detaillierte Analyse dieses Systems, dessen Anforderungen und dessen Realisierung, zeigt deutliche Mängel in der Planung und Umsetzung desselben. Basierend auf dieser Erkenntnis werden die Anforderungen neu formuliert, angepasst und erweitert, um schließlich als Grundlage und Hilfestellung für die Entwicklung eines neuen Update-Systems zu dienen.

Schlagwörter: JDownloader, Aktualisierung, Open Source, Update-System, Anforderungen, Realisierung, Internet

PDFs: Projektarbeit, Work Description

Reference: Thomas Rechenmacher. Online-Update-Systeme am Beispiel JDownloader. Projektarbeit, Friedrich-Alexander-Universität Erlangen-Nürnberg: 2013.