Susan B. Horwitz
Professor Emerita
Computer Sciences Department
University of Wisconsin-Madison
1210 West Dayton Street
Madison, WI 53706-1685
USA
Born: January 6, 1955
Died: June 11, 2014
Commemorative Material:
Ph.D., Cornell University, 1985
(Wikipedia,
Google Scholar,
DBLP,
Microsoft Academic Search,
Citeseer
)
Contents
Research Interests:
- language-based programming environments
- program slicing, differencing, and merging
- static analysis of programs
- interprocedural dataflow analysis
My work mainly involves the design and implementation
of language-based programming tools that help programmers with problems like:
- understanding how existing programs work, and how they would be affected
by proposed modifications;
- understanding the textual, structural, and semantic differences between
two versions of a program;
- retesting a program after changing it;
- combining pieces of old programs to produce a new program, with certain
semantic guarantees.
This work has involved the use of a program representation called the
program dependence graph (PDG), and an operation called slicing.
I am also working on new algorithms for precise, interprocedural
dataflow analysis, and for pointer analysis.
Honors and Awards:
- Speeding up Slicing
(Proceedings of the ACM SIGSOFT Symposium on the Foundations of
Software Engineering,
December 1994, with T. Reps, M. Sagiv, and G. Rosay);
Selected in 2011 to receive one of four ACM SIGSOFT Retrospective
Impact Paper awards.
- University of Wisconsin College of Letters and Sciences Honors Program
Distinguished Honors Faculty Award, 2011;
- Interprocedural Slicing using Dependence Graphs
(Proceedings of the SIGPLAN '88 Conference on Programming
Language Design and Implementation,
June 1988, with T. Reps and D. Binkley);
Selected in 2003 as one of the 50 best papers to appear in the
PLDI conference in the last 20 years (1979 - 1999) and published in
20 Years of the ACM SIGPLAN Conference on Programming Language
Design and Implementation (1979 - 1999): A Selection,
ACM SIGPLAN Notices, Volume 39, Number 4 (2004).
- University of Wisconsin Computer Sciences Department Carolyn Rosner
Excellent Educator Award, 1997;
- Wisconsin Hilldale Undergraduate/Faculty Research Award, 1993;
- University of Wisconsin SACM Student's Choice Professor of the Year
Award, 1993;
- University of Wisconsin William H. Kiekhofer Excellence in Teaching
Award, 1993;
- University of Wisconsin College of Letters and Sciences
Teaching Excellence Award, 1992;
- NSF Presidential Young Investigator Award, 1989;
- University of Wisconsin SACM Student's MVP (Most Valued Professor)
Award, 1989;
- University of Wisconsin Computer Sciences Department Teaching Award,
1987.
Patents:
- Interprocedural Slicing using Dependence Graphs (With D. Binkley and
T. Reps.) Granted 1992.
PhD Students:
- Thomas Ball
- Raghavan Komondoor
- Wuu Yang (Supervised jointly with T. Reps)
- Suan Yong
Masters Students:
- Samuel Bates
- Rebecca Hasti
- Rich Joiner
- Marc Shapiro
Publications
2014
2012
-
Aung, M., Horwitz, S., Joiner, R., and Reps, T.
Executable slicing via procedure specialization.
TR-1711, Computer Sciences Department, University of Wisconsin,
(March 2012).
[abstract;
paper]
2010
-
Horwitz, S., Liblit, B, and Polishchuck, M.,
Better Debugging via Output Tracing and Callstack-Sensitive Slicing.
IEEE Transactions on Software Engineering
Vol 36 No 1,
(January 2010)
abstract and purchase link
2009
-
Horwitz, S. and Rodger, S.,
Using Peer-Led Team Learning to Increase Participation
and Success of Under-represented Groups in Introductory
Computer Science.
Fortieth ACM Technical Symposium on Computer Science Education
(SIGCSE 2009)
(March 2009).
[abstract;
paper]
-
Smith, R. and Horwitz, S.,
Detecting and Measuring Similarity in Code Clones.
In Proceedings of the 3rd International Workshop on Software Clones
(IWSC'2009)
(March 2009).
[abstract;
paper]
2005
-
Yong, S. and Horwitz, S.,
Using Static Analysis to Reduce Dynamic Analysis Overhead.
Formal Methods in System Design Journal (FMSD)
(November, 2005).
[abstract;
paper,
(c) Springer-Verlag]
2004
-
Yong, S. and Horwitz, S.,
Pointer-Range Analysis.
In Proceedings of the 11th International Symposium on Static Analysis,
(Verona, Italy, August 25-27, 2004),
[abstract;
paper,
(c) Springer-Verlag]
2003
-
Yong, S. and Horwitz, S.
Protecting C Programs from Attacks via Invalid Pointer Dereferences..
In Proceedings of the 10th ACM SIGSOFT International Symposium on Foundations of Software Engineering,
(Sept 2003, Helsinki Finland),
pp. 307-316.
-
Allen, M. and Horwitz, S.
Slicing Java programs that throw and catch exceptions.
In Proceedings of the ACM SIGPLAN 2003 Workshop on Partial Evaluation and Semantics Based Program Manipulation
(June, 2003).
-
Komondoor, R. and Horwitz S.
Effective, Automatic Procedure Extraction.
In Proceedings 11th IEEE International Workshop on Program Comprehension,
(Portland, Oregon, May 10-11, 2003).
2002
-
Komondoor, R. and Horwitz S.
Eliminating Duplication in Source Code via Procedure Extraction.
UW-Madison Dept. of Computer Sciences Technical Report 1461,
(December, 2002).
[abstract,
postscript,
pdf]
-
Yong, S. and Horwitz, S.
Reducing the Overhead of Dynamic Analysis.
In Proceedings RV'02 (Second Workshop on Runtime Verification),
(Copenhagen, Denmark, July 26, 2002).
-
Chakaravarthy, V. and Horwitz, S.
On the Non-Approximability of Points-to Analysis.
Acta Informatica
Vol. 38, Issue 8,
(June, 2002).
-
Horwitz, S.,
Tool support for improving test coverage.
In Proceedings of ESOP 2002: European Symposium on Programming,
(Grenoble, France, April 8-12, 2002).
[abstract;
paper,
(c) Springer-Verlag]
-
Kumar, S. and Horwitz, S.,
Better slicing of programs with jumps and switches.
In Proceedings of FASE 2002: Fundamental Approaches to Software Engineering,
(Grenoble, France, April 8-12, 2002).
[abstract;
paper,
(c) Springer-Verlag]
2001
-
Komondoor, R. and Horwitz, S.,
Using slicing to identify duplication in source code.
In Proceedings of the 8th International Symposium on Static Analysis,
(Paris, France, July 16-18, 2001),
[abstract;
paper,
(c) Springer-Verlag]
-
Komondoor, R. and Horwitz, S.,
Tool Demonstration: Finding duplicated code using program dependences.
In Proceedings of ESOP 2001: European Symposium on Programming,
(Genoa, Italy, April 2-6, 2001).
[paper,
(c) Springer-Verlag]
-
Loginov, A., Yong, S.H., Horwitz, S., and Reps, T.,
Debugging via run-time type checking.
In Proceedings of FASE 2001: Fundamental Approaches to Software
Engineering,
(Genoa, Italy, April 2-6, 2001).
[abstract;
paper,
(c) Springer-Verlag]
2000
1999
1998
1997
-
Shapiro, M., and Horwitz, S.,
The effects of the precision of pointer analysis.
Static Analysis 4th International Symposium, SAS '97,
Lecture Notes in Computer Science Vol 1302,
(September 1997)
[abstract;
paper,
(c) Springer-Verlag]
-
Horwitz, S.,
Precise flow-insensitive may-alias analysis is NP-hard.
ACM Transactions on Programming Languages and Systems
Vol 19 No 1,
(January 1997).
-
Shapiro, M., and Horwitz, S.,
Fast and accurate flow-insensitive points-to analysis.
In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on
Principles of Programming Languages,
(Paris, France, January 1997).
1996
1995
-
Horwitz, S., Reps, T., and Sagiv, M.,
Demand interprocedural dataflow analysis.
In Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software
Engineering,
(Washington DC, October 1995).
-
Reps, T., Sagiv, M., and Horwitz, S.,
Precise interprocedural dataflow analysis via graph reachability.
In Conference Record of the Twenty-Second ACM Symposium on Principles
of Programming Languages,
(San Francisco CA, January 1995).
1994
-
Reps, T., Horwitz, S., Sagiv, M., and Rosay, G.,
Speeding up slicing.
In SIGSOFT '94: Proceedings of the Second ACM SIGSOFT Symposium on
the Foundations of Software Engineering,
(New Orleans, LA, December 7-9, 1994),
ACM SIGSOFT Software Engineering Notes
19, 5
(December 1994),
pp. 11-20.
[abstract;
PostScript;
PDF]
1993
-
Bates, S., and Horwitz, S.,
Incremental program testing using program dependence graphs.
In Conference Record of the Twentieth ACM Symposium on Principles
of Programming Languages,
(Charleston, SC, January 1993).
-
Ball T., and Horwitz, S.,
Slicing programs with arbitrary control flow.
In Proceedings of the 1st International Workshop on Automated and
Algorithmic Debugging, Springer-Verlag Lecture Notes in Computer Science,
Vol. 749,
(May 1993).
[paper,
(c) Springer-Verlag]
1992
1991
-
Horwitz, S., and Reps, T.,
Efficient comparison of program slices.
ACTA Informatica 28 (1991), 713-732
[paper,
abstract.]
1990
-
Horwitz, S.,
Identifying the semantic and textual differences between two versions of a
program.
In Proceedings of the SIGPLAN 90 Conference on Programming Language
Design and Implementation,
(White Plains, NY, June 1990).
-
Horwitz, S., Reps, T., and Binkley, D.,
Interprocedural slicing using dependence graphs..
ACM Transactions on Programming Languages and Systems 12, 1
(January 1990), 26-60.