TY - THES A1 - Steinert, Bastian T1 - Built-in recovery support for explorative programming T1 - Eingebaute Unterstützung für Wiederherstellungsbedürfnisse für unstrukturierte ergebnisoffene Programmieraufgaben BT - preserving immediate access to static and dynamic information of intermediate development states BT - Erhaltung des unmittelbaren Zugriffs auf statische und dynamische Informationen von Entwicklungszwischenständen N2 - This work introduces concepts and corresponding tool support to enable a complementary approach in dealing with recovery. Programmers need to recover a development state, or a part thereof, when previously made changes reveal undesired implications. However, when the need arises suddenly and unexpectedly, recovery often involves expensive and tedious work. To avoid tedious work, literature recommends keeping away from unexpected recovery demands by following a structured and disciplined approach, which consists of the application of various best practices including working only on one thing at a time, performing small steps, as well as making proper use of versioning and testing tools. However, the attempt to avoid unexpected recovery is both time-consuming and error-prone. On the one hand, it requires disproportionate effort to minimize the risk of unexpected situations. On the other hand, applying recommended practices selectively, which saves time, can hardly avoid recovery. In addition, the constant need for foresight and self-control has unfavorable implications. It is exhaustive and impedes creative problem solving. This work proposes to make recovery fast and easy and introduces corresponding support called CoExist. Such dedicated support turns situations of unanticipated recovery from tedious experiences into pleasant ones. It makes recovery fast and easy to accomplish, even if explicit commits are unavailable or tests have been ignored for some time. When mistakes and unexpected insights are no longer associated with tedious corrective actions, programmers are encouraged to change source code as a means to reason about it, as opposed to making changes only after structuring and evaluating them mentally. This work further reports on an implementation of the proposed tool support in the Squeak/Smalltalk development environment. The development of the tools has been accompanied by regular performance and usability tests. In addition, this work investigates whether the proposed tools affect programmers’ performance. In a controlled lab study, 22 participants improved the design of two different applications. Using a repeated measurement setup, the study examined the effect of providing CoExist on programming performance. The result of analyzing 88 hours of programming suggests that built-in recovery support as provided with CoExist positively has a positive effect on programming performance in explorative programming tasks. N2 - Diese Arbeit präsentiert Konzepte und die zugehörige Werkzeugunterstützung um einen komplementären Umgang mit Wiederherstellungsbedürfnissen zu ermöglichen. Programmierer haben Bedarf zur Wiederherstellung eines früheren Entwicklungszustandes oder Teils davon, wenn ihre Änderungen ungewünschte Implikationen aufzeigen. Wenn dieser Bedarf plötzlich und unerwartet auftritt, dann ist die notwendige Wiederherstellungsarbeit häufig mühsam und aufwendig. Zur Vermeidung mühsamer Arbeit empfiehlt die Literatur die Vermeidung von unerwarteten Wiederherstellungsbedürfnissen durch einen strukturierten und disziplinierten Programmieransatz, welcher die Verwendung verschiedener bewährter Praktiken vorsieht. Diese Praktiken sind zum Beispiel: nur an einer Sache gleichzeitig zu arbeiten, immer nur kleine Schritte auszuführen, aber auch der sachgemäße Einsatz von Versionskontroll- und Testwerkzeugen. Jedoch ist der Versuch des Abwendens unerwarteter Wiederherstellungsbedürfnisse sowohl zeitintensiv als auch fehleranfällig. Einerseits erfordert es unverhältnismäßig hohen Aufwand, das Risiko des Eintretens unerwarteter Situationen auf ein Minimum zu reduzieren. Andererseits ist eine zeitsparende selektive Ausführung der empfohlenen Praktiken kaum hinreichend, um Wiederherstellungssituationen zu vermeiden. Zudem bringt die ständige Notwendigkeit an Voraussicht und Selbstkontrolle Nachteile mit sich. Dies ist ermüdend und erschwert das kreative Problemlösen. Diese Arbeit schlägt vor, Wiederherstellungsaufgaben zu vereinfachen und beschleunigen, und stellt entsprechende Werkzeugunterstützung namens CoExist vor. Solche zielgerichtete Werkzeugunterstützung macht aus unvorhergesehenen mühsamen Wiederherstellungssituationen eine konstruktive Erfahrung. Damit ist Wiederherstellung auch dann leicht und schnell durchzuführen, wenn explizit gespeicherte Zwischenstände fehlen oder die Tests für einige Zeit ignoriert wurden. Wenn Fehler und unerwartete Ein- sichten nicht länger mit mühsamen Schadensersatz verbunden sind, fühlen sich Programmierer eher dazu ermutig, Quelltext zu ändern, um dabei darüber zu reflektieren, und nehmen nicht erst dann Änderungen vor, wenn sie diese gedanklich strukturiert und evaluiert haben. Diese Arbeit berichtet weiterhin von einer Implementierung der vorgeschlagenen Werkzeugunterstützung in der Squeak/Smalltalk Entwicklungsumgebung. Regelmäßige Tests von Laufzeitverhalten und Benutzbarkeit begleiteten die Entwicklung. Zudem prüft die Arbeit, ob sich die Verwendung der vorgeschlagenen Werkzeuge auf die Leistung der Programmierer auswirkt. In einem kontrollierten Experiment, verbesserten 22 Teilnehmer den Aufbau von zwei verschiedenen Anwendungen. Unter der Verwendung einer Versuchsanordnung mit wiederholter Messung, ermittelte die Studie die Auswirkung von CoExist auf die Programmierleistung. Das Ergebnis der Analyse von 88 Programmierstunden deutet darauf hin, dass sich eingebaute Werkzeugunterstützung für Wiederherstellung, wie sie mit CoExist bereitgestellt wird, positiv bei der Bearbeitung von unstrukturierten ergebnisoffenen Programmieraufgaben auswirkt. KW - Softwaretechnik KW - Entwicklungswerkzeuge KW - Versionierung KW - Testen KW - software engineering KW - development tools KW - versioning KW - testing Y1 - 2014 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-71305 ER - TY - THES A1 - Perscheid, Michael T1 - Test-driven fault navigation for debugging reproducible failures T1 - Die test-getriebene Fehlernavigation zur Beseitigung von reproduzierbaren Softwarefehlern N2 - The correction of software failures tends to be very cost-intensive because their debugging is an often time-consuming development activity. During this activity, developers largely attempt to understand what causes failures: Starting with a test case that reproduces the observable failure they have to follow failure causes on the infection chain back to the root cause (defect). This idealized procedure requires deep knowledge of the system and its behavior because failures and defects can be far apart from each other. Unfortunately, common debugging tools are inadequate for systematically investigating such infection chains in detail. Thus, developers have to rely primarily on their intuition and the localization of failure causes is not time-efficient. To prevent debugging by disorganized trial and error, experienced developers apply the scientific method and its systematic hypothesis-testing. However, even when using the scientific method, the search for failure causes can still be a laborious task. First, lacking expertise about the system makes it hard to understand incorrect behavior and to create reasonable hypotheses. Second, contemporary debugging approaches provide no or only partial support for the scientific method. In this dissertation, we present test-driven fault navigation as a debugging guide for localizing reproducible failures with the scientific method. Based on the analysis of passing and failing test cases, we reveal anomalies and integrate them into a breadth-first search that leads developers to defects. This systematic search consists of four specific navigation techniques that together support the creation, evaluation, and refinement of failure cause hypotheses for the scientific method. First, structure navigation localizes suspicious system parts and restricts the initial search space. Second, team navigation recommends experienced developers for helping with failures. Third, behavior navigation allows developers to follow emphasized infection chains back to root causes. Fourth, state navigation identifies corrupted state and reveals parts of the infection chain automatically. We implement test-driven fault navigation in our Path Tools framework for the Squeak/Smalltalk development environment and limit its computation cost with the help of our incremental dynamic analysis. This lightweight dynamic analysis ensures an immediate debugging experience with our tools by splitting the run-time overhead over multiple test runs depending on developers’ needs. Hence, our test-driven fault navigation in combination with our incremental dynamic analysis answers important questions in a short time: where to start debugging, who understands failure causes best, what happened before failures, and which state properties are infected. N2 - Die Beseitigung von Softwarefehlern kann sehr kostenintensiv sein, da die Suche nach der Fehlerursache meist sehr lange dauert. Während der Fehlersuche versuchen Entwickler vor allem die Ursache für den Fehler zu verstehen: Angefangen mit einem Testfall, welcher den sichtbaren Fehler reproduziert, folgen sie den Fehlerursachen entlang der Infektionskette bis hin zum ursprünglichen Defekt. Dieses idealisierte Vorgehen benötigt ein grundlegendes Verständnis über das Systemverhalten, da Fehler und Defekt sehr weit auseinander liegen können. Bedauerlicherweise bieten jedoch gebräuchliche Entwicklungswerkzeuge wenig Unterstützung, um solche Infektionsketten detailliert zu untersuchen. Dementsprechend müssen Entwickler primär auf ihr Gespür vertrauen, so dass die Lokalisierung von Fehlerursachen sehr viel Zeit in Anspruch nehmen kann. Um ein willkürliches Vorgehen zu verhindern, verwenden erfahrene Entwickler deshalb die wissenschaftliche Methode, um systematisch Hypothesen über Fehlerursachen zu prüfen. Jedoch kann auch noch mittels der wissenschaftlichen Methode die Suche nach Fehlerursachen sehr mühsam sein, da passende Hypothesen meist manuell und ohne die systematische Hilfe von Werkzeugen aufgestellt werden müssen. Diese Dissertation präsentiert die test-getriebene Fehlernavigation als einen zusammenhängenden Wegweiser zur Beseitigung von reproduzierbaren Fehlern mit Hilfe der wissenschaftlichen Methode. Basierend auf der Analyse von funktionierenden und fehlschlagenden Testfällen werden Anomalien aufgedeckt und in eine Breitensuche integriert, um Entwickler zum Defekt zu führen. Diese systematische Suche besteht aus vier spezifischen Navigationstechniken, welche zusammen die Erstellung, Evaluierung und Verfeinerung von Hypothesen für die wissenschaftliche Methode unterstützen. Erstens grenzt die Strukturnavigation verdächtige Systemteile und den initialen Suchraum ein. Zweitens empfiehlt die Team-Navigation erfahrene Entwickler zur Behebung von Fehlern. Drittens erlaubt es die Verhaltensnavigation Entwicklern, die hervorgehobene Infektionskette eines fehl- schlagenden Testfalls zurückzuverfolgen. Viertens identifiziert die Zustandsnavigation fehlerhafte Zustände, um automatisch Teile der Infektionskette offenzulegen. Alle vier Navigationen wurden innerhalb des Path Tools Framework für die Squeak/Smalltalk Entwicklungsumgebung implementiert. Dabei bauen alle Werkzeuge auf die inkrementelle dynamische Analyse, welche die Berechnungskosten über mehrere Testdurchläufe abhängig von den Bedürfnissen des Nutzers aufteilt und somit schnelle Ergebnisse während der Fehlersuche liefert. Folglich können wichtige Fragen in kurzer Zeit beantwortet werden: Wo wird mit der Fehlersuche begonnen? Wer versteht Fehlerursachen am Besten? Was passierte bevor der Fehler auftrat? Welche Programmzustände sind betroffen? KW - Softwaretest KW - Fehlerbeseitigung KW - Test-getriebene Fehlernavigation KW - Anomalien KW - Ausführungsgeschichte KW - testing KW - debugging KW - test-driven fault navigation KW - anomalies KW - back-in-time Y1 - 2013 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-68155 ER - TY - THES A1 - Stamm, Raini T1 - Significance of the anthropometric factor in young female volleyballers´ physical abilities, technical skills, psychophysiological properties and performance in the game T1 - Bedeutung des anthropometrischen Faktors bei der körperlichen Fähigkeiten, volleyballtechnischen Geschicklichkeiten, psychophysiologischen Eigenschaften und Spielleistung N2 - Aim The aim of the present study was to examine young female volleyballers’ body build, physical abilities, technical skills and psychophysiological properties in relation to their performance at competitions. The sample consisted of 46 female volleyballers aged 13-16 years. 49 basic anthropometric measurements were measured and 65 proportions and body composition characteristics were calculated. 9 physical ability tests, 9 volleyball technical skills tests and 21 psychophysiological tests were carried out. The game performance was recorded by the computer program Game. The program enabled to fix the performance of technical elements in case of each player. The computer program Game calculated the index of proficiency in case of each girl for each element. The first control group consisted of 74 female volleyballers aged 13–15 years with whom reduced anthropometry was provided and 28 games were recorded. The second control group consisted of 586 ordinary schoolgirls aged 13–16 years with whom full anthropometry was provided. Results In order to systematize all anthropometric characteristics, we first studied the essence of the anthropometric structure of the body as a whole. It turned out to be a characteristic system where all variables are in significant correlation between one another and where the leading characteristics are height and weight. Therefore we based the classification on the mean height and weight of the whole sample. We formed a 5 class SD classification. There are three classes of concordance between height and weight: small height – small weight, medium height – medium height, big height – big weight. The other two classes were classes of disconcordance between height and weight- pycnomorphs and leptomorphs. We managed to show that gradual increase in height and weight brought about statistically significant increase in length, breadth and depth measurements, circumferences, bone thicknesses and skinfolds. There were also systematic changes in indeces and body composition characteristics. Pycnomorphs and leptomorphs also showed differences specific to their body types in body measurements and body composition. The results of all tests were submitted to basic statistical analysis and all correlations were found between all the tests (volleyball technical skills, psychophysiological abilities, physical abilities), and all basic anthropometric variables (n = 49) and all proportions and body composition characteristics (n = 65). All anthropometric measurements and test results were correlated with the index of proficiency for all elements of the game. The best linear regression models were calculated for predicting proficiency in different elements of the game. We can see that body build and all kind of tests took part in predicting the proficiency of the game. The most essential for performing attack, block and feint were anthropometric and psychophysiological models. The studied complex of body build characteristics and tests results determine the players’ proficiency at competitions, are an important tool for testing the player’s individual development, enable to choose volleyballers from among schoolgirls and represent the whole body constitutional model of a young female volleyballer. Outlook Our outlook for the future is to continue recording of all Estonian championship games with the computer program Game, to continue the players’ anthropometric measuring and psychophysiological testing at competitions and to compile a national register for assessment of development of individual players and teams. N2 - Ziel Das Ziel dieser Untersuchung war den Körperbau, die körperliche Fähigkeiten, die technische Geschicklichkeiten und psychophysiologische Fähigkeiten der jungen Volleyballspielerinnen in Bezug auf ihre Leistung bei den Wettkämpfen zu untersuchen. Die Auswahl bestand aus 46 Volleyballspielerinnen im Alter 13-16 Jahren. Es wurden 49 anthropometrische Masse gemessen, 65 Proportionen und Körperbaumerkmale kalkuliert, 9 Tests der physischen Fähigkeit und 9 Testen der volleyballtechnischen Geschicken ausgeführt. Die Spielleistung wurde mit dem Computerprogramm Game gespeichert. Das Programm machte es möglich, die Leistung der technischen Elementen im Falle von jeder Spielerinnen zu bestimmen. Das Computerprogramm Game kalkulierte den Leistungsindex im Falle von jedem Mädchen für jedes Element. Die erste Kontrollgruppe bestand von 74 Volleyballspielerinnen im Alter von 13–15 Jahren, mit wem reduzierte Anthropometrie durchgeführt wurde und 28 Spiele gespeichert wurden. Die andere Kontrollgruppe bestand aus 586 gewöhnliche Schulmädchen im Alter von 13–16 Jahren, mit wem volle Anthropometrie durchgeführt wurde. Ergebnisse Um alle anthropometrische Merkmale zu systematisieren, haben wir zunächst das Wesen der anthropometrischen Struktur des Körpers als Ganzes geforscht. Es hat sich erwiesen, dass es um einem characteristischen System handelt, bei dem alle Merkmale in aussagekräftiger Beziehung miteinander sind und die führende Merkmale die Höhe und das Gewicht sind. Darum haben wir die Klassifikation auf die durchschnittliche Höhe und das durchschnittliche Gewicht der ganzen Auswahl gegründet. Wir haben eine Klass 5 SD Klassifikation gebildet. Es gibt drei Übereinstimmungsklassen zwischen Höhe und Gewicht: kleine Höhe – kleines Gewicht, mittlere Höhe – mittleres Gewicht, grosse Höhe – grosses Gewicht. Die andere zwei Klassen waren die Nichtübereinstimmungsklassen zwischen Höhe und Gewicht - Pyknomorphe und Leptomorphe. Es ist uns gelungen, zu beweisen, dass der stufenartige Anstieg in der Höhe und in dem Gewicht einen statistisch bedeutsamen Anstieg in den Merkmalen der Länge, Breite und Tiefe, in den Umkreisen, in den Dicken des Knochens und in den Hautfalten veranlassen. Es bestanden auch systematische Änderungen in den Indexen und Körperbaumerkmalen. Auch die Pyknomorphen und Leptomorphen zeigten Unterschiede für ihre Körpermasse und Körperbau spezifische Unterschiede. Die Ergebnisse von allen Testen wurden der statistischen Grundanalyse unterworfen und alle Korrelationen zwischen allen Testen (volleyballtechnische Geschicke, psychophysiologische Fähigkeiten, physische Fähigkeiten) und allen anthropometrischen Grundvariablen (n = 49) und allen Proportionen und Körperbaumerkmalen (n = 65) gefunden. Alle anthropometrische Merkmale und Testresultaten wurden im Falle von allen Spielelementen mit dem Leistungsindex korreliert. Die besten lineare Regressionmodellen, um die Leistung in verschiedenen Spielelementen vorauszusagen, wurden kalkuliert. Es ist sichtbar, dass der Körperbau und alle Testarten in der Voraussage der Spielleistung mitgemacht haben. Das Wichtigste um einen Angriff, einen Block und eine Finte durchzuführen, waren anthropometrische und psychophysiologische Modelle. Der geforschte Komplex der Körperbaumerkmalen und der Testergebnissen bestimmen die Leistung der Spielerin in den Wettbewerben, sind ein wichtiges Mittel für das Testen der individuellen Entwicklung der Spielerin, ermöglichen die Volleyballspielerinnen aus den Schulmädchen zu wählen und vertreten das ganze Körperbaumodell einer jungen Volleyballspielerin. Die Aussicht Unsere Aussicht für die Zukunft ist, das Speichern von allen Spielen der estnischen Meisterschaftswettbewerben mit dem Computerprogramm Game, die anthropometrische Messung und das psychophysiologisches Testen der Spielerinnen während Wettbewerben fortzusetzen und ein staatliches Register für die Bewertung der Entwicklung der individuellen Spielerinnen und Teamen zusammenzustellen. KW - Anthropometrie KW - Jugendliche KW - Testen KW - Volleyball KW - Spielleistung KW - anthropometry KW - adolescents KW - testing KW - volleyball KW - performance Y1 - 2007 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-13005 ER -