Expertise and Current Research Activity
CPUs: Short for Central Processing Units. The heart of every computer, but 98% of them don’t go in PCs. There are 80 of them in your new BMW. They are in your thermostat, your alarm clock and your refrigerator. There are at least 3 in your smart phone and one in your health monitor. There are at least 20 for every person on the planet. They process your music, your video, your tax return, and your health information. They talk to each other over networks both wired and wireless, in your home and office, between your browser and Amazon or your Skype and their Skype or your financial application and your bank. You walk around each day in an invisible sea of data. They are everywhere and quite simply put, we depend on them. From flying eggs in Angry Birds to flying 737s in our airspace, we trust them and often with our lives.
My work focuses on verifying and synthesizing systems that are worthy of our trust. I use mathematics - mostly logic and discrete math - to represent critical computing systems and prove properties that ensure correct behavior. My goals are verifying existing systems to determine if they meet critical requirements and synthesizing new systems that are guaranteed to meet requirements. Most of my work is “under the hood” examining hardware components like the Trusted Processor Module (TPM) that is found in most enterprise PCs, the software hypervisor at the heart of virtually all cloud computing systems, the circuitry in radios, and the timing algorithms used to simulate complex digital circuits. I prove things ranging from security properties such as data confidentiality and integrity to functional properties such as timing and correctness. I always prove these things with the intent of establishing that the systems we trust are deserving of that trust.
My students work nationally at NASA, Amazon, Apple, Google, and Intel. They work locally at Garmin, Perceptive Software, Sprint, and Cerner. Some work for small Kansas businesses while others are educators and researchers. Many work in support of our national defense. All are busy contributors to our state and national infrastructure.
Why Study at the University of Kansas?
KU is an amazing place on so many levels. As an undergraduate student, we feature one of the top Honors Programs in the nation. Our programs in Electrical Engineering and Computer Science are relevant, hands-on and we are passionate about teaching and advising. Opportunities for undergraduate research abound both within the discipline at ITTC and CReSIS and in other disciplines across campus. As a graduate student, we have research projects sponsored by top agencies including NSF, DARPA, NIH, and NASA. We offer top quality mentoring with highly individualized attention. Finally, we have world renown researchers in many areas related to telecommunication, radar and remote sensing, computer system design, system security and assurance, and many others. The biggest reason to come to KU is the same reason we all stay at KU – our people!
My principle research area is formal methods application to system-level design. A formal method in software and systems engineering is any methodology based on sound mathematical principles. As society becomes increasingly dependent on computer systems, such mathematical approaches underlie tools that assure desired properties for the reliable, secure, and trustworthy systems we demand. I strive to make formal techniques prevalent in system design through: (a) development of pragmatic, engineering methodologies; (b) development of prototype languages and engineering tool sets; and (c) introducing formal methods into the software and systems engineering curriculum.