- Formal Methods in Verification
- Logic, programming, and type systems
- Logic, Reasoning, and Knowledge
- Autonomous Vehicle Technology and Safety
- Security and Verification in Computing
- Robotic Path Planning Algorithms
- Parallel Computing and Optimization Techniques
- Traffic control and management
- Numerical Methods and Algorithms
- Air Traffic Management and Optimization
- Software Engineering Research
- Transportation Planning and Optimization
- Safety Systems Engineering in Autonomy
- Matrix Theory and Algorithms
- Semantic Web and Ontologies
- Embedded Systems Design Techniques
- Polynomial and algebraic computation
- Numerical methods for differential equations
- Distributed Control Multi-Agent Systems
- Software Testing and Debugging Techniques
- Distributed systems and fault tolerance
- Traffic Prediction and Management Techniques
- Model-Driven Software Engineering Techniques
- Advanced Malware Detection Techniques
- Multi-Agent Systems and Negotiation
University of Michigan
2019-2024
Samsung (United States)
2016-2017
Research!America (United States)
2017
Samsung (South Korea)
2016
Carnegie Mellon University
2014-2015
Cornell University
2010-2013
Recent years have seen growing interest in high-level languages for programming networks. But the design of these has been largely ad hoc, driven more by needs applications and capabilities network hardware than foundational principles. The lack a semantic foundation left language designers with little guidance determining how to incorporate new features, programmers without means reason precisely about their code.
Recent years have seen growing interest in high-level languages for programming networks. But the design of these has been largely ad hoc, driven more by needs applications and capabilities network hardware than foundational principles. The lack a semantic foundation left language designers with little guidance determining how to incorporate new features, programmers without means reason precisely about their code. This paper presents NetKAT, that is based on solid mathematical comes...
Designing and implementing distributed systems correctly is a very challenging task. Recently, formal verification has been successfully used to prove the correctness of systems. At heart lies computer-checked proof with an inductive invariant. Finding this invariant, however, most difficult part proof. Alas, current techniques require invariants be found manually---and painstakingly---by developer.
We present a type system and inference algorithm for rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, first-class methods. The supports abstract recursive is expressive enough to accommodate several standard benchmarks only minor workarounds. invariants enforced by the types enable an ahead-of-time compiler carry out optimizations typically beyond reach static compilers dynamic languages. Unlike previous techniques our uses combination lower upper...
Backward reachability analysis is essential to synthesizing controllers that ensure the correctness of closed-loop systems. This article concerned with developing scalable algorithms underapproximate backward reachable sets, for discrete-time uncertain linear and nonlinear Our algorithm sequentially linearizes dynamics uses constrained zonotopes set representation computation. The main technical ingredient our an efficient way Minkowski difference between a zonotopic minuend subtrahend,...
Formal verification of industrial systems is very challenging, due to reasons ranging from scalability issues communication difficulties with engineering-focused teams. More importantly, are rarely designed for verification, but rather operational needs. In this paper we present an overview our experience using hybrid theorem proving formally verify ACAS X, airborne collision avoidance system airliners scheduled be around 2020. The methods and proof techniques presented here the work already...
Programmatically controllable home devices are proliferating, ranging from lights, locks, and motion sensors to smart refrigerators, televisions, cameras, giving end users unprecedented control over their environment. New domain-specific languages emerging supplant general purpose programming platforms as a means for configure automation. These languages, based on event-condition-action (ECA) rules, have an appealing simplicity. But programmatic lets write programs with bugs, introducing the...
Formal verification of industrial systems is very challenging, due to reasons ranging from scalability issues communication difficulties with engineering-focused teams. More importantly, are rarely designed for verification, but rather operational needs. In this paper we present an overview our experience using hybrid theorem proving formally verify ACAS X, airborne collision avoidance system airliners scheduled be around 2020. The methods and proof techniques presented here the work already...
Complex software systems are becoming increasingly prevalent in aerospace applications: particular, to accomplish critical tasks. Ensuring the safety of these is crucial, as they can have subtly different behaviors under slight variations operating conditions. This paper advocates use formal verification techniques and particular theorem proving for hybrid software-intensive a well-founded complementary approach classical validation techniques, such testing or simulation. As an illustration...
The next generation of aircraft collision avoidance systems frame the problem as a Markov decision process and use dynamic programming to optimize alerting logic. resulting system uses large lookup table determine advisories given pilots, but these tables can grow very large. To enable operate on limited hardware, prior work investigated compressing using deep neural network. However, ensuring that network reliably issues safe is important for certification. This defines linearized regions...
Cyber-Physical Systems (CPS) consist of software interacting with the physical world, such as robots, vehicles, and industrial processes. CPS are frequently responsible for safety lives, property, or environment, so correctness must be determined a high degree certainty. To that end, simply testing is insufficient, its interactions world may difficult to predict, unsafe conditions not immediately obvious. Formal verification can provide stronger guarantees but relies on accuracy verified...
Cyber-Physical Systems (CPS) consist of software interacting with the physical world, such as robots, vehicles, and industrial processes. CPS are frequently responsible for safety lives, property, or environment, so correctness must be determined a high degree certainty. To that end, simply testing is insufficient, its interactions world may difficult to predict, unsafe conditions not immediately obvious. Formal verification can provide stronger guarantees but relies on accuracy verified...
This paper offers a finite-state abstraction of traffic coordination and congestion in network interconnected roads (NOIR). By applying mass conservation, we model as Markov process. Model Predictive Control (MPC) is applied to control through the boundary network. The optimal inflow assigned solution constrained quadratic programming problem. Additionally, movement phases commanded by signals are determined using receding horizon optimization. In simulation, show how can be successfully...
The adoption of hardware accelerators, such as FPGAs, into general-purpose computation pipelines continues to rise, but programming models for these devices lag far behind their CPU counterparts. Legacy programs must often be rewritten at very low levels abstraction, requiring intimate knowledge the target accelerator architecture. While techniques high-level synthesis can help port some legacy software, many perform poorly without manual, architecture-specific optimization.
We present a type system and inference algorithm for rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, first-class methods. The supports abstract recursive is expressive enough to accommodate several standard benchmarks only minor workarounds. invariants enforced by the types enable an ahead-of-time compiler carry out optimizations typically beyond reach static compilers dynamic languages. Unlike previous techniques our uses combination lower upper...