|
Sudheendra Hangal's Home Page |
My permanent email address is hangal AT cs.stanford.edu
Experimental: People connected to me on Facebook can retrieve my full contact information here.
Update: I am looking for summer students to work with me on a research project in the program analysis area. Please contact me if you are interested.
Publications page
Project pages: TSOtool IODINE DIDUCE ACROSS (Fast Simulation) UniFi
I am a co-founder of Magic Lamp Software, which provides comprehensive audit solutions for detecting errors and security vulnerabilities in enterprise Java code, based on advanced program analysis technology. For the last 10 years or so, my work has revolved around the creation of innovative methods to make computer systems more reliable. Broadly my thesis has been that hardware design can be improved by using many of the innovative ideas in the software engineering world; and software can be made more reliable by bringing to it the rigorous methods of hardware engineering.
Prior to Magic Lamp, I was a verification architect in the microprocessor division at Sun Microsystems. This involved developing innovative strategies for ensuring that Sun's processors and systems operate correctly and reliably. Verification is one of the biggest challenges in designing processors like the Niagara series. Some of the new technologies I pioneered while at Sun are in the following areas:
1) Verification of multiprocessor systems: We devised a program called TSOtool that helps in verifying the correctness of shared memory multiprocessors. TSOtool has exposed bugs in every Sun processor designed in the last few years. (Project page)
2) Formal verification: We tackled one of the obstacles to using formal verification technologies during hardware design, viz. the need to manually write down properties to be verified. IODINE uses dynamic invariant detection to automatically infer potential invariants from design simulations. The idea was motivated by my work on the DIDUCE project, which detects and checks invariants in software programs. (Project page)
3) Fast and accurate simulation: We developed a technique to checkpoint architectural state of a program on a C-level processor simulator and restart it on a hardware (Verilog) model of the processor. This is very useful to measure performance of the design and find design bugs before tapeout. We used it successfully to predict performance of the picoJava and UltraJava (MAJC) processors, and moreover exposed design bugs before tapeout. (IEEE Micro Paper)
I also developed a cool debugging tool called DIDUCE at Stanford (jointly with my advisor, Monica Lam), which is based on inferring dynamic invariants from program runs. "Presumed invariants" from DIDUCE can be used in in a variety of ways. One way is to turn these invariants into assertions or warnings to tell programmers when the program does something anomalous, which could represent an error or a corner-case - useful information in either case. Our ICSE-2002 paper describes how we used it to find bugs in four large software systems we had no prior knowledge about. (Project Page)
Released Software: (Coming soon)
Slides for some external talks:
Sun's Processor Roadmap, TSOtool, DIDUCE, IODINE, Verifying Memory Consistency, Dynamic Analysis (coming soon)
Pet peeves and what's cool:
I'm also interested in Human-computer interaction these days. I love the
ambient orb and
similar "glanceable," calm user interface devices.
With the proliferation of WiFi, every point in people's homes
is on the network anyway; and using intelligent devices
allows creation of a variety of interesting applications, without
having to pay for proprietary Ambient "channels". (An idea that is demonstrated by the Chumby.)
The Stanford Reader is the result of a study of interaction techniques to ease the task of reading long documents on a mobile device.
Some useful notes on setting up and using an OLPC. However, the general state of software on this laptop is disappointing.
Suman Sangam, an ecological farm on the outskirts of Dharwad, India.
RISKS is sometimes funny, sometimes sad, and always a good storehouse for ideas on problem detection.
News Media: Deccan Herald e-paper (Greasemonkey script that re-lays out the pages and makes reading easier), Tehelka e-mag, Global Post
My Sun blog is out of date and probably going away soon.