I'm a grad student at UC Berkeley in the computer science department. Alex Aiken is my adviser. With my research I hope to create or improve tools and techniques that make programs faster, more secure, and less buggy. I'm planning to graduate and start work in Summer 2008.
Lately I've been working on trend-prof, a tool that measures the empirical computational complexity of C/C++ programs. For each basic block (more or less a line of source code), trend-prof constructs a model that predicts how many times that basic block is executed as a (linear or power law) function of input size or other features the user specifies. These models measure how the code scales on realistic inputs. Comparing these models to the programmer's expectations or to theoretical asymptotic bounds can reveal performance bugs, confirm that a program scales as expected, or show that a program beats its worst case bound for real-world inputs. This research is joint work with Alex Aiken and Daniel Wilkerson.
Measuring Empirical Computational Complexity. (pdf) (ps) (ps.gz) S. F. Goldsmith, A. Aiken, and D. S. Wilkerson. In Proceedings of the Symposium on Foundations of Software Engineering (acceptance rate 43/251; 20 other papers accepted as posters), September 2007. Slides (pdf) from my FSE talk. Bibtex for this paper. Link to this paper at ACM
Relational Queries Over Program Traces (pdf) (ps) (ps.gz). S. Goldsmith, R. O'Callahan, and A. Aiken. In Proceedings of the 2005 Conference on Object-Oriented Programming, Systems, Languages and Applications (acceptance rate: 29/142), October 2005. (Replaces the tech report from spring of 2004.) Slides (pdf) from my OOPSLA talk. Bibtex for this paper. Link to this paper at ACM .
I have a BS in computer science, some fond memories, and a eclectic bunch of friends from Carnegie Mellon University.
I've been playing some bridge lately. I used to play a lot of go, but it's been a while.
I used to play nethack. I've recovered the amulet of Yendor and ascended to demigodhood.
I like to read some subset of Penny Arcade, Piled Higher and Deeper, The Onion, The New York Times, Google News, Schneier on Security, Lambda the Ultimate, Joel on Software with my breakfast.
"The ultimate weakness of violence is that it is a descending spiral,
begetting the very thing it seeks to destroy. Instead of diminishing evil,
it multiplies it. Through violence you may murder the liar, but you cannot
murder the lie, nor establish the truth. Through violence you murder the
hater, but you do not murder hate. In fact, violence merely increases
hate.... Returning violence for violence multiples violence, adding deeper
darkness to a night already devoid of stars. Darkness cannot drive out
darkness; only light can do that. Hate cannot drive out hate; only love can
do that. "
--Dr. Martin Luther King, Jr.
"The large print giveth and the small print taketh away."
--Tom Waits
"It is better to light even a single candle than to curse the darkness."
--(general idea stolen from a) Chinese Proverb
"An eye for a eye will make the whole world go blind."
--Mohandas Gandhi
"If there is a problem you cannot solve,
there is an easier problem you can solve: find it."
--Polya
"Where we went wrong was getting on a boat. We can move,
of course, change direction, rattle about, but our
movement is contained within a larger one that carries
us along as inexorably as the wind and current..."
--Tom Stoppard, Rosencrantz and Guildenstern Are Dead
"...and I just try to laugh at whatever life brings
'cuz when I look down, I just miss all the good stuff
and when I look up, I just trip over things."
--Ani Difranco