-
Maximizing Patch Coverage for Testing of Highly-Configurable Software without Exploding Build Times
Authors:
Necip Fazıl Yıldıran,
Jeho Oh,
Julia Lawall,
Paul Gazzillo
Abstract:
The Linux kernel is highly-configurable, with a build system that takes a configuration file as input and automatically tailors the source code accordingly. Configurability, however, complicates testing, because different configuration options lead to the inclusion of different code fragments. With thousands of patches received per month, Linux kernel maintainers employ extensive automated continu…
▽ More
The Linux kernel is highly-configurable, with a build system that takes a configuration file as input and automatically tailors the source code accordingly. Configurability, however, complicates testing, because different configuration options lead to the inclusion of different code fragments. With thousands of patches received per month, Linux kernel maintainers employ extensive automated continuous integration testing. To attempt patch coverage, i.e., taking all changed lines into account, current approaches either use configuration files that maximize total statement coverage or use multiple randomly-generated configuration files, both of which incur high build times without guaranteeing patch coverage. To achieve patch coverage without exploding build times, we propose krepair, which automatically repairs configuration files that are fast-building but have poor patch coverage to achieve high patch coverage with little effect on build times. krepair works by discovering a small set of changes to a configuration file that will ensure patch coverage, preserving most of the original configuration file's settings. Our evaluation shows that, when applied to configuration files with poor patch coverage on a statistically-significant sample of recent Linux kernel patches, krepair achieves nearly complete patch coverage, 98.5% on average, while changing less than 1.53% of the original default configuration file in 99% of patches, which keeps build times 10.5x faster than maximal configuration files.
△ Less
Submitted 27 April, 2024;
originally announced April 2024.
-
How are We Detecting Inconsistent Method Names? An Empirical Study from Code Review Perspective
Authors:
Kisub Kim,
Xin Zhou,
Dongsun Kim,
Julia Lawall,
Kui Liu,
Tegawendé F. Bissyandé,
Jacques Klein,
Jaekwon Lee,
David Lo
Abstract:
Proper naming of methods can make program code easier to understand, and thus enhance software maintainability. Yet, developers may use inconsistent names due to poor communication or a lack of familiarity with conventions within the software development lifecycle. To address this issue, much research effort has been invested into building automatic tools that can check for method name inconsisten…
▽ More
Proper naming of methods can make program code easier to understand, and thus enhance software maintainability. Yet, developers may use inconsistent names due to poor communication or a lack of familiarity with conventions within the software development lifecycle. To address this issue, much research effort has been invested into building automatic tools that can check for method name inconsistency and recommend consistent names. However, existing datasets generally do not provide precise details about why a method name was deemed improper and required to be changed. Such information can give useful hints on how to improve the recommendation of adequate method names. Accordingly, we construct a sample method-naming benchmark, ReName4J, by matching name changes with code reviews. We then present an empirical study on how state-of-the-art techniques perform in detecting or recommending consistent and inconsistent method names based on ReName4J. The main purpose of the study is to reveal a different perspective based on reviewed names rather than proposing a complete benchmark. We find that the existing techniques underperform on our review-driven benchmark, both in inconsistent checking and the recommendation. We further identify potential biases in the evaluation of existing techniques, which future research should consider thoroughly.
△ Less
Submitted 24 August, 2023;
originally announced August 2023.
-
Evaluating SZZ Implementations: An Empirical Study on the Linux Kernel
Authors:
Yunbo Lyu,
Hong ** Kang,
Ratnadira Widyasari,
Julia Lawall,
David Lo
Abstract:
The SZZ algorithm is used to connect bug-fixing commits to the earlier commits that introduced bugs. This algorithm has many applications and many variants have been devised. However, there are some types of commits that cannot be traced by the SZZ algorithm, referred to as "ghost commits". The evaluation of how these ghost commits impact the SZZ algorithm remains limited. Moreover, these algorith…
▽ More
The SZZ algorithm is used to connect bug-fixing commits to the earlier commits that introduced bugs. This algorithm has many applications and many variants have been devised. However, there are some types of commits that cannot be traced by the SZZ algorithm, referred to as "ghost commits". The evaluation of how these ghost commits impact the SZZ algorithm remains limited. Moreover, these algorithms have been evaluated on datasets created by software engineering researchers from information in bug trackers and version controlled histories. Since Oct 2013, the Linux kernel developers have started labelling bug-fixing patches with the commit identifiers of the corresponding bug-inducing commit(s) as a standard practice. As of v6.1-rc5, 76,046 pairs of bug-fixing patches and bug-inducing commits are available. This provides a unique opportunity to evaluate the SZZ algorithm on a large dataset that has been created and reviewed by project developers, entirely independently of the biases of software engineering researchers.
In this paper, we apply six SZZ algorithms to 76,046 pairs of bug-fixing patches and bug-introducing commits from the Linux kernel. Our findings reveal that SZZ algorithms experience a more significant decline in recall on our dataset (13.8%) as compared to prior findings reported by Rosa et al., and the disparities between the individual SZZ algorithms diminish. Moreover, we find that 17.47% of bug-fixing commits are ghost commits. Finally, we propose Tracing-Commit SZZ (TC-SZZ), that traces all commits in the change history of lines modified or deleted in bug-fixing commits. Applying TC-SZZ to all failure cases, excluding ghost commits, we found that TC-SZZ could identify 17.7% of them. Our further analysis found that 34.6% of bug-inducing commits were in the function history, 27.5% in the file history (but not in the function history), and...
△ Less
Submitted 7 June, 2024; v1 submitted 9 August, 2023;
originally announced August 2023.
-
Optomechanical feedback cooling of a 5 mm-long torsional mode
Authors:
Dianqiang Su,
Yuan Jiang,
Pablo Solano,
Luis A. Orozco,
John Lawall,
Yanting Zhao
Abstract:
We report three orders of magnitude optical cooling of the fundamental torsional mode of a 5 mm-long, 550 nm diameter optical nanofiber. The rotation of the nanofiber couples to the polarization of guided laser fields. We use a weak laser probe to monitor the rotation, and use feedback to modulate the polarization of an auxiliary drive laser providing torque. Our results present a tool for the opt…
▽ More
We report three orders of magnitude optical cooling of the fundamental torsional mode of a 5 mm-long, 550 nm diameter optical nanofiber. The rotation of the nanofiber couples to the polarization of guided laser fields. We use a weak laser probe to monitor the rotation, and use feedback to modulate the polarization of an auxiliary drive laser providing torque. Our results present a tool for the optomechanical control of large-scale torsional resonators, with metrological applications and potential implications for studying macroscopic objects in quantum states.
△ Less
Submitted 25 January, 2023;
originally announced January 2023.
-
Cavity optomechanical bistability with an ultrahigh reflectivity photonic crystal membrane
Authors:
Feng Zhou,
Yiliang Bao,
Jason J. Gorman,
John Lawall
Abstract:
Photonic crystal (PhC) membranes patterned with sub-wavelength periods offer a unique combination of high reflectivity, low mass, and high mechanical quality factor. We demonstrate a PhC membrane that we use as one mirror of a Fabry-Perot cavity with finesse as high as $F=35,000(500)$, corresponding to a record high PhC reflectivity of $R=0.999835(6)$. The fundamental mechanical frequency is 426 k…
▽ More
Photonic crystal (PhC) membranes patterned with sub-wavelength periods offer a unique combination of high reflectivity, low mass, and high mechanical quality factor. We demonstrate a PhC membrane that we use as one mirror of a Fabry-Perot cavity with finesse as high as $F=35,000(500)$, corresponding to a record high PhC reflectivity of $R=0.999835(6)$. The fundamental mechanical frequency is 426 kHz, more than twice the optical linewidth, placing it firmly in the resolved-sideband regime. The mechanical quality factor in vacuum is $Q=1.1(1)\times 10^6$, allowing us to achieve values of the single-photon cooperativity as high as ${\cal C}_0=6.6\times10^{-3}$. We easily see optomechanical bistability as hysteresis in the cavity transmission. As the input power is raised well beyond the bistability threshold, dynamical backaction induces strong mechanical oscillation above 1~MHz, even in the presence of air dam**. This platform will facilitate advances in optomechanics, precision sensing, and applications of optomechanically-induced bistability.
△ Less
Submitted 18 November, 2022;
originally announced November 2022.
-
AndroEvolve: Automated Update for Android Deprecated-API Usages
Authors:
Stefanus Agus Haryono,
Ferdian Thung,
David Lo,
Lingxiao Jiang,
Julia Lawall,
Hong ** Kang,
Lucas Serrano,
Gilles Muller
Abstract:
Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps' compatibility with the old and new versions of Android OS. In this work, we propose AndroEvolve, an automated tool to update usages of deprecated Android APIs, that addresses the limitations of the state-of-the-art tool…
▽ More
Android operating system (OS) is often updated, where each new version may involve API deprecation. Usages of deprecated APIs in Android apps need to be updated to ensure the apps' compatibility with the old and new versions of Android OS. In this work, we propose AndroEvolve, an automated tool to update usages of deprecated Android APIs, that addresses the limitations of the state-of-the-art tool, CocciEvolve. AndroEvolve utilizes data flow analysis to solve the problem of out-of-method-boundary variables, and variable denormalization to remove the temporary variables introduced by CocciEvolve. We evaluated the accuracy of AndroEvolve using a dataset of 360 target files and 20 deprecated Android APIs, where AndroEvolve is able to produce 319 correct updates, compared to CocciEvolve which only produces 249 correct updates. We also evaluated the readability of AndroEvolve's update results using a manual and an automatic evaluation. Both evaluations demonstrated that the code produced by AndroEvolve has higher readability than CocciEvolve's. A video demonstration of AndroEvolve is available at https://youtu.be/siU0tuMITXI.
△ Less
Submitted 11 February, 2021; v1 submitted 14 December, 2020;
originally announced December 2020.
-
AndroEvolve: Automated Android API Update with Data Flow Analysis and Variable Denormalization
Authors:
Stefanus A. Haryono,
Ferdian Thung,
David Lo,
Lingxiao Jiang,
Julia Lawall,
Hong ** Kang,
Lucas Serrano,
Gilles Muller
Abstract:
The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation; Android apps using deprecated APIs need to be updated to ensure the apps' compatibility withold and new versions of Android. Updating deprecated APIs is a time-consuming endeavor. Hence, automating the updates of Android APIs can be beneficial for developers.…
▽ More
The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation; Android apps using deprecated APIs need to be updated to ensure the apps' compatibility withold and new versions of Android. Updating deprecated APIs is a time-consuming endeavor. Hence, automating the updates of Android APIs can be beneficial for developers. CocciEvolve is the state-of-the-art approach for this automation. However, it has several limitations, including its inability to resolve out-of-method-boundary variables and the low code readability of its update due to the addition of temporary variables. In an attempt to further improve the performance of automated Android API update, we propose an approach named AndroEvolve, which addresses the limitations of CocciEvolve through the addition of data flow analysis and variable name denormalization. Data flow analysis enables AndroEvolve to resolve the value of any variable within the file scope. Variable name denormalization replaces temporary variables that may present in the CocciEvolve update with appropriate values in the target file. We have evaluated the performance of AndroEvolve and the readability of its updates on 360 target files. AndroEvolve produces 26.90% more instances of correct updates compared to CocciEvolve. Moreover, our manual and automated evaluation shows that AndroEvolve updates are more readable than CocciEvolve updates.
△ Less
Submitted 10 November, 2020;
originally announced November 2020.
-
Characterization and Automatic Update of Deprecated Machine-Learning API Usages
Authors:
Stefanus Agus Haryono,
Ferdian Thung,
David Lo,
Julia Lawall,
Lingxiao Jiang
Abstract:
Due to the rise of AI applications, machine learning libraries have become far more accessible, with Python being the most common programming language to write them. Machine learning libraries tend to be updated periodically, which may deprecate existing APIs, making it necessary for developers to update their usages. However, updating usages of deprecated APIs are typically not a priority for dev…
▽ More
Due to the rise of AI applications, machine learning libraries have become far more accessible, with Python being the most common programming language to write them. Machine learning libraries tend to be updated periodically, which may deprecate existing APIs, making it necessary for developers to update their usages. However, updating usages of deprecated APIs are typically not a priority for developers, leading to widespread usages of deprecated APIs which expose library users to vulnerability issues. In this paper, we built a tool to automate these updates. We first conducted an empirical study to seek a better understanding on how updates of deprecated machine-learning API usages in Python can be done. The study involved a dataset of 112 deprecated APIs from Scikit-Learn, TensorFlow, and PyTorch. We found dimensions of deprecated API migration related to its update operation (i.e., the required operation to perform the migration), API map** (i.e., the number of deprecated and its corresponding updated APIs),and context dependency (i.e., whether we need to consider surrounding contexts when performing the migration). Guided by the findings on our empirical study, we created MLCatchUp, a tool to automate the update of Python deprecated API usage that automatically infers the API migration transformation through comparison of the deprecated and updated API signatures. These transformations are expressed in a Domain Specific Language (DSL). We evaluated MLCatchUp using test dataset containing 258 files with 514 API usages that we collected from public GitHub repositories. In this evaluation, MLCatchUp achieves a precision of 86.19%. We further improve the precision of MLCatchUp by adding a feature that allows it to accept additional user input to specify the transformation constraints in the DSL for context-dependent API migration, where MLCatchUp achieves a precision of 93.58%.
△ Less
Submitted 10 November, 2020;
originally announced November 2020.
-
Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example
Authors:
Stefanus Agus Haryono,
Ferdian Thung,
Hong ** Kang,
Lucas Serrano,
Gilles Muller,
Julia Lawall,
David Lo,
Lingxiao Jiang
Abstract:
Due to the deprecation of APIs in the Android operating system,developers have to update usages of the APIs to ensure that their applications work for both the past and current versions of Android.Such updates may be widespread, non-trivial, and time-consuming. Therefore, automation of such updates will be of great benefit to developers. AppEvolve, which is the state-of-the-art tool for automating…
▽ More
Due to the deprecation of APIs in the Android operating system,developers have to update usages of the APIs to ensure that their applications work for both the past and current versions of Android.Such updates may be widespread, non-trivial, and time-consuming. Therefore, automation of such updates will be of great benefit to developers. AppEvolve, which is the state-of-the-art tool for automating such updates, relies on having before- and after-update examples to learn from. In this work, we propose an approach named CocciEvolve that performs such updates using only a single after-update example. CocciEvolve learns edits by extracting the relevant update to a block of code from an after-update example. From preliminary experiments, we find that CocciEvolve can successfully perform 96 out of 112 updates, with a success rate of 85%.
△ Less
Submitted 27 May, 2020;
originally announced May 2020.
-
CC2Vec: Distributed Representations of Code Changes
Authors:
Thong Hoang,
Hong ** Kang,
Julia Lawall,
David Lo
Abstract:
Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify these features for each task. In this work, we propose CC2Vec, a neural network model that learns a representation of code changes guided by their accompanying log messages, which represent the semantic intent of the code c…
▽ More
Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify these features for each task. In this work, we propose CC2Vec, a neural network model that learns a representation of code changes guided by their accompanying log messages, which represent the semantic intent of the code changes. CC2Vec models the hierarchical structure of a code change with the help of the attention mechanism and uses multiple comparison functions to identify the differences between the removed and added code.
To evaluate if CC2Vec can produce a distributed representation of code changes that is general and useful for multiple tasks on software patches, we use the vectors produced by CC2Vec for three tasks: log message generation, bug fixing patch identification, and just-in-time defect prediction. In all tasks, the models using CC2Vec outperform the state-of-the-art techniques.
△ Less
Submitted 12 March, 2020;
originally announced March 2020.
-
PatchNet: Hierarchical Deep Learning-Based Stable Patch Identification for the Linux Kernel
Authors:
Thong Hoang,
Julia Lawall,
Yuan Tian,
Richard J Oentaryo,
David Lo
Abstract:
Linux kernel stable versions serve the needs of users who value stability of the kernel over new features. The quality of such stable versions depends on the initiative of kernel developers and maintainers to propagate bug fixing patches to the stable versions. Thus, it is desirable to consider to what extent this process can be automated. A previous approach relies on words from commit messages a…
▽ More
Linux kernel stable versions serve the needs of users who value stability of the kernel over new features. The quality of such stable versions depends on the initiative of kernel developers and maintainers to propagate bug fixing patches to the stable versions. Thus, it is desirable to consider to what extent this process can be automated. A previous approach relies on words from commit messages and a small set of manually constructed code features. This approach, however, shows only moderate accuracy. In this paper, we investigate whether deep learning can provide a more accurate solution. We propose PatchNet, a hierarchical deep learning-based approach capable of automatically extracting features from commit messages and commit code and using them to identify stable patches. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of commit code, making it distinctive from the existing deep learning models on source code. Experiments on 82,403 recent Linux patches confirm the superiority of PatchNet against various state-of-the-art baselines, including the one recently-adopted by Linux kernel maintainers.
△ Less
Submitted 8 November, 2019;
originally announced November 2019.
-
Tunable quantum beat of single photons enabled by nonlinear nanophotonics
Authors:
Qing Li,
Anshuman Singh,
Xiyuan Lu,
John Lawall,
Varun Verma,
Richard Mirin,
Sae Woo Nam,
Kartik Srinivasan
Abstract:
We demonstrate the tunable quantum beat of single photons through the co-development of core nonlinear nanophotonic technologies for frequency-domain manipulation of quantum states in a common physical platform. Spontaneous four-wave mixing in a nonlinear resonator is used to produce non-degenerate, quantum-correlated photon pairs. One photon from each pair is then frequency shifted, without degra…
▽ More
We demonstrate the tunable quantum beat of single photons through the co-development of core nonlinear nanophotonic technologies for frequency-domain manipulation of quantum states in a common physical platform. Spontaneous four-wave mixing in a nonlinear resonator is used to produce non-degenerate, quantum-correlated photon pairs. One photon from each pair is then frequency shifted, without degradation of photon statistics, using four-wave mixing Bragg scattering in a second nonlinear resonator. Fine tuning of the applied frequency shift enables tunable quantum interference of the two photons as they are im**ed on a beamsplitter, with an oscillating signature that depends on their frequency difference. Our work showcases the potential of nonlinear nanophotonic devices as a valuable resource for photonic quantum information science.
△ Less
Submitted 5 May, 2019;
originally announced May 2019.
-
Quantum Frequency Conversion of a Quantum Dot Single-Photon Source on a Nanophotonic Chip
Authors:
Anshuman Singh,
Qing Li,
Shunfa Liu,
Ying Yu,
Xiyuan Lu,
Christian Schneider,
Sven Höfling,
John Lawall,
Varun Verma,
Richard Mirin,
Sae Woo Nam,
** Liu,
Kartik Srinivasan
Abstract:
Single self-assembled InAs/GaAs quantum dots are promising bright sources of indistinguishable photons for quantum information science. However, their distribution in emission wavelength, due to inhomogeneous broadening inherent to their growth, has limited the ability to create multiple identical sources. Quantum frequency conversion can overcome this issue, particularly if implemented using scal…
▽ More
Single self-assembled InAs/GaAs quantum dots are promising bright sources of indistinguishable photons for quantum information science. However, their distribution in emission wavelength, due to inhomogeneous broadening inherent to their growth, has limited the ability to create multiple identical sources. Quantum frequency conversion can overcome this issue, particularly if implemented using scalable chip-integrated technologies. Here, we report the first demonstration of quantum frequency conversion of a quantum dot single-photon source on a silicon nanophotonic chip. Single photons from a quantum dot in a micropillar cavity are shifted in wavelength with an on-chip conversion efficiency of approximately 12 %, limited by the linewidth of the quantum dot photons. The intensity autocorrelation function g(2)(tau) for the frequency-converted light is antibunched with g(2)(0) = 0.290 +/- 0.030, compared to the before-conversion value g(2)(0) = 0.080 +/- 0.003. We demonstrate the suitability of our frequency conversion interface as a resource for quantum dot sources by characterizing its effectiveness across a wide span of input wavelengths (840 nm to 980 nm), and its ability to achieve tunable wavelength shifts difficult to obtain by other approaches.
△ Less
Submitted 26 April, 2019;
originally announced April 2019.
-
PatchNet: A Tool for Deep Patch Classification
Authors:
Thong Hoang,
Julia Lawall,
Richard J. Oentaryo,
Yuan Tian,
David Lo
Abstract:
This work proposes PatchNet, an automated tool based on hierarchical deep learning for classifying patches by extracting features from commit messages and code changes. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of a code change, differentiating it from the existing deep learning models on source code. PatchNet provides several options al…
▽ More
This work proposes PatchNet, an automated tool based on hierarchical deep learning for classifying patches by extracting features from commit messages and code changes. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of a code change, differentiating it from the existing deep learning models on source code. PatchNet provides several options allowing users to select parameters for the training process. The tool has been validated in the context of automatic identification of stable-relevant patches in the Linux kernel and is potentially applicable to automate other software engineering tasks that can be formulated as patch classification problems. A video demonstrating PatchNet is available at https://goo.gl/CZjG6X. The PatchNet implementation is available at https://github.com/hvdthong/PatchNetTool.
△ Less
Submitted 26 March, 2019; v1 submitted 16 February, 2019;
originally announced March 2019.
-
Direct observation of nanofabrication influence on the optical properties of single self-assembled InAs/GaAs quantum dots
Authors:
** Liu,
Kumarasiri Konthasinghe,
Marcelo Davanco,
John Lawall,
Vikas Anant,
Varun Verma,
Richard Mirin,
Sae Woo Nam,
** Dong Song,
Ben Ma,
Ze Sheng Chen,
Hai Qiao Ni,
Zhi Chuan Niu,
Kartik Srinivasan
Abstract:
Single self-assembled InAs/GaAs quantum dots are a promising solid-state quantum technology, with which vacuum Rabi splitting, single-photon-level nonlinearities, and bright, pure, and indistinguishable single-photon generation having been demonstrated. For such achievements, nanofabrication is used to create structures in which the quantum dot preferentially interacts with strongly-confined optic…
▽ More
Single self-assembled InAs/GaAs quantum dots are a promising solid-state quantum technology, with which vacuum Rabi splitting, single-photon-level nonlinearities, and bright, pure, and indistinguishable single-photon generation having been demonstrated. For such achievements, nanofabrication is used to create structures in which the quantum dot preferentially interacts with strongly-confined optical modes. An open question is the extent to which such nanofabrication may also have an adverse influence, through the creation of traps and surface states that could induce blinking, spectral diffusion, and dephasing. Here, we use photoluminescence imaging to locate the positions of single InAs/GaAs quantum dots with respect to alignment marks with < 5 nm uncertainty, allowing us to measure their behavior before and after fabrication. We track the quantum dot emission linewidth and photon statistics as a function of distance from an etched surface, and find that the linewidth is significantly broadened (up to several GHz) for etched surfaces within a couple hundred nanometers of the quantum dot. However, we do not observe appreciable reduction of the quantum dot radiative efficiency due to blinking. We also show that atomic layer deposition can stabilize spectral diffusion of the quantum dot emission, and partially recover its linewidth.
△ Less
Submitted 26 October, 2017;
originally announced October 2017.
-
Thermodynamic limits for optomechanical systems with conservative potentials
Authors:
Stephen Ragole,
Haitan Xu,
John Lawall,
Jacob M. Taylor
Abstract:
The mechanical force from light -- radiation pressure -- provides an intrinsic nonlinear interaction. Consequently, optomechanical systems near their steady state, such as the canonical optical spring, can display non-analytic behavior as a function of external parameters. This non-analyticity, a key feature of thermodynamic phase transitions, suggests that there could be an effective thermodynami…
▽ More
The mechanical force from light -- radiation pressure -- provides an intrinsic nonlinear interaction. Consequently, optomechanical systems near their steady state, such as the canonical optical spring, can display non-analytic behavior as a function of external parameters. This non-analyticity, a key feature of thermodynamic phase transitions, suggests that there could be an effective thermodynamic description of optomechanical systems. Here we explicitly define the thermodynamic limit for optomechanical systems and derive a set of sufficient constraints on the system parameters as the mechanical system grows large. As an example, we show how these constraints can be satisfied in a system with $\mathbb{Z}_2$ symmetry and derive a free energy, allowing us to characterize this as an equilibrium phase transition.
△ Less
Submitted 18 July, 2017;
originally announced July 2017.
-
Observation of optomechanical buckling phase transitions
Authors:
Haitan Xu,
Utku Kemiktarak,
**gyun Fan,
Stephen Ragole,
John Lawall,
Jacob M. Taylor
Abstract:
Correlated phases of matter provide long-term stability for systems as diverse as solids, magnets, and potential exotic quantum materials. Mechanical systems, such as relays and buckling transition spring switches can yield similar stability by exploiting non-equilibrium phase transitions. Curiously, in the optical domain, observations of such phase transitions remain elusive. However, efforts to…
▽ More
Correlated phases of matter provide long-term stability for systems as diverse as solids, magnets, and potential exotic quantum materials. Mechanical systems, such as relays and buckling transition spring switches can yield similar stability by exploiting non-equilibrium phase transitions. Curiously, in the optical domain, observations of such phase transitions remain elusive. However, efforts to integrate optical and mechanical systems -- optomechanics -- suggest that a hybrid approach combining the quantum control of optical systems with the engineerability of mechanical systems may provide a new avenue for such explorations. Here we report the first observation of the buckling of an optomechanical system, in which transitions between stable mechanical states corresponding to both first- and second-order phase transitions are driven by varying laser power and detuning. Our results enable new applications in photonics and, given rapid progress in pushing optomechanical systems into the quantum regime, the potential for explorations of quantum phase transitions.
△ Less
Submitted 27 November, 2015; v1 submitted 16 October, 2015;
originally announced October 2015.
-
Faults in Linux 2.6
Authors:
Nicolas Palix,
Gaël Thomas,
Suman Saha,
Christophe Calvès,
Gilles Muller,
Julia L. Lawall
Abstract:
In August 2011, Linux entered its third decade. Ten years before, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired numerous efforts on improving the reliability of driver code…
▽ More
In August 2011, Linux entered its third decade. Ten years before, Chou et al. published a study of faults found by applying a static analyzer to Linux versions 1.0 through 2.4.1. A major result of their work was that the drivers directory contained up to 7 times more of certain kinds of faults than other directories. This result inspired numerous efforts on improving the reliability of driver code. Today, Linux is used in a wider range of environments, provides a wider range of services, and has adopted a new development and release model. What has been the impact of these changes on code quality? To answer this question, we have transported Chou et al.'s experiments to all versions of Linux 2.6; released between 2003 and 2011. We find that Linux has more than doubled in size during this period, but the number of faults per line of code has been decreasing. Moreover, the fault rate of drivers is now below that of other directories, such as arch. These results can guide further development and research efforts for the decade to come. To allow updating these results as Linux evolves, we define our experimental protocol and make our checkers available.
△ Less
Submitted 16 July, 2014;
originally announced July 2014.
-
From membrane-in-the-middle to mirror-in-the-middle with a high-reflectivity sub-wavelength grating
Authors:
Corey Stambaugh,
Haitan Xu,
Utku Kemiktarak,
Jacob Taylor,
John Lawall
Abstract:
We demonstrate a "membrane in the middle" optomechanical system using a silicon nitride membrane patterned as a subwavelength grating. The grating has a reflectivity of over 99.8%, effectively creating two sub-cavities, with free spectral ranges of 6 GHz, optically coupled via photon tunneling. Measurements of the transmission and reflection spectra show an avoided crossing where the two sub-cavit…
▽ More
We demonstrate a "membrane in the middle" optomechanical system using a silicon nitride membrane patterned as a subwavelength grating. The grating has a reflectivity of over 99.8%, effectively creating two sub-cavities, with free spectral ranges of 6 GHz, optically coupled via photon tunneling. Measurements of the transmission and reflection spectra show an avoided crossing where the two sub-cavities simultaneously come into resonance, with a frequency splitting of 54 MHz. We derive expressions for the lineshapes of the symmetric and antisymmetric modes at the avoided crossing, and infer the grating reflection, transmission, absorption, and scattering through comparison with the experimental data.
△ Less
Submitted 7 July, 2014;
originally announced July 2014.
-
Mode competition and anomalous cooling in a multimode phonon laser
Authors:
Utku Kemiktarak,
Mathieu Durand,
Michael Metcalfe,
John Lawall
Abstract:
We study mode competition in a multimode "phonon laser" comprised of an optical cavity employing a highly reflective membrane as the output coupler. Mechanical gain is provided by the intracavity radiation pressure, to which many mechanical modes are coupled. We calculate the gain, and find that strong oscillation in one mode suppresses the gain in other modes. For sufficiently strong oscillation,…
▽ More
We study mode competition in a multimode "phonon laser" comprised of an optical cavity employing a highly reflective membrane as the output coupler. Mechanical gain is provided by the intracavity radiation pressure, to which many mechanical modes are coupled. We calculate the gain, and find that strong oscillation in one mode suppresses the gain in other modes. For sufficiently strong oscillation, the gain of the other modes actually switches sign and becomes dam**, a process we call "anomalous cooling." We demonstrate that mode competition leads to single-mode operation and find excellent agreement with our theory, including anomalous cooling.
△ Less
Submitted 4 February, 2014;
originally announced February 2014.
-
Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications
Authors:
Damien Cassou,
Emilie Balland,
Charles Consel,
Julia Lawall
Abstract:
A software architecture describes the structure of a computing system by specifying software components and their interactions. Map** a software architecture to an implementation is a well known challenge. A key element of this map** is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract…
▽ More
A software architecture describes the structure of a computing system by specifying software components and their interactions. Map** a software architecture to an implementation is a well known challenge. A key element of this map** is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification. In this paper, we explore one point in the design space between abstract and concrete component interaction specifications. We introduce a notion of behavioral contract that expresses the set of allowed interactions between components, describing both data and control-flow constraints. This declaration is part of the architecture description, allows generation of extensive programming support, and enables various verifications. We instantiate our approach in an architecture description language for the domain of Sense/Compute/Control applications, and describe associated compilation and verification strategies.
△ Less
Submitted 13 September, 2011;
originally announced September 2011.
-
Porous Superhydrophobic Membranes: Hydrodynamic Anomaly in Oscillating Flows
Authors:
Sukumar Rajauria,
O. Ozsun,
J. Lawall,
Victor Yakhot,
Kamil L. Ekinci
Abstract:
We have fabricated and characterized a novel superhydrophobic system, a mesh-like porous superhydrophobic membrane with solid area fraction $Φ_s$, which can maintain intimate contact with outside air and water reservoirs simultaneously. Oscillatory hydrodynamic measurements on porous superhydrophobic membranes as a function of $Φ_s$ reveal surprising effects. The hydrodynamic mass oscillating in-p…
▽ More
We have fabricated and characterized a novel superhydrophobic system, a mesh-like porous superhydrophobic membrane with solid area fraction $Φ_s$, which can maintain intimate contact with outside air and water reservoirs simultaneously. Oscillatory hydrodynamic measurements on porous superhydrophobic membranes as a function of $Φ_s$ reveal surprising effects. The hydrodynamic mass oscillating in-phase with the membranes stays constant for $0.9\leΦ_s\le1$, but drops precipitously for $Φ_s < 0.9$. The viscous friction shows a similar drop after a slow initial decrease proportional to $Φ_s$. We attribute these effects to the percolation of a stable Knudsen layer of air at the interface.
△ Less
Submitted 5 August, 2011; v1 submitted 29 July, 2011;
originally announced July 2011.
-
Mechanically Compliant Grating Reflectors for Optomechanics
Authors:
Utku Kemiktarak,
Michael Metcalfe,
Mathieu Durand,
John Lawall
Abstract:
We demonstrate micromechanical reflectors with a reflectivity as large as 99.4% and a mechanical quality factor Q as large as 7.8*10^5 for optomechanical applications. The reflectors are silicon nitride membranes patterned with sub-wavelength grating structures, obviating the need for the many dielectric layers used in conventional mirrors. We have employed the reflectors in the construction of a…
▽ More
We demonstrate micromechanical reflectors with a reflectivity as large as 99.4% and a mechanical quality factor Q as large as 7.8*10^5 for optomechanical applications. The reflectors are silicon nitride membranes patterned with sub-wavelength grating structures, obviating the need for the many dielectric layers used in conventional mirrors. We have employed the reflectors in the construction of a Fabry-Perot cavity with a finesse as high as F=1200, and used the optical response to probe the mechanical properties of the membrane. By driving the cavity with light detuned to the high-frequency side of a cavity resonance, we create an optical antidam** force that causes the reflector to self-oscillate at 211 kHz.
△ Less
Submitted 15 July, 2011;
originally announced July 2011.
-
Faire levier sur les architectures logicielles pour guider et vérifier le développement d'applications SCC
Authors:
Damien Cassou,
Charles Consel,
Emilie Balland,
Julia Lawall
Abstract:
A software architecture describes the structure of a computing system by specifying software components and their interactions. Map** a software architecture to an implementation is a well known challenge. A key element of this map** is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract…
▽ More
A software architecture describes the structure of a computing system by specifying software components and their interactions. Map** a software architecture to an implementation is a well known challenge. A key element of this map** is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification. In this paper, we explore one point in the design space between abstract and concrete component interaction specifications. We introduce a notion of interaction contract that expresses allowed interactions between components, describing both data and control-flow constraints. This declaration is part of the architecture description, allows generation of extensive programming support, and enables various verifications. We instantiate our approach in an architecture description language for Sense/Compute/Control applications, and describe associated compilation and verification strategies.
△ Less
Submitted 21 June, 2011;
originally announced June 2011.
-
Resolved Sideband Emission of InAs/GaAs Quantum Dots Strained by Surface Acoustic Waves
Authors:
Michael Metcalfe,
Stephen M. Carr,
Andreas Muller,
Glenn S. Solomon,
John Lawall
Abstract:
The dynamic response of InAs/GaAs self-assembled quantum dots (QDs) to strain is studied experimentally by periodically modulating the QDs with a surface acoustic wave and measuring the QD fluorescence with photoluminescence and resonant spectroscopy. When the acoustic frequency is larger than the QD linewidth, we resolve phonon sidebands in the QD fluorescence spectrum. Using a resonant pump lase…
▽ More
The dynamic response of InAs/GaAs self-assembled quantum dots (QDs) to strain is studied experimentally by periodically modulating the QDs with a surface acoustic wave and measuring the QD fluorescence with photoluminescence and resonant spectroscopy. When the acoustic frequency is larger than the QD linewidth, we resolve phonon sidebands in the QD fluorescence spectrum. Using a resonant pump laser, we have demonstrated optical frequency conversion via the dynamically modulated QD, which is the physical mechanism underlying laser sideband cooling a nanomechanical resonator by means of an embedded QD.
△ Less
Submitted 13 August, 2010;
originally announced August 2010.
-
Active feedback of a Fabry-Perot cavity to the emission of a single InAs/GaAs quantum dot
Authors:
Michael Metcalfe,
Andreas Muller,
Glenn S. Solomon,
John Lawall
Abstract:
We present a detailed study of the use of Fabry-Perot (FP) cavities for the spectroscopy of single InAs quantum dots (QDs). We derive optimal cavity characteristics and resolution limits, and measure photoluminescence linewidths as low as 0.9 GHz. By embedding the QDs in a planar cavity, we obtain a sufficiently large signal to actively feed back on the length of the FP to lock to the emission of…
▽ More
We present a detailed study of the use of Fabry-Perot (FP) cavities for the spectroscopy of single InAs quantum dots (QDs). We derive optimal cavity characteristics and resolution limits, and measure photoluminescence linewidths as low as 0.9 GHz. By embedding the QDs in a planar cavity, we obtain a sufficiently large signal to actively feed back on the length of the FP to lock to the emission of a single QD with a stability below 2% of the QD linewidth. An integration time of approximately two seconds is found to yield an optimum compromise between shot noise and cavity length fluctuations.
△ Less
Submitted 13 August, 2010;
originally announced August 2010.
-
Coupling an epitaxial quantum dot to a fiber-based external-mirror microcavity
Authors:
Andreas Muller,
Edward B. Flagg,
Michael Metcalfe,
John Lawall,
Glenn S. Solomon
Abstract:
We report the coupling of individual InAs quantum dots (QDs) to an external-mirror microcavity. The external mirror is bonded to a fiber and positioned above a semiconductor sample consisting of a QD-containing GaAs layer on top of a distributed Bragg reflector (DBR). This open cavity can be rapidly tuned with a piezoelectric actuator without negatively affecting the QD linewidth. A mirror radiu…
▽ More
We report the coupling of individual InAs quantum dots (QDs) to an external-mirror microcavity. The external mirror is bonded to a fiber and positioned above a semiconductor sample consisting of a QD-containing GaAs layer on top of a distributed Bragg reflector (DBR). This open cavity can be rapidly tuned with a piezoelectric actuator without negatively affecting the QD linewidth. A mirror radius of curvature of 42 microns and a cavity length of 10 microns enable good mode-matching and thus high collection efficiency directly into the fiber. With an improved finesse this system may enter the strong coupling regime.
△ Less
Submitted 24 October, 2009;
originally announced October 2009.
-
Emission spectrum of a dressed exciton-biexciton complex in a semiconductor quantum dot
Authors:
Andreas Muller,
Wei Fang,
John Lawall,
Glenn S. Solomon
Abstract:
The photoluminescence spectrum of a single quantum dot was recorded as a secondary resonant laser optically dressed either the vacuum-to-exciton or the exciton-to-biexciton transitions. High-resolution polarization-resolved measurements using a scanning Fabry-Perot interferometer reveal splittings of the linearly-polarized fine-structure states that are non-degenerate in an asymmetric quantum do…
▽ More
The photoluminescence spectrum of a single quantum dot was recorded as a secondary resonant laser optically dressed either the vacuum-to-exciton or the exciton-to-biexciton transitions. High-resolution polarization-resolved measurements using a scanning Fabry-Perot interferometer reveal splittings of the linearly-polarized fine-structure states that are non-degenerate in an asymmetric quantum dot. These splittings manifest as either triplets or doublets and depend sensitively on laser intensity and detuning. Our approach realizes complete resonant control of a multi-excitonic system in emission, which can be either pulsed or continuous-wave, and offers direct access to the emitted photons.
△ Less
Submitted 30 June, 2008;
originally announced July 2008.
-
A Language-Based Approach for Improving the Robustness of Network Application Protocol Implementations
Authors:
Burgy Laurent,
Laurent Réveillère,
Julia Lawall,
Gilles Muller
Abstract:
The secure and robust functioning of a network relies on the defect-free implementation of network applications. As network protocols have become increasingly complex, however, hand-writing network message processing code has become increasingly error-prone. In this paper, we present a domain-specific language, Zebu, for describing protocol message formats and related processing constraints. Fro…
▽ More
The secure and robust functioning of a network relies on the defect-free implementation of network applications. As network protocols have become increasingly complex, however, hand-writing network message processing code has become increasingly error-prone. In this paper, we present a domain-specific language, Zebu, for describing protocol message formats and related processing constraints. From a Zebu specification, a compiler automatically generates stubs to be used by an application to parse network messages. Zebu is easy to use, as it builds on notations used in RFCs to describe protocol grammars. Zebu is also efficient, as the memory usage is tailored to application needs and message fragments can be specified to be processed on demand. Finally, Zebu-based applications are robust, as the Zebu compiler automatically checks specification consistency and generates parsing stubs that include validation of the message structure. Using a mutation analysis in the context of SIP and RTSP, we show that Zebu significantly improves application robustness.
△ Less
Submitted 11 April, 2007;
originally announced April 2007.