1,061 research outputs found
Data-driven synthesis for object-oriented frameworks
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 Co in Zn % (OH)PO and Mg(OH)AsO
Experiments of Electron Spin Resonance (ESR) were performed on Co
substituting Zn or Mg in powder samples of Zn(OH)PO and
Mg(OH)AsO. 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 Co 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 Zn(OH)PO.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
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
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
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
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
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
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.
- …