Just as there are bugs in code that makes software, modern hardware is also written in code and therefore may contain bugs. I find these bugs.
Thesis
Specification mining can discover properties that can be used to verify the secure
behavior of closed source CISC CPU designs, properties that can be used to verify
the temporal correctness of CPU designs, and hyperproperties that can be used to
verify that modules, SoCs, and CPUs have secure information flow.
Some partners
Intel Corporation, Semiconductor Research Corporation, Synopsys, MITRE, Cycuity
Background
Enhance!
Just as there are bugs in code that makes software, modern hardware is also written in code and therefore may contain bugs. I find these bugs.
Enhance!
Specification mining can discover properties that can be used to verify the secure
behavior of closed source CISC CPU designs, properties that can be used to verify
the temporal correctness of CPU designs, and hyperproperties that can be used to
verify that modules, SoCs, and CPUs have secure information flow.
Background
My subject:
I study physical devices that either think, or do something an awful lot like thinking.
My technique:
I use code that is ran *on the devices I study* to measure how these devices think... or whatever they do instead of thinking.
Course Description
Artifical intelligence, machine learning, big data, and large scale computing have captured the collective imaginations of millions people across a range of technical expertise.
Yet each of these buzzwords is rooted in a central promise: that machines may think.
Guided by student inquiry, we will learn how to construct thinking - or the appearance thereof - from basic computation.
Using the shared language of computer code, we use programming as a way to bridge the gap between thinking humans and thinking machines.
With this shared experience, we will be able to reflect more thoughtfully on the implications of thinking machines on the self, culture, and society.
student inquiry
Let’s start the class off right away with an exercise designed for:
You can remove the "Code" block by clicking the trashcan
Share with your group and with me!
Question #1
What are the goals of a university education?
Think about a possible answer on your own
Discuss your answers with the rest of the group
Record a summary of each group’s discussion
Question #2
How does a person learn something new?
Think about a possible answer on your own
Discuss your answers with the rest of the group
Record a summary of each group’s discussion
Question #3
What do you reasonably expect to remember from your courses in 20 years?
Think about a possible answer on your own
Discuss your answers with the rest of the group
Record a summary of each group’s discussion
Question #4
What is the value of making mistakes in the learning process?
Think about a possible answer on your own
Discuss your answers with the rest of the group
Record a summary of each group’s discussion
Question #5
How do we create a safe environment where risk taking is encouraged and productive failure is valued?
Think about a possible answer on your own
Discuss your answers with the rest of the group
Record a summary of each group’s discussion
Closing Thoughts
Try! You will have to try very hard to work through this material. Trying is exactly what we’re after since it is ultimately what leads to innovative thinking.
Fail! More accurately, don’t be afraid to fail. You should write code, work problems, and form opinions then be completely unafraid to scrap what you’ve done and redo it from scratch.
Collaborate! You should collaborate with your peers with the following caveat:
Make sure to take the time you need to understand material yourself!
We learn best when we all learn together!
Enjoy! Part of the fun is that you get to experience what it is like being a scientist. It takes hard work but ultimately this should be fun!