Public Tech Talk: “On-Chip AI, Hardware Security, and Trust Using Advanced Process Nodes”

Thursday, July 23, 2020

Abstract: The rise of machine learning (ML) and artificial intelligence (AI) have instigated significant interests in developing domain specific integrated circuits and architectures that can support the computational demands of AI. These chips are commonly known as AI chips. AI chips, both for training and inferencing, have emerged out to be new areas of research and […]

Read More

Public Tech Talk – Bringing the power together: Computer, Data, Subject knowledge — CANCELED

Friday, April 10, 2020

This tech talk has been canceled and will be rescheduled. We apologize for the inconvenience! Abstract: Computational science uses a computer’s super power and mathematical algorithms to solve large-scale scientific problems. Data science explores information from large quantity heterogeneous datasets to gain insights and build forecast models with statistical methods. Wouldn’t it be great to […]

Read More

Public Tech Talk: “Adventures in Type-directed Programming” — CANCELED

Friday, March 13, 2020

This tech talk has been canceled and will be rescheduled. We apologize for the inconvenience! This talk will be live-streamed at: https://www.youtube.com/c/GaloisInc/live Abstract: “My programs just write themselves!”  This phrase is frequently exclaimed by users of functional programming languages with advanced type systems who observe that rich types often guide them directly towards correct programs.  […]

Read More

Public Tech Talk: A Verified LL(1) Parser Generator

Wednesday, September 11, 2019

Abstract: Many software systems employ parsing techniques to map sequential input to structured output. Often, a parser is the system component that consumes data from an untrusted source. Because parsers mediate between the outside world and application internals, they are good targets for formal verification; parsers that come with strong correctness guarantees are likely to […]

Read More

Public Tech Talk – Formal Hardware Verification: Asynchronous, Analog, Mixed-Signal, and Mixed-Timing Circuits

Wednesday, August 07, 2019

Abstract:Formal verification has become a well-established part of standard hardware design flows leveraging SAT solvers and model checkers for verification tasks including logical equivalence checking, property checking, and protocol verification. These tools are largely based on all-digital, synchronous, single clock-domain models of hardware behaviour. To address the needs of system-on-chip and multi-core designs, we are […]

Read More

Public Tech Talk – Cellularization: A Game Theoretic Perspective

Monday, August 26, 2019

Abstract:My talk will present a distributed secure architecture for “cellularization,” a process in which utilities of the players are aligned by credible/non-credible threats. The proposed solution relies on a novel decentralized permissionless cyber-physical architecture that enables players to participate in Information-Asymmetric (Signaling) games, where deception is tamed by costly signaling, formal verification and zero-knowledge cryptography. […]

Read More

Fixr: Mining and Understanding Bug Fixes for App-Framework Protocol Defects

Tuesday, April 16, 2019

Abstract: Developing interactive apps against event-driven software frameworks, like Android, is notoriously difficult. To create apps that behave as expected, developers must follow complex and often implicit asynchronous programming protocols. Such protocols intertwine the proper registering of callbacks to receive control from the framework with appropriate application-programming interface (API) calls that can then in turn […]

Read More

Quantum Learning from Symmetric Oracles

Thursday, March 28, 2019

Abstract The study of quantum computation has been motivated, in part, by the possibility that quantum computers can perform certain tasks dramatically faster than classical computers. Many of the known quantum-over-classical speedups, such as Shor’s algorithm for factoring integers and Grover’s search algorithm, can be framed as oracle problems or concept learning problems. In one […]

Read More

Chip Design is Pretty Cool: An Intro to Hardware for Software Engineers

Wednesday, April 03, 2019

Abstract:  This talk will present some of the basic principles of chip design including an overview of how chips are manufactured. Then I will give an overview of the complexity of chip design by focusing on addition. While it may seem like a basic operation, people have spent careers optimizing arithmetic circuits like adders. I […]

Read More

Semantic Foundations for Live Programming Environments

Monday, April 08, 2019

Abstract: When programming, it is common to spend minutes, hours, or even days at a time working with program text where there are missing pieces, type errors, or merge conflicts. Programming environments have trouble generating meaningful feedback in these situations because programming language definitions typically assign formal meaning only to fully-formed, well-typed programs. Lacking timely and […]

Read More