Tim Sherwood, Associate, Professor, Computer Science
(interviewed Spring 2012)
Forrest Brewer, Professor, Electrical & Computer Engineering
(interviewed Winter 2012)
Chandra Krintz, Professor, Computer Science
(interviewed Summer 2011)
Steve Butner, Professor, Electrical & Computer Engineering
(interviewed Spring 2011)
Tim Sherwood, Associate Professor, Computer Science (interviewed Spring 2012)

About Professor Sherwood:
- Hometown: San Diego, CA
- Ph.D.: UC San Diego (Go Tritons!), CSE, 2003
- M.S. Degree: UC San Diego, Computer Science and Engineering
- Undergrad Degree: UC Davis (Go Aggies!), CSE, 1998
- Ph.D. Advisor: Professor Brad Calder, UCSD
- Industry Employment: Microsoft Research (Visiting Researcher)
UCSB Info:
- Tim's Personal Website
- Lab / Group: ArchLab
- Research Interests: computer architecture, secure processors, embedded systems, program analysis and characterization
- Courses: Computer Architecture (CMPCS 154); Advanced Computer Architecture (CMPCS 254); Translation of Programming Languages / Compilers (CMPCS 160) ; Trustworthiness in Embedded Systems (Special Topic / CMPCS 290E); and Senior Capstone (CMPCS 189B)
- Awards and Honors: IEEE Micro Top Pick 2003, 2006, 2009, 2010; Best Paper PACT and CGO; Northrop Grumman Teaching Award; 2012 UCSB Academic Senate Distinguished Teaching Award and more
Tell Us About Your Research:
My current research focus is on hardware/software system design under strict efficiency, safety, or security requirements. Systems responsible for controlling aircraft, regulating access to very sensitive data, and implanted in our medical devices, all deserve a level of assurance far beyond the norm. Creating these systems today is an incredibly expensive operation both in terms of time and money; and even assessing the assurance of the resulting system can cost upwards of $10,000 per line of code.
Building upon my groups experience developing novel security methods for FPGAs, we have developed a new method for building embedded systems that allow us to verify the integrity or secrecy of all information executing in that system -- from the highest levels of abstraction down to gate-level details of the digital logic implementation. While not addressing physical or analog attacks, it does include safety from covert channels, information flows introduced during refinement, implicit flows, and even timing channels. While common case performance is a powerful tool, this basic research is exploring an orthogonal direction for computer architecture: making it easier to build systems with provable properties. To demonstrate that this is really possible for non-trivial systems we developed a new hardware logic discipline for security, Gate-Level Information-Flow Tracking (GLIFT) logic, and show its effectiveness by creating a full system including: a new Instruction Set Architecture, a domain specific language and compiler, and a fully synthesizable prototype CPU all around this discipline. We recently demonstrated how such a technique can be incorporated directly into the hardware design language, and how by using our method as a static analysis technique we can support even general purpose programs with almost negligible overhead.
How and Why Did You Get Into Your Area of Research and Why UCSB? What do Find Particularly Rewarding about your Research?: Originally I fell into research by accident. I was an undergraduate looking for something productive to do over the summer and I started working with Fred Chong long before we were able to steal him away to UCSB. From that earliest experience I was hooked, it was so exciting to be at the cutting edge of technology. As an undergraduate you learn the best a field has to offer distilled down into it's purest form, as a masters student you start to see the edge of human knowledge about a subject. As a Ph.D. student you find exactly where that edge is and blast through it. When you get to those questions where the right answer is "nobody knows" and then you set off to answer them for the first time -- well that is a pretty special thing. I think that is part of the reason that going to school with both absolutely top research and a deep dedication to the students, like UCSB Engineering, is so important. You want to learn from people passionate about the field, and you want them to help guide you to that edge. I think that is what I find so rewarding about my job, bringing students to the edge of human understanding in science and engineering, and then pushing on that edge until we can move it forward.
Where Will Your Research Take You Next: I think the biggest challenge facing computer engineering today is the fact that, for all the time, effort, and money that goes into building hardware and software systems, the fact of the matter is that they are still incredibly brittle. When build a automobile today you engineer it from the ground up. You build on years of experience and a deep understanding of the materials used and how and when they fail. The fact of the matter is that the computer that sits in your laptop today was first designed decades ago when the world was a very different place -- we used to use floppy disks to move data around for goodness sake! The fact that this same old design can be patched and retooled and supercharged for so many years is really an impressive feat, but its age is really starting to show. There is only so much horsepower you can add to a model-T before you realize that something entirely new might be needed as the things that we care about change over time (like fuel efficiency!). One of the most important set of questions my lab is looking at now is how computer systems might be designed in to future to be far less brittle, to support provable notions of security, reliability, and safety, and to use orders of magnitude less power.
More on Tim's Research and Collaborations:
I just got back from a year at Microsoft and it was quite informative. It is wonderful to see first hand the role that research can play in a company, and recently we published two papers together -- the first one on allocating power effectively when making use of resistive memory technologies, and the second one on using ideas from cryptography to address problems encountered in designing secure microprocessor key storage when attackers can dismantle your chips. The best collaborations are when you have many people from different disciplines and backgrounds all learning from each other -- for example I have recently been learning about memristor physics from Dmitri Strukov and formal semantics from Ben Hardekopf while I have been teaching them about modern processor design. The biggest advances happen when we are able to make new connections between two fields that no one has ever found before.
Sherwood's Research Group and Thoughts on Working with Graduate Students
At UCSB, I co-direct the CS Computer Architecture Lab (ArchLab), where my students and I work on all manner of computer architecture problems, from circuits to systems to the applications that run on them. Computer architecture is a great field in that you can use theory, algorithms, languages, and circuits all together to attack interesting problems. My primary interest is in techniques that allow for the composition of systems with strict properties of safety, security, scalability. To tackle these types of problems we have to build the whole thing, from the logic gates, to functional units, to microprocessors, to compilers, to operating systems, all the way up to applications -- and I am really lucky to work with students that can do it all!
Forrest Brewer, Professor, Electrical & Computer Engineering (interviewed Winter 2012)

About Professor Brewer:
- Hometown: Arvada, Colorado
- Ph.D.: University of Illinois, Computer Science, 1988
- M.S. Degree: University of Illinois, Computer Science, 1985
- Undergrad Degree: Caltech, Physics (honors), 1980
- Industry Employment: Northrop Corporation, 1981-1985
UCSB Info:
- Lab / Group: High Level Design/Synthesis
- Research Interests: VLSI Design and Architecture, System Level Tools and Specification
- Courses: VLSI Architecture and Design / Advanced VLSI Architecture and Design (ECE 124D / 256C), Hardware - Software Interface / Embedded System Design (ECE 153A / 253), VLSI Project Design / Testing (ECE 224),Logic Design Automation / Algorithmic Logic Synthesis (ECE 256B/D)
Tell Us About Your Research:
My research is in system level design automation of mixed analog/digital and hardware/software systems. Low power, high-performance control system implementations in FPGA/ASIC. Formal logic based optimization and design at the system level. Digital systems engineering in highly constrained environments such as very low power digital, radiation hardened digital and analog interface design. Communication network automated protocol synthesis (with V. Rodoplu), system level machine identification (with Li.C. Wang) and mixed digital/analog integrated control for chemical and bio-inspired in-vitro chip design (with L. Theogarajan).
How and Why Did You Get Into Your Area of Research and Why UCSB?: I decided against a career in theoretical physics largely because I desired the possibility of more real-world impact. Turning to engineering, I spent several years in industry designing very high performance signal processing and multi-dimensional control systems at the dawn of the computer integration in those fields. My graduate work ended up in Design Automation which merged the physics, software tools and modeling aspects and hardware system design that was my interest. UCSB was clearly an up-and-coming school in ECE where there was potential to grow into a unique locale.
What do you Find Particularly Rewarding about your Research?: I am happiest when a idea pans out with a graduate student — every couple years, you get to a point or concept that is completely new. There is also the very personal rewards when a student manages to finish a difficult thesis or lands a dream job.
Where Will Your Research Take You Next: I am looking into the practicality of automated synthesis of 1-bit sigma-delta designs in FPGAs and ASIC. This presents a serious challenge as the SNR of the 1-bit signals is typically 1 part in 50. The upshot is that many classical techniques have massive noise and aliasing problems. We are looking at formal digital induction and game-theoretic techniques to verify correct operation.
More on Forrest's Research
- Do you collaborate with industry? Other groups outside of UCSB?: I consult in the area of Integrated Circuit design and more recently in low-power embedded system design. I am on the technical advisory board of Atrenta Corp. and have served on technical start-up teams for two other companies. I am currently involved in a mobile embedded system startup and a technical consulting contractor (radiation engineering and software tools and modeling).
- Do you collaborate with other UCSB faculty and departments?: I am in a joint effort with Kim Turner of Mechanical Engineering,a MEMS-based accelerometer using quantum-tunneling was successfully placed under closed-loop control with a 40kHz+ loop rate.
Forrest's Research Group and Thoughts on Working with Graduate Students
My lab consists of five graduate and three undergraduate students with two students in system level hardware/software synthesis, one student in constrained environment digital and analog engineering, two students in control system low power and 1-bit sigma-delta design, and two joint students with Li. C. Wang and Volkan Rodoplu in the areas of digital system test-based identification and constrained network protocol synthesis. The two system level students work in transaction-based synthesis of hardware/software systems in concert with an SRC/NSF program. The constrained digital student is working on analog/digital synthesis for the Rad-Hard environment of the CERN LHC experiments. Last but not least, the undergraduate students are working on what is now a Capstone Project consisting of an inexpensive FPGA based control appliance with versions aimed at research in MEMS and Chemical/Physical process and experimentation and another aimed at the controls lab teaching needs.
Chandra Krintz, Professor, Computer Science (interviewed Summer 2011)
About Professor Krintz:
- Hometown: Morocco, Indiana
- Ph.D.: U. of California, San Diego, Computer Science, 2001
- M.S. Degree: U. of California, San Diego, Computer Science, 1998
- Industry Employment: Microsoft Research (Intern), IBM Research (Intern), Locus/Platinum Computing (Software Engineer)
UCSB Info:
- Chandra's Personal Website
- Lab / Group: Lab for Research on Adaptive Computing Environments (RACELab)
- Research Interests: Runtime Systems and Programming Support for Cloud Computing, High-level Languages, and Mobile Computing; Dynamic and Adaptive Optimization, Monitoring, Customization of Software and Systems
- Courses: Programming Language Implementations, Hardware/Software Interfaces, OO Computing, Cloud Computing, SWE
- Publications: Krintz's Publication List
- Top Publication: Cross-Language, Type-Safe, and Transparent Object Sharing For Co-Located Managed Runtimes
- Honors and Awards: NSF CAREER, CRA-W Anita Borg Early Career Award, UCSB Distinguished Teaching Award, COE Teaching Award, ACM & IEEE Senior member
Tell Us About Your Research:
I'm interested in improving the performance, energy efficiency, and ease of use of software systems and applications. In particular, my group focuses on techniques that help us understand the behavior of and to optimize programs written in high-level languages (Java, Python, Ruby, and others) that execute over the internet and/or distributed computer systems. Our techniques efficiently monitor and predict the behavior of programs as they run, and use this information to optimize all layers of the software stack.
My group recently has developed a new computing platform for cloud systems called AppScale. AppScale facilitates cloud computing research and implements the Google App Engine (GAE) APIs (emulating the GAE cloud). AppScale implements a number of different database back-ends, a map-reduce interface, support for computational and data-intensive workloads, as well as performance and resource monitoring for automatic scaling. My group employs AppScale to investigate the next-generation of distributed programming systems.
How and Why Did You Get Into Your Area of Research?: I found my area of interest the way many students find theirs: by trying out different things. When pursuing my PhD, I started out in Artificial Intelligence (because the group gave away free pizza all right, I was a starving student). I investigated information theory and cryptography because I found an amazing professor with whom I liked working. I then realized that my true calling was programming systems (because I wrote programs to implement the theory instead of coming up with the theory myself :) and because the potential of Internet computing and related technologies was so compelling). My interests in this area have evolved but have not waned; my particular foci over time have included mobile computing, sensor network systems, managed runtime systems (Java/.Net virtual machines), hand-held and microcontroller-based systems, interpreted language runtimes (Python, Ruby), distributed/Internet computing, and cloud systems.
What do you Find Particularly Rewarding about your Research?: I love being able to work on hard problems that are important to industry, researchers and developers, and to the world around us. Programming technologies and devices change rapidly so there are always interesting directions to pursue and learn about. I never get bored. In addition, I love the intellectual autonomy and challenges that research enables. Finally, I get to work on these problems with amazingly bright colleagues and students who constantly inspire and energize me.
Where Will Your Research Take You Next: My group and I are on the bleeding edge of cloud computing and programming systems and, the two are intertwined. I plan to investigate how to make writing efficient programs for cloud systems easier so that doing so can be done by a broader user base (scientists, data analysts, students, artists, ...) so that we all can more easily take advantage of the vast resources and potential that cloud systems offer. I also plan to continue investigating clever and useful ways of making the programs that we write more energy efficient, performant, and scalable.
More on Chandra's Research
- Do you collaborate with industry? Other groups outside of UCSB?: I collaborate (and have collaborated in the past) with researchers at Microsoft Research, IBM Research, Google, Intel, and other companies. Our collaborations have targeted high-level language virtual machine technologies (profiling, dynamic and adaptive optimization of programs, and garbage collection).
- Do you collaborate with other UCSB faculty and departments?: I collaborate with multiple faculty at UCSB as well. We combine our expertise, experiences and interests to pursue research in systems and software (e.g. in the areas of cloud computing, sensor networking, hardware/software interoperation, and static and dynamic program analysis).
Chandra's Research Group and Thoughts on Working with Graduate Students
My research group typically consists of 4-5 PhD students, 4-5 MS students, and multiple undergraduates. My students work together or on their own depending on their interests, work styles, and experience. We have both group meetings and individual meetings depending on the needs of the students.
Steve Butner, Professor, Electrical and Computer Engineering (interviewed Spring 2011)
About Professor Butner:
- Hometown: Topeka, Kansas
- Ph.D.: Stanford University, Electrical Engineering
- M.S. Degree: U. of Pennsylvania (Moore School), EE
- Research Interests: Computer System Design, Special-purpose Processors, High-reliability Systems, Robotics, Image Acquisition
- Lab / Group Name: UCSB Computer Architecture Lab
- Industry Employment: consultant to InTouch Health, CaceTech, Siemens, Allen-Bradley, USN-Pacific Missile Test Center, Micron Technology, Hesson Labs
- Awards and Honors: UCSB Academic Senate Distinguished Teaching Award for 2006-2007 and Computer Engineering Outstanding Faculty Award in 2002, 2003, 2005-2010
- Courses of Instruction: Computer Engineering Senior Capstone Project (ECE 189A/B) and Sensor and Peripheral Interface Design (ECE153B)
Professor Butner was asked to profile his ECE 189A/B course for this spotlight. Steve has instructed the ECE version of the Senior Capstone Course / Project for nine of its 10 years.
Tell us about the Computer Engineering Senior Capstone course and project:
The Capstone project course (ECE 189A/B) is an opportunity for students to put into practice what they have learned throughout their undergraduate career by participating in a complete idea-to-prototype project development. Requirements for the course include working in a small group to create unique digital hardware and software and demonstrating it as a working project on Capstone Presentation Day.
The Senior Capstone course is a two quarter course, explain what students do each quarter:
- Fall Quarter (ECE 189A): the project idea is developed and refined. Project groups are formed. Groups meet with the instructor and the teaching assistant to subdivide project goals into realizable subsystems. Group members are encouraged to specialize on a subsystem or two of their choice and gradually throughout the quarter the digital hardware design of the project starts to come together. There are many devices and parts to select and order. There are schematics to be drawn and ultimately, by the end of the quarter, the layout of a printed circuit board emerges. Final deliverables from fall quarter are the project schematics, the project bill of materials, and computerized artwork files for printed circuit fabrication and assembly. While students are taking other non-capstone classes, we arrange for the fabrication of the hardware that they designed during fall quarter.
- Spring Quarter (ECE 189B): When they come back for spring quarter there is much to do to power-up, debug, and verify the platforms. Once the hardware subsystems start to work reliably then the task of software creation and debugging begins. As entire subsystems start to realize their intended functionality, they are integrated to form one overall project. At the end, posters and a presentation are created. Everyone gets together on Capstone Presentation Day to explain and proudly display the results of more than two quarters of hard work.
Tell us about the Capstone Presentation Day: The Capstone event is a public gathering. Students from ECE189A/B combine with others from CS189A/B and ECE188A/B to make a full day of activities. Normally there are morning (CS189A/B) and afternoon (ECE189A/B & ECE188A/B) sessions comprised of 20-30 minute presentations about projects from the courses. There is a noon-time poster session where everyone demonstrates their projects to the public. Free pizza is provided and, all around, it is a festive atmosphere with attendance from other engineering departments, from local industry, and by parents and family for those who are close enough to make the trip.
What is it like for students to work in a group?: There isn't really any "magic" formula for learning to work in teams. The best advice I can give is for each student to make his or her own commitments and then follow through on them such that the other team members develop a strong sense of trust and respect. Ultimately the entire team sinks or swims together so a sense of camaraderie and trust tends most often to lead to a job well done.
What it's like to work in the lab: In the spring quarter especially the focus shifts from creating/designing to debugging/verifying. The Computer Engineering Instructional Lab (HFH-4118) becomes the place where each of the project pieces are powered up, then debugged, then ultimately integrated with others. By the middle part of spring quarter most projects are starting to take shape and teams start to build up subsystem tests and mini-demos. These lead to ever more full-scale project demonstrations until each and every aspect of the project is working. It is hard to answer the question "what's it like in the lab?" because every project and every group is different. There are groups who spend a significant fraction of their waking hours (and even some of their non-awake hours) while other groups are able to complete their check-out and integration in an efficient and timely manner. Learning to work effectively in the lab is an important side-effect of this course, though some students only seem to learn this by reflecting back on the whole experience.
Most difficult concept for the students to learn: There are several areas that come to mind. First is time management. Second is learning to work effectively in groups. Third is learning to manage details and learning to conquer complexity by subdividing and taking a stepwise approach.
Explain the role of the Teaching Assistant (TA): The teaching assistant works hand-in-hand with the instructor, doing everything except lecturing. Much of the spring quarter direct contact time is spent meeting with individual project groups to review current progress and suggest approaches to solving current problems. The TA is also an important source of help for the students while in the testing and integration phase.
Have any of the projects spun off into start-ups?: I'm aware of a couple groups who spun off into a start-up. In each case it was not that the capstone project directly turned into a product but rather it was the people in the project group, who had learned to trust and respect one another enough that the group formed into a company. One example was Matt Vlasach, Taylor Boyko, Brian DeRenzi, S. Prasad, and David Trainor who did the InfoPoint project in 2005/2006. These students leveraged their ECE189 group chemistry to found Pacific Swell Networks in the Los Angeles area.
Your favorite project, most difficult project, and favorite video:
- Favorite: It is difficult to choose a favorite though one project does seem to rise above the others... literally. A few years ago one of the projects purchased a mini-blimp kit. It was one of those radio-controlled helium-filled blimps that you might see flying around at an NBA game. The students took the electronics out of it and built their own controls, which included a small B/W camera and radio downlink.
- Difficult: It is a bit easier to choose the most difficult project. One that comes to mind first was called BalanceBot. It was a two-wheeled autonomous robot that was supposed to drive around on two wheels while maintaining balance. Unfortunately, the students who chose this project had not had enough controls courses; naturally they found it extra challenging to keep everything in balance. And, the homemade mechanical aspects of this project made their task even tougher. A word to the wise: make sure you choose a project that you can handle!
- Favorite video: Although there are many good videos, the first Capstone video "Sentry Robot" set the standard and capstone spirit that all videos aspire to capture.
Explain how the field of computer engineering and the Capstone course and projects have evolved over the past 10 years: Naturally, in the time we have been doing capstone projects there has been a great deal of advancement in the computer industry. Integrated circuits, particularly processors, have become more capable and their packaging has dramatically shrunk in size. The packaging size change sounds like a good thing but in truth it makes our job harder. Working with aggressively small packaging makes prototyping much more difficult because individual signals and interfaces become increasingly harder to access due to their diminished size. To some extent the capstone projects over the years have followed the industry curve toward more complexity and capability, though the limitation that has the single strongest influence on capstone projects is the time available (still just 2 quarters) and that has not changed. In that sense we are doing a great deal more with less. We are taking on projects with increasing complexity which requires a lot more time to understand and to learn to apply the more capable technology even though the amount of time available has stayed the same.
For more information about the Capstone Course / Projects: