167 research outputs found

    Leveraging input features for testing and debugging

    Get PDF
    When debugging software, it is paramount to understand why the program failed in the first place. How can we aid the developer in this process, and automate the process of understanding a program failure? The behavior of a program is determined by its inputs. A common step in debugging is to determine how the inputs influences the program behavior. In this thesis, I present Alhazen, a tool which combines a decision tree and a test generator into a feedback loop to create an explanation for which inputs lead to a specific program behavior. This can be used to generate a diagnosis for a bug automatically. Alhazen is evaluated for generating additional inputs, and recognizing bug-triggering inputs. The thesis makes first advances towards a user study on whether Alhazen helps software developers in debugging. Results show that Alhazen is effective for both use cases, and indicate that machine-learning approaches can help to understand program behavior. Considering Alhazen, the question what else can be done with input features follows naturally. In the thesis I present Basilisk, a tool which focuses testing on a specific part of the input. Basilisk is evaluated on its own, and an integration with Alhazen is explored. The results show promise, but also some challenges. All in all, the thesis shows that there is some potential in considering input features.Bei der Fehlersuche in Softwaresystemen ist es wichtig, die Ursache des Fehlers zu verstehen. Wie können wir den Entwickler hierbei unterstĂŒtzen, und den Prozess des Programmverstehens automatisieren? Das Verhalten eines Programms wird durch seinen Input bestimmt. Ein typischer Schritt bei der Fehlersuche ist daher, zu verstehen wie der Input das Programmverhalten beeinflust. In dieser Arbeit prĂ€sentiere ich Alhazen, ein Programm, das eine Feedback Loop zwischen einem Decision Tree und einen Testgenerator einrichtet, um eine ErklĂ€rung dafĂŒr zu generieren, welche Inputs ein bestimmtes Programmverhalten auslösen. Das kann benutzt werden, um einen Programmfehler automatisch zu diagnostizieren. Es wird evaluiert, ob Alhazen eingesetzt werden kann um zusĂ€tzliche Inputs zu generieren und Inputs, die den Fehler auslösen, zu erkennen. Die Arbeit enhĂ€lt erste Schritte fĂŒr eine Nutzerstudie, die zeigen soll, ob Alhazen Softwareentwicklern bei der Fehlersuche hilft. Die Ergebnisse zeigen, dass Alhazen in beiden Szenarien effektiv ist, und deuten darauf hin, dass maschinelle Lernverfahren beim Programmverstehen helfen können. Alhazen wirft die Frage auf, ob die Betrachtung von Input Features andere Möglichkeiten bietet. Diese Thesis prĂ€sentiert Basilisk, ein Werkzeug, das Testgenerierung auf bestimmte Teile des Inputs fokussiert. Basilisk wird als eigenstĂ€ndiges Tool evaluiert, und eine Integration mit Alhazen wird ausprobiert. Die Ergebnisse sind vielversprechend, zeigen aber auch Probleme mit der Idee auf. Insgesamt zeigt die Arbeit das Protential von Input Features

    Carving Parameterized Unit Tests

    Get PDF
    We present a method to automatically extract ("carve") parameterized unit tests from system test executions. The unit tests execute the same functions as the system tests they are carved from, but can do so much faster as they call functions directly; furthermore, being parameterized, they can execute the functions with a large variety of randomly selected input values. If a unit-level test fails, we lift it to the system level to ensure the failure can be reproduced there. Our method thus allows to focus testing efforts on selected modules while still avoiding false alarms: In our experiments, running parameterized unit tests for individual functions was, on average, 30~times faster than running the system tests they were carved from

    Local Analysis for Global Inputs

    Get PDF
    Fuzz testing and symbolic test generation both face their own challenges. While symbolic testing has scalability issues, fuzzing cannot uncover faults which require carefully engineered inputs. In this paper I propose a combination of both approaches, compensating weaknesses of each approach with the strength of the other approach. I present my plans for evaluation, which include applications of the hybrid tool to programs which neither of the approaches can handle on its own

    Chaining of hard disks in nematic needles: particle-based simulation of colloidal interactions in liquid crystals

    Get PDF
    Colloidal particles suspended in liquid crystals can exhibit various effective anisotropic interactions that can be tuned and utilized in self-assembly processes. We simulate a two-dimensional system of hard disks suspended in a solution of dense hard needles as a model system for colloids suspended in a nematic lyotropic liquid crystal. The novel event-chain Monte Carlo technique enables us to directly measure colloidal interactions in a microscopic simulation with explicit liquid crystal particles in the dense nematic phase. We find a directional short-range attraction for disks along the director, which triggers chaining parallel to the director and seemingly contradicts the standard liquid crystal field theory result of a quadrupolar attraction with a preferred 45∘ angle. Our results can be explained by a short-range density-dependent depletion interaction, which has been neglected so far. Directionality and strength of the depletion interaction are caused by the weak planar anchoring of hard rods. The depletion attraction robustly dominates over the quadrupolar elastic attraction if disks come close. Self-assembly of many disks proceeds via intermediate chaining, which demonstrates that in lyotropic liquid crystal colloids depletion interactions play an important role in structure formation processes

    Polymer- und Kolloid-Simulationen

    Get PDF
    Die Schwerpunkte der Dissertation liegen auf grundlegender Polymerphysik und der Anwendung des Event-Chain-Algorithmus auf Kolloid- und Polymersysteme. Der Lifting-Formalismus und der Event-Chain-Algorithmus werden vorgestellt und allgemeine Optimierungsstrategien, wie Cluster-Moves oder Parallelisierung einer Simulation diskutiert. Ein wichtiger PhasenĂŒbergang eines idealen, semiflexiblen Polymers mit einer Vielzahl von Anwendungsmöglichkeiten ist die Adsorption, wobei in der Dissertation das Hauptaugenmerk auf dem Einfluss der SemiflexibilitĂ€t und der SubstratkrĂŒmmung liegt und wie man mit diesen GrĂ¶ĂŸen die kritische StĂ€rke des Adsorptionspotentials einstellen beziehungsweise kontrollieren kann. Dabei werden Effekte durch Selbstvermeidung ignoriert. Bei einem planaren Subrat gibt es ein Maximum in der kritischen PotentialstĂ€rke, wenn die PersistenzlĂ€nge des Polymers in der selben GrĂ¶ĂŸenordnung liegt wie die Reichweite des attraktiven Adsorptionspotentials. Durch eine geeignete KrĂŒmmung des Substrats können weitere Maxima (und dadurch auch Minima) entstehen. FĂŒr das zweidimensionale Hartscheibengas wird eine Parallelisierung-Vorschrift des EC-Algorithmus vorgeschlagen und mittels der Zustandsgleichung im Phasenkoexistenzbereich verifiziert. Die Effizienz der Parallelisierung wird mit Hilfe der Autokorrelationszeit des hexatischen Ordnungsparameters evaluiert und nach den freien Parameter der Simulation optimiert. Auf Grund der \emph{cluster-artigen} Natur des EC-Moves ist eine massive Parallelisierung nicht ratsam und der parallelisierte EC-Algorithmus eignet sich am besten fĂŒr Mehrkern-CPUs mit Shared-Memory-Architektur. Durch eine Erweiterung des EC-Algorithmus können dichte Schmelzen aus Hartkugel-Federketten effizient und ablehnungsfrei simuliert werden. Polymerschmelzen zeigen ein komplexes dynamisches und rheologisches Verhalten, z.B die langsame Reptationsdynamik, die durch die EC-Dynamik wiedergegeben wird (durch einen EC-spezifischen Swap-Move lĂ€sst sich Reptation unterdrĂŒcken). Der EC-Algorithmus eignet sich weiterhin hervorragend, um ĂŒberlappungsfreie, Anfangskonfigurationen effizient zu erzeugen. Die Schmelze und das dreidimensionale Hartkugelgas zeigen (nahezu) denselben KristalisationsĂŒbergang. Zum Abschluss werden erste Ergebnisse zu quasi-zweidimensionalen Polymernetzwerken diskutiert, die aus semiflexiblen Hartkugel-Federketten bestehen, welche ĂŒber ein kurzreichweitiges, attraktives Potential wechselwirken. Es entsteht ein zellulĂ€res, schaumartiges Netzwerk, dessen Eigenschaften zum großen Teil durch Topologie bestimmt werden. Eine mögliche, biologische Realisation dieses Modells sind BĂŒndel aus vielen semiflexiblen Aktin-Filamenten, welche durch geeignete Proteine aneinander gebunden sind und auf vielfĂ€ltige Weise zur Struktur einer Zelle beitragen.The focus of this thesis is on basic polymer physics and the application of the event chain algorithm to various colloid and polymer systems. The lifting formalism as framework of the event chain algorithm is shortly introduced and general optimizing strategies like cluster moves and parallelization is discussed. An important phase transition of an ideal semi-flexible polymer is the adsorption of a polymer to a hard substrate. This thesis investigates the dependence of the bending stiffness and substrate curvature on the critical potential strength and how these parameters can be used to control the adsorption transition. On a planar substrate there is a maximum in the critical adsorption strength if the persistence length of the polymer is of the same order as the range of the attractive adsorption potential. A suited curvature of the substrate can further introduce more extrema, which also may be used to control the transition. Phase diagrams and scaling arguments of four substrates (planar, sphere and two types of washboard-like substrates) are given. A parallelization scheme for the event chain algorithm is proposed. This scheme is tested on two dimensional hard sphere gas by the comparison of the phase diagram with different algorithms. The efficiency of the parallelization can be measured via the autocorrelation function of the hexatic order parameter. Simple arguments are given for the free simulation parameters to minimize the autocorrelation time and confirmed by simulations. The cluster-like nature of the event chain algorithm restricts the parallelization to a moderate degree, i.e. a massively parallelized version would lead to an effective efficiency loss and the event chain algorithm is most suited for multi core CPUs rather than GPUs. The event chain algorithm for hard spheres can easily be extended to any kind of pair potential. The extended algorithm is applied to a dense polymer melt consisting of hard spheres connected by harmonic springs, which can be simulated efficiently and rejection-free. Polymer melts show a complex dynamic and rheologic behaviour, for instance slow reptation dynamics, which hinders the equilibration of such a melt. Despite the non-local character of the event chain reptation can be observed. By introduction of a event chain specific swap move the reptation can be effectively switched off, to accelerate the simulation so much that the efficiency of a highly optimized MD simulation can be achieved. In the end first results of quasi two dimensional polymer networks are briefly discussed. The network consists of semi-flexible hard sphere harmonic chains with an attractive short ranged potential. Those networks can be quite well be described as a two dimensional froth, where common empirically laws can be applied. The motivation for simulating such a system is to gain insight into the cytoskeleton consisting of several different classes of semi-flexible polymers of an animal cell
    • 

    corecore