Download presentation
Presentation is loading. Please wait.
1
Follow-up of MoU objectives
Make automated reasoning techniques and tools applicable to a wider range of problems and make them easier to use by researchers, software developers, users Methods: Introduce standardized representation formats Combine automated reasoning tools Develop and implement new decision procedures (is F a theorem?) verification and analysis techniques (HW,SW) synthesis techniques (generate systems from specs)
2
Work Group Reports WG1: Rich Model Language Design and Benchmark Suite
(syntax, semantics, tool support, translators, benchmarks, competitions, proof and counterexample representations) WG2: Decision Procedures for Rich Model Language Fragments (efficiency improvements, new decidable fragments, architectures and combinations, tool implementations, encoding problems into decidable fragments) WG3: Analysis of Executable Rich Models – software, hardware (classes with exact algorithms, abstraction and automated refinement, proof generation for analyzers, extracting models) WG4: Synthesis from Rich Model Language Descriptions (new algorithms, more efficient implementations, quantitative synthesis, deployment as programming language constructs)``
3
Integration through common formats and tools
Work Group 1 Integration through common formats and tools
4
Isabelle as Foundational Integrator
Tobias Nipkow: MC member from Germany Isabelle theorem prover as integrator with strong semantic guarantees combines first-order theorem provers and SMT solvers includes counterexample generators high-confidence reconstruction of proofs produced by high-performance SMT solvers such as Z3, SPASS Archive of Formal proofs: afp.sourceforge.net Use in education - classes on semantic using Isabelle
5
Coq as Foundational Integrator
Hugo Herbelin: MC substitute from France also participated: Xavier Leroy Example achievements: certified SMT solvers verified compiler: CompCert Classification theorem for odd order groups (Feit-Thompson's theorem)
6
Numerical Transition System and Horn Clause Formats
7
Report by Work Group Chair Maria Paola Bonacina
8
Automation for the analysis of software and hardware
Work Group 3 Automation for the analysis of software and hardware
9
http://www.juliasoft.com (Roberto Giacobazzi)
10
Work Group 3 Highlights ERC projects from MC members:
Andrey Rybalchenko (MC from Germany) ERC projects from participating institutions: David Monniaux (Verimag, CNRS) Mooly Sagiv (Tel-Aviv University) NEXT: Report by Tarmo Uustalu: HATS IP Project
11
Synthesis of Computer System Example: Implicit Programming ERC Project
Work Group 4 Synthesis of Computer System Example: Implicit Programming ERC Project
12
Programming is hard, because computation is given explicitly
Problem: Programming is hard, because computation is given explicitly (how) Claim: We can make it easier, if we support implicit computation If you ever wrote a program then you know that programming is hard, in the sense of being tedious and error prone. This is in part because programmers must still specify programs through explicit computation steps. We claim that we can make programming much easier by allowing implicit computation. In this way, we will allow developers to focus more on WHAT goals they wish to achieve instead of HOW they wish to achieve them. (what)
13
computational realizations
human Intentions Implicit Programming GAP high-level languages Existing Technology Our effort addresses a long-standing challenge of bridging the gap between human intentions and their realizations on computing devices. Over past decades the community has made great progress on this front by building hardware and software abstractions and languages. We no longer need to program in assembly or manually manage memory in programs. Yet a significant gap remains, and this is what we plan to address. By making progress in this direction, we aim to not only increase the productivity of today’s developers, but also help many more people in the society do a form of programming, and thus help them realize the potential of computing technologies. So, how do we plan to do this? computational realizations
14
computational realizations
human intentions 2) Empowering Users specifications IMPRO 1) Synthesis Procedures high-level languages At the center of our approach are specifications, as a precise language for expressing computational intentions. Using these specifications as a bridge, we will establish connections with current high-level programming languages on the one side, and with the less formal notion of human intentions on the other side. We will bridge the gap between specifications and high-level languages using the concept of synthesis procedures, which are based on the satisfiability modulo theories technology. Synthesis procedures are the core concept of this proposal. computational realizations
15
1) Synthesis Procedures
= compiler for specifications constraint between inputs and outputs (from a decidable class) spec(I,O) Synthesis Procedure for this class O = f(I) computable function from inputs to outputs In a nutshell, synthesis procedure is a compiler for specifications. Each synthesis procedure is specialized for a particular class of constraints (much like the related concept of decision procedure). A synthesis procedure takes a constraint expressing a relationship between inputs and outputs, and produces a computable function that maps inputs to outputs. We aim to systematically study synthesis procedures for a number of classes, or domains. This includes numeric domains, such as integer linear arithmetic, where we already have initial results. Due to their application to cyber-physical systems, I am excited about synthesis for approximations of real numbers as well, where we made first steps in automating rigorous bounds on approximation when using floating point numbers. Symbolic computation is equally important, and here we have experience in new decision procedures and their combination methods that we plan to leverage. How do we plan to design synthesis procedures? Numeric domains: linear integers, reals (PLDI’12, OOPSLA’12) Symbolic domains: Calculus of Data Structures (VMCAI’10,CSL’10)
16
2) Empowering Users Development assistance tools
Synthesis of code snippets: Application customization: modify an application through feedback on its behavior, e.g. Programming by demonstration: learning Ambiguous input handling Programs that are almost correct (repair) Specifications written in natural language Prototype language under development Revisit a combination of NLP and PL techniques Coming back to the overall goal of the project, the second aspect is empowering users to derive specifications from their intentions. The general strategy is to develop systems that combine automation and user interaction. The first step in this direction is to help developers directly manipulate applications by interacting with it as it is executing, which we claim is more concrete and more intuitive. We need to develop techniques that allow users to do customization without breaking things too much, by ensuring that key consistency invariants of the application are maintained. To derive complex behaviors we need to work on learning algorithms and tools that generalize concrete and symbolic demonstrations (examples) to programs. Going further, to enable developers to compose new applications from components, we will develop development environments that can automatically suggest useful combinations of existing functionalities, working interactively with users. Finally, to match the informal nature of human communication, we will explore the ability of programming systems to handle ambiguous inputs, such as programs with syntactic and semantic errors, and specifications expressed in natural language.
17
This was only one project
Further results and activities on executing specifications synthesis for expressive temporal logic properties quantitative properties parameterized systems repair synthesis of verification systems from rules
18
Conclusions Presented a sample of results from working groups
Action helped coordinate these activities Actual work was funded by national and EU grants that actually pay staff salaries. Very positive experience with ERC (best development in EU research ever) For this momentum to continue it is essential to continue applying for these grants.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.