1,061 research outputs found

    Data-driven synthesis for object-oriented frameworks

    Get PDF
    Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with the framework. The query consists of names of two framework classes, and our system produces code enabling interaction between them. MATCHMAKER relies on a database of dynamic program traces called DELIGHT that uses novel abstraction-based indexing techniques to answer queries about the evolution of heap connectivity in a matter of seconds. The paper evaluates the performance and effectiveness of MATCHMAKER on a number of benchmarks from the Eclipse framework. The paper also presents the results of a user study that showed a 49% average productivity improvement from the use of our tool.National Science Foundation (U.S.). (Grant number CCF-1049406)Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laborator

    Theory and experiment of the ESR of Co2+^{2+} in Zn2_2 % (OH)PO4_4 and Mg2_2(OH)AsO4_4

    Full text link
    Experiments of Electron Spin Resonance (ESR) were performed on Co% ^{2+} substituting Zn2+^{2+} or Mg2+^{2+} in powder samples of Zn2_2(OH)PO4_4 and Mg2_2(OH)AsO4_4. The observed resonances are described with a theoretical model that considers the departures from the two perfect structures. It is shown that the resonance in the penta-coordinated complex is allowed, and the crystal fields that would describe the resonance of the Co2+^{2+} in the two environments are calculated. The small intensity of the resonance in the penta-coordinated complex is explained assuming that this site is much less populated than the octahedral one; this assumption was verified by a molecular calculation of the energies of the two environments, with both Co and Zn as central ions in Zn2_2(OH)PO4_4.Comment: 43 pages, LaTex file, 6 figures, EPS. submitted to Journal of Physics Condens

    Quantitative analysis of electronic transport through weakly-coupled metal/organic interfaces

    Full text link
    Using single-crystal transistors, we have performed a systematic experimental study of electronic transport through oxidized copper/rubrene interfaces as a function of temperature and bias. We find that the measurements can be reproduced quantitatively in terms of the thermionic emission theory for Schottky diodes, if the effect of the bias-induced barrier lowering is included. Our analysis emphasizes the role of the coupling between metal and molecules, which in our devices is weak due to the presence of an oxide layer at the surface of the copper electrodes.Comment: 4 pages, 3 figure

    Safety-Aware Apprenticeship Learning

    Full text link
    Apprenticeship learning (AL) is a kind of Learning from Demonstration techniques where the reward function of a Markov Decision Process (MDP) is unknown to the learning agent and the agent has to derive a good policy by observing an expert's demonstrations. In this paper, we study the problem of how to make AL algorithms inherently safe while still meeting its learning objective. We consider a setting where the unknown reward function is assumed to be a linear combination of a set of state features, and the safety property is specified in Probabilistic Computation Tree Logic (PCTL). By embedding probabilistic model checking inside AL, we propose a novel counterexample-guided approach that can ensure safety while retaining performance of the learnt policy. We demonstrate the effectiveness of our approach on several challenging AL scenarios where safety is essential.Comment: Accepted by International Conference on Computer Aided Verification (CAV) 201

    Bridging boolean and quantitative synthesis using smoothed proof search

    Get PDF
    We present a new technique for parameter synthesis under boolean and quantitative objectives. The input to the technique is a "sketch" --- a program with missing numerical parameters --- and a probabilistic assumption about the program's inputs. The goal is to automatically synthesize values for the parameters such that the resulting program satisfies: (1) a {boolean specification}, which states that the program must meet certain assertions, and (2) a {quantitative specification}, which assigns a real valued rating to every program and which the synthesizer is expected to optimize. Our method --- called smoothed proof search --- reduces this task to a sequence of unconstrained smooth optimization problems that are then solved numerically. By iteratively solving these problems, we obtain parameter values that get closer and closer to meeting the boolean specification; at the limit, we obtain values that provably meet the specification. The approximations are computed using a new notion of smoothing for program abstractions, where an abstract transformer is approximated by a function that is continuous according to a metric over abstract states. We present a prototype implementation of our synthesis procedure, and experimental results on two benchmarks from the embedded control domain. The experiments demonstrate the benefits of smoothed proof search over an approach that does not meet the boolean and quantitative synthesis goals simultaneously.National Science Foundation (U.S.) (NSF Award #1162076

    Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations

    Get PDF
    We introduce a framework allowing domain experts to manipulate computational terms in the interest of deriving better, more efficient implementations.It employs deductive reasoning to generate provably correct efficient implementations from a very high-level specification of an algorithm, and inductive constraint-based synthesis to improve automation. Semantic information is encoded into program terms through the use of refinement types. In this paper, we develop the technique in the context of a system called Bellmania that uses solver-aided tactics to derive parallel divide-and-conquer implementations of dynamic programming algorithms that have better locality and are significantly more efficient than traditional loop-based implementations. Bellmania includes a high-level language for specifying dynamic programming algorithms and a calculus that facilitates gradual transformation of these specifications into efficient implementations. These transformations formalize the divide-and conquer technique; a visualization interface helps users to interactively guide the process, while an SMT-based back-end verifies each step and takes care of low-level reasoning required for parallelism. We have used the system to generate provably correct implementations of several algorithms, including some important algorithms from computational biology, and show that the performance is comparable to that of the best manually optimized code.National Science Foundation (U.S.) (CCF-1139056)National Science Foundation (U.S.) (CCF- 1439084)National Science Foundation (U.S.) (CNS-1553510

    Information consumption patterns from big data

    Get PDF
    Virtual social networks imply an important opportunity to generate friendlier communication bridges between students, teachers and other actors related to the educational field. In this sense, our study presents an approximation to the connection habits between university students in these networks, which in the future will allow to take advantage of these platforms to achieve a successful communication between actors. Thus, the characterization of uses, habits and consumption of virtual social networks becomes very relevant

    Temporal Stream Logic: Synthesis beyond the Bools

    Full text link
    Reactive systems that operate in environments with complex data, such as mobile apps or embedded controllers with many sensors, are difficult to synthesize. Synthesis tools usually fail for such systems because the state space resulting from the discretization of the data is too large. We introduce TSL, a new temporal logic that separates control and data. We provide a CEGAR-based synthesis approach for the construction of implementations that are guaranteed to satisfy a TSL specification for all possible instantiations of the data processing functions. TSL provides an attractive trade-off for synthesis. On the one hand, synthesis from TSL, unlike synthesis from standard temporal logics, is undecidable in general. On the other hand, however, synthesis from TSL is scalable, because it is independent of the complexity of the handled data. Among other benchmarks, we have successfully synthesized a music player Android app and a controller for an autonomous vehicle in the Open Race Car Simulator (TORCS.
    • …
    corecore