I am a software engineer in Greater Seattle area. I am interested in Robotics ML/AI and autonomous driving. Shoot me an e-mail if you are interested in having a coffee chat.

I hold a Ph.D. degree in Computer Engineering from Arizona State University. My PhD research was mostly focused on verification and control of Cyber Physical Systems.
I have received M.Sc. degree in Electronics Engineering from METU (Middle East Technical University) in 2007 and B.S. degree in Electronics Engineering from Hacettepe University in 2004.

Please scroll down for more detailed information on my background.

Please reach my current resume here, and my LinkedIn profile here.


PhD in Computer Engineering @ASU

(December 2013 - 2019)

I worked with Prof. Georgios Fainekos as a Graduate Research Associate in Cyber Physical Systems (CPS) Laboratory.

Ph.D. Dissertation

Dissertation Title: Search-based Testing of Automated Driving Systems: From Perception to Control Logic

Main Research Interests
Cyber Physical Systems
  • Automatic verification/falsification of model based designs for control systems.
  • Parallel execution of control software on multi-core applications.
My publications
I have completed following courses:
  • Real Time Embedded Systems (CSE 522)
  • Cyber Physical Systems (CSE 591)
  • Linear Systems Theory (EEE 582)
  • Nonlinear Control Systems (EEE 586)
  • Optimization (CSE 691)
  • Statistical Machine Learning (CSE 575)
  • Foundations of Algorithms (CSE 591/551)
  • Interaction Testing: Theory and Practice (CSE 691)
  • Introduction to Graph Theory (MAT 513)
  • ​Computer Systems I (CEN 501)
  • Computer Systems II (CEN 502)
  • Piano (Beginner) (MUS 145)

M.Sc. in Electronics Engineering @METU (Middle East Technical University)

(September 2004 - December 2007)

METU is one of the top engineering schools in Turkey. It is ranked 85th in the "World University Rankings 2014-2015" list released by the UK-based Times Higher Education (THE).

Master's Thesis

I have completed my Master's thesis "Implementation and Simulation of MC68HC11 Microcontroller Unit Using SystemC for Co-design Studies." under supervision of Prof. Murat ASKAR.

A screenshot from the visual simulation environment I have implemented as part of my studies:

Visual Simulation Environment from MSc Thesis Work
  1. Program file region. User can write assembly code and convert written code to machine code using “Code Editor” and “Machine Code Generator” buttons respectively.
  2. Contains condition codes register information. Condition code register information is update at every clock cycle.
  3. Displays contents of registers in register file before and after the selected cycle or instruction.
  4. Test environment region. In this region user can download machine code into microcontroller's ROM, configure test bench and test hardware, select simulation duration, run simulation and view simulation results using buttons.
  5. After a simulation ends, executed instructions are presented.
  6. Displays information on internal cycles of instruction execution. This region is filled when user selects an executed instruction.
  7. Displays contents of special function registers for selected clock cycle.
I have completed following courses in my Master's:
  • Transport Phenomena in Semiconductor Devices
  • Principles of Analog VLSI Design
  • Introduction to VLSI Design
  • Principles of Digital CMOS VLSI Design
  • Integrated Sensors and Sensor Systems
  • Switching and Automata Theory I
  • Algorithms and Computational Complexity

Bachelor of Science in Electronics Engineering @Hacettepe University

(September 2000 - ​July 2004)
Capstone Project

As my capstone project I designed and built an Ultrasonic Signal Follower Robot under supervision of my project advisor, Prof. Ali Ziya ALKAR.
For this project, I have designed and implemented an ultrasonic signal source which generates a periodic signal and a mobile robot which continuously finds direction of the signal source and goes towards signal source. With an embedded PID controller implemented on a PIC microcontroller, the robot calculates and applies required speed and amount of turns.
It is my honour that I have displayed my project in international CeBIT Eurasia 2004 exhibition in Istanbul as one of the five selected projects from Hacettepe University.

Some technical details:
  • The robot is designed and implemented with modular circuits for future expansions.
  • The central microcontroller (PIC16F84A) on the robot is connected to 3 ultrasound receiver circuits. The central microcontroller finds the direction of incoming signal and communicates with another microcontroller PIC16F877 which is responsible for driving motors by generating PWM (Pulse Width Modulation) output.
  • The central microcontroller also controls the LEDs on right, left and rear.
  • All circuit boards are independently functional and connected to each other with some sockets.
  • Analog and digital circuitry, their PCB's and the software on the microcontrollers are designed by me for both the robot and the ultrasound signal source.
  • Body of the robot was modified by me from a toy vehicle.
Published news about this robot in Turkish national press (in Turkish): Below is a video of the robot in action:

Some of the classes I have completed during my undergraduate education:
  • Microprocessor Arch. and Programming I/II
  • Control Systems
  • Digital Signal Processing
  • Telecommunication Theory I/II
  • Digital Design and Switching Theory
  • Data Structures
  • Fundamentals of Biomedical Engineering
  • Fundamentals of Medical Imaging

Professional Work

Software Development Engineer @Amazon

(April 2019 - current)

Developing computer-vision models and cloud-native software solutions for increasing the speed and efficiency in middle-mile transportation.

Research and Development Engineering Co-op, Spring 2018 @Toyota Motor North America

(January - April 2018)

Conducted research on testing and verification methodologies for autonomous vehicles that utilize Neural Network based perception systems and sensor fusion systems. Developed a simulation-based automatic test generation and verification framework for autonomous driving systems. Contributed into a research project that utilize simulations, linear programming and SMT solvers to verify safety properties of NN-based controllers. Published papers and a poster on the work (please see my publications list).

Research and Development Engineering Co-op, Fall 2017 @Toyota Motor North America

(September - December 2017)

Developed a simulation-based framework and novel approaches for testing and verification of autonomous vehicle controllers. Presented the research outcomes in the company research expo.

Research Engineer @Wright Brothers Institute and Air Force Research Labs. Summer of Innovation Program

(May - August 2017)

Summer of innovation program focused on the application of formal verification methods on autonomous systems. As a member of a group consisting of formal verification researchers, I have applied the verification framework S-TaLiRo which was developed in ASU CPS Lab on an unmanned air vehicles autonomy system which was developed by US Air Force Research Labs (AFRL). Published the outcomes of this work in the proceedings of the 2018 Nasa Formal Methods Symposium (please see my publications list).

Software Engineer @TAI (Turkish Aerospace Industries)

(September 2009 - December 2013)

I had the opportunity to be a part of the software engineering team developing the OFP (Operational Flight Program) software for C-130 aircrafts in a complete avionics modernization project.

  • I was a part of the HMI (Human-Machine-Interface) software development team.
  • Mostly developed software in CDU and MFD / PFD (displays in the cockpit).
  • We used C programming and SCADE modeling for software development.
  • Our target platform was GreenHills Integrity RTOS.
  • I wrote Software Requirement Specifications (SRS).
  • I participated in DO-178B certification related activities.
  • For some time, I worked as a software verification engineer.
A picture from the modernized cockpit of the C-130s:
The Modernized C-130 Cockpit
A video, presenting the project (audio in Turkish):

Software Engineer @BOTT Computer Systems

(December 2005 - November 2008)

BOTT is one of the largest smart card solutions providers for the universities and government institutes in Turkey. I have worked in the software and hardware part for the embedded applications in the smart card access control and e-payment projects. These systems are used by a total of more than 1 million users.

  • C and C++ Software development for PC/104 based embedded computers that run Linux or DOS and for ucLinux systems.
  • Microcontroller based digital circuit and PCB designs for interfacing embedded PCs with other applications.
  • Used MiFare smart card technology.
A picture from an installed e-payment toll gate:
An example toll gate

Academic Publications

(Google Scholar Profile, ResearchGate Profile)

Journal Articles

Requirements-driven test generation for autonomous vehicles with machine learning components, (pdf, ieee)
Cumhur Erkan Tuncali, Georgios Fainekos, Danil Prokhorov, Hisahiro Ito, James Kapinski
IEEE Transactions on Intelligent Vehicles, 2019, Volume 5, Issue 2, Pages 255-280

Autonomous vehicles are complex systems that are challenging to test and debug. A requirements-driven approach to the development process can decrease the resources required to design and test these systems, while simultaneously increasing the reliability. We present a testing framework that uses signal temporal logic (STL), which is a precise and unambiguous re- quirements language. Our framework evaluates test cases against the STL formulae and additionally uses the requirements to automatically identify cases that fail to satisfy the requirements. One of the key features of our tool is the support for machine learning (ML) components in the system design, such as deep neural networks. The framework allows evaluation of the control algorithms, including the ML components, and it also includes models of CCD camera, lidar, and radar sensors, as well as the vehicle environment. We use multiple methods to generate test cases, including covering arrays, which is an efficient method to search discrete variable spaces. The resulting test cases can be used to debug the controller design by identifying controller behaviors that do not satisfy requirements. The test cases can also enhance the testing phase of development by identifying critical corner cases that correspond to the limits of the system’s allowed behaviors. We present three STL requirements for an autonomous vehicle system, which capture both component-level and system-level behaviors. Additionally, we present three driving scenarios and demonstrate how our requirements-driven testing framework can be used to identify critical system behaviors, which can be used to support the development process.

Automatic Parallelization of Simulink Models on Multi-core Architectures, (pdf, ACM DL Author-ize serviceacm)
Cumhur Erkan Tuncali, Georgios Fainekos, Yann-Hang Lee
ACM Transactions on Embedded Computing Systems (TECS) - Special Issue on ICESS2015, 2016

This article addresses the problem of parallelizingmodel block diagrams for real-time embedded applications on multicore architectures. We describe a Mixed Integer Linear Programming formulation for finding a feasible mapping of the blocks to different CPU cores. For single-rate models, we use an objective function that minimizes the overall worst-case execution time. We introduce a set of heuristics to solve the problem for large models in a reasonable time. For multirate models, we solve the feasibility problem for finding a valid mapping. We study the scalability and efficiency of our approach with synthetic benchmarks and an engine controller from Toyota.

Conference Papers

Rapidly-exploring random trees for testing automated vehicles, (pdf, ieee)
(Best Paper Award!)
Cumhur Erkan Tuncali, Georgios Fainekos

One of the expectations from fully or partially automated vehicles is to never cause an accident and actively avoid dangerous situations. However, an automated vehicle may not be able to avoid all collisions, e.g., collisions caused by other vehicles. Hence, it is important for the system developers to understand the boundary case scenarios where an autonomous vehicle can no longer avoid a collision. In this paper, an automated test generation approach that utilizes Rapidly-exploring Random Trees is presented to explore these boundary scenarios. An important advantage of the approach is the openness of the test scenarios: one can set the road geometry and the number of adversarial objects and let the system search for interesting trajectories and environment parameters. A cost function is proposed which guides the test generation toward almost-avoidable collisions or near-misses.

Simulation-based Adversarial Test Generation for Autonomous Vehicles with Machine Learning Components, (arxiv)
Cumhur Erkan Tuncali, Georgios Fainekos, Hisahiro Ito, James Kapinski, (IV 2018)
Sim-ATAV is available here as an open-source project.

Many organizations are developing autonomous driving systems, which are expected to be deployed at a large scale in the near future. Despite this, there is a lack of agreement on appropriate meth- ods to test, debug, and certify the performance of these systems. One of the main challenges is that many autonomous driving systems have machine learning components, such as deep neural net- works, for which formal properties are difficult to characterize. We present a testing framework that is compatible with test case generation and automatic falsification methods, which are used to evalu- ate cyber-physical systems. We demonstrate how the framework can be used to evaluate closed-loop properties of an autonomous driving system model that includes the ML components, all within a vir- tual environment. We demonstrate how to use test case generation methods, such as covering arrays, as well as requirement falsification methods to automatically identify problematic test scenarios. The resulting framework can be used to increase the reliability of autonomous driving systems.

Reasoning about Safety of Learning-Enabled Components in Autonomous Cyber-physical Systems, (arxiv)
Cumhur Erkan Tuncali, James Kapinski, Hisahiro Ito, Jyotirmoy V. Deshmukh, (DAC 2018)

We present a simulation-based approach for generating barrier certificate functions for safety verification of cyber-physical systems (CPS) that contain neural network-based controllers. A linear programming solver is utilized to find a candidate generator function from a set of simulation traces obtained by randomly selecting initial states for the CPS model. A level set of the generator function is then selected to act as a barrier certificate for the system, meaning it demonstrates that no unsafe system states are reachable from a given set of initial states. The barrier certificate properties are verified with an SMT solver. This approach is demonstrated on a case study in which a Dubins car model of an autonomous vehicle is controlled by a neural network to follow a given path.

Poster: Sim-ATAV: Simulation-Based Adversarial Testing Framework for Autonomous Vehicles, (ACM DL Author-ize serviceacm)
Cumhur Erkan Tuncali, Georgios Fainekos, Hisahiro Ito, James Kapinski, (HSCC 2018)
(Best Poster Finalist!)

One of the main challenges in testing autonomous driving systems is the presence of machine learning components, such as neural networks, for which formal properties are difficult to establish. We present a simulation-based testing framework that supports methods used to evaluate cyber-physical systems, such as test case generation and automatic falsification. We demonstrate how the framework can be used to evaluate closed-loop properties of autonomous driving system models that include machine learning components.

Experience Report: Application of Falsification Methods on the UxAS System, (pdf)
Cumhur Erkan Tuncali, Bardh Hoxha, Guohui Ding, Georgios Fainekos, Sriram Sankaranarayanan, (NFM 2018)

In this report, we present our experiences in applying falsification methods over the Unmanned Systems Autonomy Services (UxAS) system. UxAS is a collection of software modules that enables complex mission planning for multiple vehicles. To test the system, we utilized the tool S-TaLiRo to generate mission scenarios for both UxAS and the underlying vehicle simulators, with the goal of finding behaviors which do not meet system specifications.

Functional Gradient Descent Optimization for Automatic Test Case Generation for Vehicle Controllers, (pdf)
Cumhur Erkan Tuncali, Shakiba Yaghoubi, Theodore Pavlic, Georgios Fainekos, (CASE 2017)

A hierarchical framework is proposed for improving the automatic test case generation process for high-fidelity models with long execution times. The framework incorporates related low-fidelity models for which certain properties can be analytically or computationally evaluated with provable guarantees (e.g., gradients of safety or performance metrics). The low-fidelity models drive the test case generation process for the high-fidelity models. The proposed framework is demonstrated on a model of a vehicle with Full Range Adaptive Cruise Control with Collision Avoidance (FRACC), for which it generates more challenging test cases on average compared to test cases generated using Simulated Annealing.

Utilizing S-TaLiRo As an Automatic Test Generation Framework for Autonomous Vehicles, (pdf)
Cumhur Erkan Tuncali, Theodore Pavlic, Georgios Fainekos, (ITSC 2016)

This paper proposes an approach to automatically generating test cases for testing motion controllers of autonomous vehicular systems. Test scenarios may consist of single or multiple vehicles under test at the same time. Tests are performed in simulation environments. The approach is based on using a robustness metric for evaluating simulation outcomes as a cost function. Initial states and inputs are updated by stochastic optimization methods between the tests for achieving smaller robustness values. The test generation framework has been implemented in the toolbox S-TaLiRo. The proposed framework's ability to generate interesting test cases is demonstrated by a case study.

Automatic Parallelization of Simulink Models on Multi-core Architectures, (pdf, ieee, google scholar)
Cumhur Erkan Tuncali, Georgios Fainekos, Yann-Hang Lee, (ICESS 2015)

This paper addresses the problem of parallelizing existing single-rate Simulink models for embedded control applications on multi-core architectures considering communication cost between blocks on different CPU cores. Utilizing the block diagram of the Simulink model, we derive the dependency graph between the different blocks. In order to solve the scheduling problem, we describe a Mixed Integer Linear Programming (MILP) formulation for optimally mapping the Simulink blocks to different CPU cores. Since the number of variables and constraints for MILP solver grows exponentially when model size increases, solving this problem in a reasonable time becomes harder. For addressing this issue, we introduce a set of techniques for reducing the number of constraints in the MILP formulation. By using the proposed techniques, the MILP solver finds solutions that are closer to the optimal solution within a given time bound. We study the scalability and efficiency of our consisting approach with synthetic benchmarks of randomly generated directed acyclic graphs. We also use the "Fault-Tolerant Fuel Control System" demo from Simulink and a Diesel engine controller from Toyota as case studies for demonstrating applicability of our approach to real world problems.

Modeling Concurrency and Reconfiguration in Vehicular Systems: A pi-calculus Approach (pdf, arxiv)
Joseph Campbell, Cumhur Erkan Tuncali, Theodore Pavlic, Georgios Fainekos, (ITSC 2016)

As autonomous or semi-autonomous vehicles are deployed on the roads, they will have to eventually start communicating with each other in order to achieve increased efficiency and safety. Current approaches in the control of collaborative vehicles primarily consider homogeneous simplified vehicle dynamics and usually ignore any communication issues. This raises an important question of how systems without the aforementioned limiting assumptions can be modeled, analyzed and certified for safe operation by both industry and governmental agencies. In this work, we propose a modeling framework where communication and system reconfiguration is modeled through $\pi$-calculus expressions while the closed-loop control systems are modeled through hybrid automata. We demonstrate how the framework can be utilized for modeling and simulation of platooning behaviors of heterogeneous vehicles.

Master's Thesis

Implementation and Simulation of MC68HC11 Microcontroller Unit Using SystemC for Co-design Studies. (pdf)
Cumhur Erkan Tuncali, (Middle East Technical University, Turkey, 2007)
Thesis Advisor: Prof. Murat Askar

​In this thesis, co-design and co-verification of a microcontroller hardware and software using SystemC is studied. For this purpose, an MC68HC11 microcontroller unit, a test bench that contains input and output modules for the verification of microcontroller unit are implemented using SystemC programming language and a visual simulation program is developed using C# programming language in Microsoft .NET platform.

Fun Projects

Autonomous Racing Car

Autonomous Racing Car

I have developed the software for ASU Desert Runners team's autonomous driving racing car.
This a 1/10th scale 4WD car which can reach up to 40mph! We have participated in f1tenth autonomous car race which took place in CMU corridors during Embedded Systems Week 2016. We have finished the race in 3rd place. That was a great experience for us, and we had lots of fun. I have learned a lot during this project (like ROS, dealing with LIDAR, 3D camera and control). Below video is from the very early stages of the autonomous driving.

Contact Me

Please do not hesitate to contact me for discussing research ideas or work opportunities.
My e-mail address is tuncalie [at] yahoo [dot] com.
Below form is using a third party service formspree.io!