857 research outputs found

    Mining and untangling change genealogies

    Get PDF
    Developers change source code to add new functionality, fix bugs, or refactor their code. Many of these changes have immediate impact on quality or stability. However, some impact of changes may become evident only in the long term. This thesis makes use of change genealogy dependency graphs modeling dependencies between code changes capturing how earlier changes enable and cause later ones. Using change genealogies, it is possible to: (a) applyformalmethodslikemodelcheckingonversionarchivestorevealtemporal process patterns. Such patterns encode key features of the software process and can be validated automatically: In an evaluation of four open source histories, our prototype would recommend pending activities with a precision of 60—72%. (b) classify the purpose of code changes. Analyzing the change dependencies on change genealogies shows that change genealogy network metrics can be used to automatically separate bug fixing from feature implementing code changes. (c) build competitive defect prediction models. Defect prediction models based on change genealogy network metrics show competitive prediction accuracy when compared to state-of-the-art defect prediction models. As many other approaches mining version archives, change genealogies and their applications rely on two basic assumptions: code changes are considered to be atomic and bug reports are considered to refer to corrective maintenance tasks. In a manual examination of more than 7,000 issue reports and code changes from bug databases and version control systems of open- source projects, we found 34% of all issue reports to be misclassified and that up to 15% of all applied issue fixes consist of multiple combined code changes serving multiple developer maintenance tasks. This introduces bias in bug prediction models confusing bugs and features. To partially solve these issues we present an approach to untangle such combined changes with a mean success rate of 58—90% after the fact.Softwareentwickler ändern Source-Code um neue Funktionalität hinzuzufügen, Bugs zu beheben oder um ihren Code zu restrukturieren. Viele dieser Änderungen haben einen direkten Einfluss auf Qualität und Stabilität des Softwareprodukts. Jedoch kommen einige dieser Einflüsse erst zu einem späteren Zeitpunkt zur Geltung. Diese Arbeit verwendet Genealogien zwischen Code-Änderungen um zu erfassen, wie frühere Änderungen spätere Änderungen erfordern oder ermöglichen. Die Verwendung von Änderungs-Genealogien ermöglicht: (a) die Anwendung formaler Methoden wie Model-Checking auf Versionsarchive um temporäre Prozessmuster zu erkennen. Solche Prozessmuster verdeutlichen Hauptmerkmale eines Softwareentwicklungsprozesses: In einer Evaluation auf vier Open-Source Projekten war unser Prototyp im Stande noch ausstehende Änderungen mit einer Präzision von 60–72% vorherzusagen. (b) die Absicht einer Code-Änderung zu bestimmen. Analysen von Änderungsabhängigkeiten zeigen, dass Netzwerkmetriken auf Änderungsgenealogien geeignet sind um fehlerbehebende Änderungen von Änderungen die eine Funktionalität hinzufügen zu trennen. (c) konkurrenzfähige Fehlervorhersagen zu erstellen. Fehlervorhersagen basierend auf Genealogie-Metriken können sich mit anerkannten Fehlervorhersagemodellen messen. Änderungs-Genealogien und deren Anwendungen basieren, wie andere Data-Mining Ansätze auch, auf zwei fundamentalen Annahmen: Code-Änderungen beabsichtigen die Lösung nur eines Problems und Bug-Reports weisen auf Fehler korrigierende Tätigkeiten hin. Eine manuelle Inspektion von mehr als 7.000 Issue-Reports und Code-Änderungen hat ergeben, dass 34% aller Issue-Reports falsch klassifiziert sind und dass bis zu 15% aller fehlerbehebender Änderungen mehr als nur einem Entwicklungs-Task dienen. Dies wirkt sich negativ auf Vorhersagemodelle aus, die nicht mehr klar zwischen Bug-Fixes und anderen Änderungen unterscheiden können. Als Lösungsansatz stellen wir einen Algorithmus vor, der solche nicht eindeutigen Änderungen mit einer Erfolgsrate von 58–90% entwirrt

    MEASUREMENTS OF LIGHT FIELDS EMERGING FROM FINE AMPLITUDE GRATINGS

    Get PDF
    High resolution amplitude and phase of light fields emerging from a 2-ÎĽm-period amplitude grating are measured for different wavelengths. The amplitude gratings lead to highly periodic patterns caused by the Talbot effect. Such patterns reach periodicities of a fraction of the grating period. We discuss the effect of wavelengths and the number of diffraction orders participating in the imaging

    Direct Visualization of the Axial Phase Evolution of Light Fields Emerging from Microstructures

    Get PDF
    We investigate the axial phase evolution of light emerging from microstructures. The high-resolution interference microscope (HRIM) allows to record three-dimensional (3D) phase distributions in differential and propagation modes along the longitudinal direction. We apply this differential-mode HRIM to study the axial phase evolution of particular cases of microstructures, for instance, the photonic nanojet generated by a diecectric microsphere and the spot of Arago created by a micrometer-size metallic dis

    Small-size microlens characterization by multiwavelength high-resolution interference microscopy

    Get PDF
    Microlenses are widely studied in two main areas: fabrication and characterization. Nowadays, characterization draws more attention because it is difficult to apply test techniques to microlenses that are used for conventional optical systems. Especially, small microlenses on a substrate are difficult to characterize because their back focus often stays in the substrate. Here we propose immersion high-resolution interference microscopy to characterize small-size microlenses at three visible wavelengths. Test results for 20-?m-diameter microlenses are presented and discussed. We cover not only standard characterizations like wavefront investigations but also experiments of actual focus properties and chromatic behaviors

    Axial phase measurements of light interacting with microstructures

    Get PDF
    We present an experimental method to study field structures of highly confined light after interaction with microstructures. A high-resolution interference microscope (HRIM) allows us to measure the three-dimensional (3D) amplitude and phase distributions of light emerging from the sample. While the amplitude fields represent conventional pictures of light confinements like a hotspot, the phase fields exhibit peculiar behaviors, which are of significant interest. Longitudinal-differential interferometry can directly visualize and quantify phase deviations in 3D space with respect to a plane wave of the same frequency serving as a reference. The phase fields near the confinement exhibits particular phase features, e.g., axial phase anomaly and superluminal phase velocity. As example of the light interaction with microstructures, two specific optical phenomena have been investigated here: Gouy phase anomaly in the photonic nanojet and superluminal phase propagation of the spot of Arago. For the first time, we could experimentally demonstrate high-resolution axial phase measurements of such phenomena generated by microstructures of wavelengthscale size and at visible light with 642-nm wavelength

    Exotic optical elements generating 2D surface waves

    Get PDF
    We introduce exotic optical elements for 2D surface wave systems hosting Bloch surface waves (BSWs). First, we will study a 2D non-diffracting beam, second, a 2D array of the optical bottle beam via the Talbot effect and third, tight light confinement like a photonic nanojet. Investigations are carried out using a well-established BSW platform

    Multiple self-healing Bloch surface wave beams generated by a two-dimensional fraxicon

    Get PDF
    Two-dimensional surface waves are a cornerstone for future integrated photonic circuits. They can also be beneficially exploited in sensing devices by offering dark-field illuminations of objects. One major problem in sensing schemes arises from the individual sensing objects: the interaction of surface waves with an object reduces the field amplitude, and the readout of other objects along the propagation path suffers from this reduced signal. Here we show in two experiments that nondiffracting and self-healing Bloch surface waves can be launched using a Fresnel axicon (i.e., fraxicon). First, we visualize the generation of an array of multiple focal spots by scanning near-field optical microscopy in the infrared. With a second device operating in the visible, we demonstrate the self-healing effect directly using a far-field readout method by placing metallic nanoantennas onto the multiple focal spots of the fraxicon. Our study extends the versatile illumination capabilities of surface wave systems
    • …
    corecore