TY - JOUR A1 - Felgentreff, Tim A1 - Perscheid, Michael A1 - Hirschfeld, Robert T1 - Implementing record and refinement for debugging timing-dependent communication JF - Science of computer programming N2 - Distributed applications are hard to debug because timing-dependent network communication is a source of non-deterministic behavior. Current approaches to debug non deterministic failures include post-mortem debugging as well as record and replay. However, the first impairs system performance to gather data, whereas the latter requires developers to understand the timing-dependent communication at a lower level of abstraction than they develop at. Furthermore, both approaches require intrusive core library modifications to gather data from live systems. In this paper, we present the Peek-At-Talk debugger for investigating non-deterministic failures with low overhead in a systematic, top-down method, with a particular focus on tool-building issues in the following areas: First, we show how our debugging framework Path Tools guides developers from failures to their root causes and gathers run-time data with low overhead. Second, we present Peek-At-Talk, an extension to our Path Tools framework to record non-deterministic communication and refine behavioral data that connects source code with network events. Finally, we scope changes to the core library to record network communication without impacting other network applications. KW - Distributed debugging KW - Record and replay KW - Dynamic analysis KW - Record and refinement Y1 - 2016 U6 - https://doi.org/10.1016/j.scico.2015.11.006 SN - 0167-6423 SN - 1872-7964 VL - 134 SP - 4 EP - 18 PB - Elsevier CY - Amsterdam ER - TY - BOOK A1 - Weyand, Christopher A1 - Chromik, Jonas A1 - Wolf, Lennard A1 - Kötte, Steffen A1 - Haase, Konstantin A1 - Felgentreff, Tim A1 - Lincke, Jens A1 - Hirschfeld, Robert T1 - Improving hosted continuous integration services T1 - Verbesserung gehosteter Dienste für kontinuierliche Integration N2 - Developing large software projects is a complicated task and can be demanding for developers. Continuous integration is common practice for reducing complexity. By integrating and testing changes often, changesets are kept small and therefore easily comprehensible. Travis CI is a service that offers continuous integration and continuous deployment in the cloud. Software projects are build, tested, and deployed using the Travis CI infrastructure without interrupting the development process. This report describes how Travis CI works, presents how time-driven, periodic building is implemented as well as how CI data visualization can be done, and proposes a way of dealing with dependency problems. N2 - Große Softwareprojekte zu entwickeln, ist eine komplizierte Aufgabe und fordernd für Entwickler. Kontinuierliche Integration ist eine geläufige Praxis zur Komplexitätsreduktion. Durch häufiges Integrieren und Testen werden Änderungen klein gehalten und sind daher übersichtlich. Travis CI ist ein Dienst, der kontinuierliche Integration und kontinuierliche Bereitstellung in der Cloud anbietet. Softwareprojekte werden auf der Travis CI Infrastruktur gebaut, getestet und bereitgestellt, ohne dass der Entwicklungsprozess unterbrochen wird. Dieser Bericht beschreibt, die Travis CI funktioniert, zeigt wie zeitgesteuertes, periodisches Bauen implentiert wurde, wie CI-Daten visualisiert werden können und schlägt ein Verfahren vor mit dem Abhängigkeitsprobleme gelöst werden können. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 108 KW - Travis CI KW - continuous integration KW - continuous testing KW - software tests KW - software architecture KW - periodic tasks KW - dependencies KW - visualization KW - Travis CI KW - kontinuierliche Integration KW - kontinuierliches Testen KW - Softwaretests KW - Softwarearchitektur KW - periodische Aufgaben KW - Abhängigkeiten KW - Visualisierung Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-94251 SN - 978-3-86956-377-0 SN - 1613-5652 SN - 2191-1665 IS - 108 PB - Universitätsverlag Potsdam CY - Potsdam ER -