Tech talk: Interrupts in OS code: let’s reason about them. Yes, this means concurrency.

abstract: Existing modeled and verified operating systems (OS’s) typically run on uniprocessor platforms and run with interrupts mostly disabled. This makes formal reasoning more tractable: execution is mostly sequential. The eChronos OS is a real-time OS used in tightly constrained devices, running on (uniprocessor) embedded micro-controllers. It is used in the DARPA-funded HACMS program, where […]

Read More

Galois Announces ISC: The Imperfect Stitch Compiler

This was an April Fool’s post published on April 1, 2016. The Imperfect Stitch Compiler is a fictional product. Galois is known for building perfect software. But is our software too perfect? The imperfect stitch, or Persian flaw, is a deliberate error in an otherwise perfect work of art. The term derives from the proverb, […]

Read More

Tech talk: Adversarial Machine Learning, Privacy, and Cybersecurity in the Age of Data Science

abstract: Due to the exponential growth of our ability to collect, centralize, and share data in recent years we have been able tackle problems previously assumed to be insurmountable. Ubiquitous sensors, fast and efficient machine learning, and affordable commercial-off-the-shelf technologies have not only deepened our understanding of our world, but also democratized these capabilities. As […]

Read More

Tech talk: Toward Extracting Monadic Programs from Proofs

abstract: The Curry-Howard Isomorphism motivates the well known proofs-as-programs interpretation. Under that interpretation, sufficiently different proofs yield different programs. This work is a step toward extracting monadic programs from proofs. In working with the list monad as a motivating example, we discovered that the standard type bind (M a -> (a -> M b) -> […]

Read More

Galois: 2015 highlights

2015 was an active and productive year at Galois. From numerous awards, to new projects and spin-offs, to a vast array of publications and talks, Galwegians contributed to a wide range of fields this year. In this post, we highlight some of the contributions we made in 2015.

Read More

Tech talk: Designing a practical dependently typed language

abstract: The last decade has seen many success stories for verified programming with dependent types, including the CompCert verified C compiler, verified libraries for concurrency and security, and machine-checked proofs of results like the four color theorem and the Feit-Thompson theorem. Despite these successes, dependently typed languages are rarely used for day-to-day programming tasks. In […]

Read More

Fuse Analyzer: Handling runtime permissions in Android 6.0

Galois just announced a tool to help Android developers migrate apps to Android 6, while making the best use of the new Runtime Permissions feature. The Galois tool, Fuse Analyzer: Permissions, analyzes binary Andorid APKs to find the locations where you, as a developer, need to handle permissions more carefully in Android 6. The new Runtime Permissions feature brings […]

Read More

ICFP Programming Contest set to take place this weekend

We’re excited to be organizing this year’s ICFP Programming Contest, the annual programming contest of the International Conference on Functional Programming (ICFP).  This year, the contest starts on Friday 7 August 2015 at 12:00 UTC and ends on Monday 10 August 2015 at 12:00 UTC. There will be a lightning division, ending on Saturday 8 […]

Read More