Also see my research interests, statement of accomplishments, and the publications of the entire Program Analysis Group.
“How do programs become more concurrent? A story of program transformations”
by Danny Dig, John Marrero, and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2008-053, (Cambridge, MA), September 5, 2008.
Details.
Download:
PDF,
PostScript.
“Practical pluggable types for Java”
by Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, and Michael D. Ernst.
In ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis, (Seattle, WA, USA), July 22-24, 2008.
Details.
Download:
PDF,
PostScript,
Papi thesis (PDF),
Checker Framework implementation.
A tool demonstration appeared as
“Compile-time type-checking for custom type qualifiers in Java”
by Matthew M. Papi, Mahmood Ali, and Michael D. Ernst.
In Companion to Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2008), (Nashville, TN, USA), October 21-23, 2008.
A tool demonstration appeared as
“Building and using pluggable type systems with the Checker Framework”
by Michael D. Ernst.
In ECOOP 2008 — Object-Oriented Programming, 22nd European Conference, (Paphos, Cyprus), July 9-11, 2008.
A tool description appeared as
“Compile-time type-checking for custom type qualifiers in Java”
by Matthew M. Papi and Michael D. Ernst.
In Companion to Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2007), (Montréal, Canada), October 23-25, 2007, pp. 809-810.
A previous version appeared as
“Pluggable type-checking for custom type qualifiers in Java”
by Matthew M. Papi, Mahmood Ali, Telmo Luis Correa Jr., Jeff H. Perkins, and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-047, (Cambridge, MA), September 17, 2007.
“Finding bugs in dynamic web applications”
by Shay Artzi, Adam Kieżun, Julian Dolby, Frank Tip, Danny Dig, Amit Paradkar, and Michael D. Ernst.
In ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis, (Seattle, WA, USA), July 22-24, 2008.
Details.
Download:
PDF,
PostScript.
A previous version appeared as IBM T.J. Watson Research Center technical report RC24528, (Hawthorne, NJ), April 2, 2008.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2008-006, (Cambridge, MA), February 6, 2008.
“ReCrash: Making software failures reproducible by preserving object states”
by Shay Artzi, Sunghun Kim, and Michael D. Ernst.
In ECOOP 2008 — Object-Oriented Programming, 22nd European Conference, (Paphos, Cyprus), July 9-11, 2008, pp. 542-565.
Details.
Download:
PDF,
PostScript,
ReCrash implementation.
A previous version appeared as
“ReCrash: Making crashes reproducible”
by Sunghun Kim, Shay Artzi, and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-054, (Cambridge, MA), November 20, 2007.
“Inference of reference immutability”
by Jaime Quinonez, Matthew S. Tschantz, and Michael D. Ernst.
In ECOOP 2008 — Object-Oriented Programming, 22nd European Conference, (Paphos, Cyprus), July 9-11, 2008, pp. 616-641.
Details.
Download:
PDF,
Quinonez thesis,
Javarifier implementation.
A tool description appeared as
“Tools for enforcing and inferring reference immutability in Java”
by Telmo Luis Correa Jr., Jaime Quinonez, and Michael D. Ernst.
In Companion to Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2007), (Montréal, Canada), October 23-25, 2007, pp. 866-867.
“Quantitative information flow as network flow capacity”
by Stephen McCamant and Michael D. Ernst.
In PLDI 2008, Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, (Tucson, AZ, USA), June 9-11, 2008, pp. 193-205.
Details.
Download:
PDF,
PostScript,
Flowcheck implementation.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-057, (Cambridge, MA), December 10, 2007.
A previous version appeared as
“Quantitative information-flow tracking for C and related languages”
by Stephen McCamant and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2006-076, (Cambridge, MA), November 17, 2006.
“Theories in practice: Easy-to-write specifications that catch bugs”
by David Saff, Marat Boshernitsan, and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2008-002, (Cambridge, MA), January 14, 2008.
Details.
Download:
PDF,
PostScript.
“The Daikon system for dynamic detection of likely invariants”
by Michael D. Ernst, Jeff H. Perkins, Philip J. Guo, Stephen McCamant, Carlos Pacheco, Matthew S. Tschantz, and Chen Xiao.
Science of Computer Programming, vol. 69, no. 1--3, Dec. 2007, pp. 35-45.
Details.
Download:
PDF,
Daikon implementation.
“Annotations on Java types: JSR 308 working document”
by Michael D. Ernst.
November 12, 2007.
Details.
Download:
current status and implementation,
original proposal.
“Combined static and dynamic mutability analysis”
by Shay Artzi, Adam Kieżun, David Glasser, and Michael D. Ernst.
In ASE 2007: Proceedings of the 22nd Annual International Conference on Automated Software Engineering, (Atlanta, GA, USA), November 7-9, 2007, pp. 104-113.
Details.
Download:
PDF,
PostScript.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-020, (Cambridge, MA), March 23, 2007.
A previous version appeared as
“Combined static and dynamic mutability analysis”
by Shay Artzi, Michael D. Ernst, David Glasser, and Adam Kieżun.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2006-065, (Cambridge, MA), September 18, 2006.
“Which warnings should I fix first?”
by Sunghun Kim and Michael D. Ernst.
In ESEC/FSE 2007: Proceedings of the 11th European Software Engineering Conference and the 15th ACM SIGSOFT Symposium on the Foundations of Software Engineering, (Dubrovnik, Croatia), September 5-7, 2007, pp. 45-54.
Details.
Download:
PDF.
“Object and reference immutability using Java generics”
by Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kieżun, and Michael D. Ernst.
In ESEC/FSE 2007: Proceedings of the 11th European Software Engineering Conference and the 15th ACM SIGSOFT Symposium on the Foundations of Software Engineering, (Dubrovnik, Croatia), September 5-7, 2007, pp. 75-84.
Details.
Download:
PDF,
PostScript,
IGJ implementation.
A tool demonstration appeared as
“Enforcing reference and object immutability in Java”
by Mahmood Ali, Yoav Zibin, Matthew M. Papi, and Michael D. Ernst.
In Companion to Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2008), (Nashville, TN, USA), October 21-23, 2008.
A previous version appeared as
“Object and reference immutability using Java generics”
by Yoav Zibin, Alex Potanin, Shay Artzi, Adam Kieżun, and Michael D. Ernst.
MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-018, (Cambridge, MA), March 16, 2007.
“A simulation-based proof technique for dynamic information flow”
by Stephen McCamant and Michael D. Ernst.
In PLAS 2007: ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, (San Diego, California, USA), June 14, 2007, pp. 41-46.
Details.
Download:
PDF,
PostScript.
“Refactoring for parameterizing Java classes”
by Adam Kieżun, Michael D. Ernst, Frank Tip, and Robert M. Fuhrer.
In ICSE'07, Proceedings of the 29th International Conference on Software Engineering, (Minneapolis, MN, USA), May 23-25, 2007, pp. 437-446.
Details.
Download:
PDF.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2006-061, (Cambridge, MA), September 5, 2006.
“Feedback-directed random test generation”
by Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball.
In ICSE'07, Proceedings of the 29th International Conference on Software Engineering, (Minneapolis, MN, USA), May 23-25, 2007, pp. 75-84.
Details.
Download:
PDF,
Randoop implementation.
A tool description appeared as
“Randoop: Feedback-directed random testing for Java”
by Carlos Pacheco and Michael D. Ernst.
In Companion to Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2007), (Montréal, Canada), October 23-25, 2007, pp. 815-816.
A previous version appeared as Microsoft Research technical report MSR-TR-2006-125, (Redmond, WA), Sep. 2006.
“Prioritizing warnings by analyzing software history”
by Sunghun Kim and Michael D. Ernst.
In MSR 2007: International Workshop on Mining Software Repositories, (Minneapolis, MN, USA), May 19-20, 2007.
Details.
Download:
PDF.
“The Groupthink specification exercise”
by Michael D. Ernst.
In Software Engineering Education in the Modern Age: Challenges and Possibilities, vol. 4309 of Lecture Notes in Computer Science, Dec. 2006, pp. 89-107.
Details.
Download:
PDF,
PostScript,
2-up PostScript,
activity materials,
optional voting software,
Second Life version.
A previous version appeared as
“The Groupthink specification exercise”
by Michael D. Ernst and John Chapin.
In ICSE'05, Proceedings of the 27th International Conference on Software Engineering, (St. Louis, MO, USA), May 18-20, 2005, pp. 617-618.
“Finding the needles in the haystack: Generating legal test inputs for object-oriented programs”
by Shay Artzi, Michael D. Ernst, Adam Kieżun, Carlos Pacheco, and Jeff H. Perkins.
In M-TOOS 2006: 1st Workshop on Model-Based Testing and Object-Oriented Systems, (Portland, OR, USA), October 23, 2006.
Details.
Download:
PDF,
PostScript.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2006-056, (Cambridge, MA), September 5, 2006.
“An empirical comparison of automated generation and classification techniques for object-oriented unit testing”
by Marcelo d'Amorim, Carlos Pacheco, Darko Marinov, Tao Xie, and Michael D. Ernst.
In ASE 2006: Proceedings of the 21st Annual International Conference on Automated Software Engineering, (Tokyo, Japan), September 20-22, 2006, pp. 59-68.
Details.
Download:
PDF.
“Inference and enforcement of data structure consistency specifications”
by Brian Demsky, Michael D. Ernst, Philip J. Guo, Stephen McCamant, Jeff H. Perkins, and Martin Rinard.
In ISSTA 2006, Proceedings of the 2006 International Symposium on Software Testing and Analysis, (Portland, ME, USA), July 18-20, 2006, pp. 233-243.
Details.
Download:
PDF,
PostScript.
“Dynamic inference of abstract types”
by Philip J. Guo, Jeff H. Perkins, Stephen McCamant, and Michael D. Ernst.
In ISSTA 2006, Proceedings of the 2006 International Symposium on Software Testing and Analysis, (Portland, ME, USA), July 18-20, 2006, pp. 255-265.
Details.
Download:
PDF,
PostScript,
DynComp implementation (distributed as part of Daikon).
“Detection of web service substitutability and composability”
by Michael D. Ernst, Raimondas Lencevicius, and Jeff H. Perkins.
In WS-MaTe 2006: International Workshop on Web Services — Modeling and Testing, (Palermo, Italy), June 9, 2006, pp. 123-135.
Details.
Download:
PDF.
“Automatic test factoring for Java”
by David Saff, Shay Artzi, Jeff H. Perkins, and Michael D. Ernst.
In ASE 2005: Proceedings of the 20th Annual International Conference on Automated Software Engineering, (Long Beach, CA, USA), November 9-11, 2005, pp. 114-123.
Details.
Download:
PDF,
PostScript.
A previous version appeared as MIT Laboratory for Computer Science technical report MIT-LCS-TR-991, (Cambridge, MA), June 7, 2005.
“Learning from executions: Dynamic analysis for software engineering and program understanding”
by Michael D. Ernst and Jeff H. Perkins.
November 7, 2005. Tutorial at ASE 2005: 20th Annual International Conference on Automated Software Engineering.
Details.
Download:
slides 1 (PDF),
slides 2 (PDF),
slides 3 (PDF),
slides 4 (PDF).
“Using predicate fields in a highly flexible industrial control system”
by Shay Artzi and Michael D. Ernst.
In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2005), (San Diego, CA, USA), October 18-20, 2005, pp. 319-330.
Details.
Download:
PDF,
PostScript.
“Javari: Adding reference immutability to Java”
by Matthew S. Tschantz and Michael D. Ernst.
In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2005), (San Diego, CA, USA), October 18-20, 2005, pp. 211-230.
Details.
Download:
PDF,
slides (PowerPoint),
extended version (PDF),
Javari implementation.
“Verification for legacy programs”
by Michael D. Ernst.
In VSTTE: Verified Software: Theories, Tools, Experiments, (Zürich, Switzerland), October 10-13, 2005.
Details.
Download:
PDF,
PostScript,
slides (PDF),
slides (PostScript).
“ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2005)”
edited by Michael D. Ernst and Thomas Jensen.
September 5-6, 2005.
Details.
Download:
workshop website.
“Static deadlock detection for Java libraries”
by Amy Williams, William Thies, and Michael D. Ernst.
In ECOOP 2005 — Object-Oriented Programming, 19th European Conference, (Glasgow, Scotland), July 27-29, 2005, pp. 602-629.
Details.
Download:
PDF,
PostScript.
“Eclat: Automatic generation and classification of test inputs”
by Carlos Pacheco and Michael D. Ernst.
In ECOOP 2005 — Object-Oriented Programming, 19th European Conference, (Glasgow, Scotland), July 27-29, 2005, pp. 504-527.
Details.
Download:
PDF,
Eclat implementation.
A previous version appeared as MIT Laboratory for Computer Science technical report 968, (Cambridge, MA), Oct. 2004.
“An overview of JML tools and applications”
by Lilian Burdy, Yoonsik Cheon, David Cok, Michael D. Ernst, Joe Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll.
Software Tools for Technology Transfer, vol. 7, no. 3, June 2005, pp. 212-232.
Details.
Download:
PDF,
PostScript.
A previous version appeared in Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 03), (Trondheim, Norway), June 5-7, 2003.
A previous version appeared as University of Nijmegen Dept. of Computer Science technical report NIII-R0309, Mar. 2003.
“Efficient incremental algorithms for dynamic detection of likely invariants”
by Jeff H. Perkins and Michael D. Ernst.
In Proceedings of the ACM SIGSOFT 12th Symposium on the Foundations of Software Engineering (FSE 2004), (Newport Beach, CA, USA), November 2-4, 2004, pp. 23-32.
Details.
Download:
PDF,
PostScript,
slides (PDF),
Daikon implementation.
“Formalizing lightweight verification of software component composition”
by Stephen McCamant and Michael D. Ernst.
In SAVCBS 2004: Specification and Verification of Component-Based Systems, (Newport Beach, CA, USA), October 31-November 1, 2004, pp. 47-54.
Details.
Download:
PDF,
PostScript.
“Converting Java programs to use generic libraries”
by Alan Donovan, Adam Kieżun, Matthew S. Tschantz, and Michael D. Ernst.
In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2004), (Vancouver, BC, Canada), October 26-28, 2004, pp. 15-34.
Details.
Download:
PDF,
PostScript,
slides (PDF).
A previous version appeared as MIT Laboratory for Computer Science technical report MIT-LCS-TR-940, (Cambridge, MA), March 30, 2004.
A previous version appeared as
“Inference of generic types in Java”
by Alan Donovan and Michael D. Ernst.
MIT Laboratory for Computer Science technical report MIT/LCS/TR-889, (Cambridge, MA), March 22, 2003.
“A practical type system and language for reference immutability”
by Adrian Birka and Michael D. Ernst.
In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2004), (Vancouver, BC, Canada), October 26-28, 2004, pp. 35-49.
Details.
Download:
PDF,
PostScript,
slides (PDF),
slides (PostScript),
Javari implementation.
“Using simulated execution in verifying distributed algorithms”
by Toh Ne Win, Michael D. Ernst, Stephen J. Garland, Dilsun Kırlı, and Nancy Lynch.
Software Tools for Technology Transfer, vol. 6, no. 1, July 2004, pp. 67-76.
Details.
Download:
PDF,
PostScript.
A previous version appeared in VMCAI'03, Fourth International Conference on Verification, Model Checking and Abstract Interpretation, (New York, New York), January 9-11, 2003, pp. 283-297.
“Improving adaptability via program steering”
by Lee Lin and Michael D. Ernst.
In ISSTA 2004, Proceedings of the 2004 International Symposium on Software Testing and Analysis, (Boston, MA, USA), July 12-14, 2004, pp. 206-216.
Details.
Download:
PDF,
PostScript,
PowerPoint.
A previous version appeared as
“Improving reliability and adaptability via program steering”
by Lee Lin and Michael D. Ernst.
In Fourteenth International Symposium on Software Reliability Engineering, Supplementary Proceedings, (Denver, CO), November 17-20, 2003, pp. 313-314.
“An experimental evaluation of continuous testing during development”
by David Saff and Michael D. Ernst.
In ISSTA 2004, Proceedings of the 2004 International Symposium on Software Testing and Analysis, (Boston, MA, USA), July 12-14, 2004, pp. 76-85.
Details.
Download:
PDF,
PostScript,
Eclipse plug-in.
“Early identification of incompatibilities in multi-component upgrades”
by Stephen McCamant and Michael D. Ernst.
In ECOOP 2004 — Object-Oriented Programming, 18th European Conference, (Oslo, Norway), June 16-18, 2004, pp. 440-464.
Details.
Download:
PDF,
PostScript.
An extended version appeared as
“Predicting problems caused by component upgrades”
by Stephen McCamant and Michael D. Ernst.
MIT Laboratory for Computer Science technical report 941, (Cambridge, MA), Mar. 2004. Revision of first author's Master's thesis.
“Automatic mock object creation for test factoring”
by David Saff and Michael D. Ernst.
In ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04), (Washington, DC, USA), June 7-8, 2004, pp. 49-51.
Details.
Download:
PDF,
PostScript.
“Finding latent code errors via machine learning over program executions”
by Yuriy Brun and Michael D. Ernst.
In ICSE'04, Proceedings of the 26th International Conference on Software Engineering, (Edinburgh, Scotland), May 26-28, 2004, pp. 480-490.
Details.
Download:
PDF,
PostScript.
“Continuous testing in Eclipse”
by David Saff and Michael D. Ernst.
In 2nd Eclipse Technology Exchange Workshop (eTX), (Barcelona, Spain), March 30, 2004.
Details.
Download:
PDF,
PostScript,
Eclipse plug-in.
A tool demo appeared in ICSE'05, Proceedings of the 27th International Conference on Software Engineering, (St. Louis, MO, USA), May 18-20, 2005, pp. 668-669.
“Reducing wasted development time via continuous testing”
by David Saff and Michael D. Ernst.
In Fourteenth International Symposium on Software Reliability Engineering, (Denver, CO), November 17-20, 2003, pp. 281-292.
Details.
Download:
PDF,
PostScript.
“Predicting problems caused by component upgrades”
by Stephen McCamant and Michael D. Ernst.
In ESEC/FSE 2003: Proceedings of the 9th European Software Engineering Conference and the 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering, (Helsinki, Finland), September 3-5, 2003, pp. 287-296.
Details.
Download:
PDF,
PostScript.
An extended version appeared as MIT Laboratory for Computer Science technical report 941, (Cambridge, MA), Mar. 2004. Revision of first author's Master's thesis.
“Selecting, refining, and evaluating predicates for program analysis”
by Nii Dodoo, Lee Lin, and Michael D. Ernst.
MIT Laboratory for Computer Science technical report MIT-LCS-TR-914, (Cambridge, MA), July 21, 2003.
Details.
Download:
PDF,
PostScript.
A previous version appeared as
“Selecting predicates for implications in program analysis”
by Nii Dodoo, Alan Donovan, Lee Lin, and Michael D. Ernst.
March 16, 2002. Draft. http://pag.csail.mit.edu/~mernst/pubs/invariants-implications.ps.
“WODA 2003: ICSE Workshop on Dynamic Analysis”
edited by Jonathan E. Cook and Michael D. Ernst.
May 9, 2003.
Details.
Download:
PDF,
workshop website.
A summary appeared as
“Summary: Workshop on Dynamic Analysis (WODA 2003)”
by Jonathan E. Cook and Michael D. Ernst.
ACM SIGSOFT Software Engineering Notes, vol. 28, no. 6, Nov. 2003.
“Static and dynamic analysis: Synergy and duality”
by Michael D. Ernst.
In WODA 2003: ICSE Workshop on Dynamic Analysis, (Portland, OR), May 9, 2003, pp. 24-27.
Details.
Download:
PDF,
PostScript.
“Improving test suites via operational abstraction”
by Michael Harder, Jeff Mellen, and Michael D. Ernst.
In ICSE'03, Proceedings of the 25th International Conference on Software Engineering, (Portland, Oregon), May 6-8, 2003, pp. 60-71.
Details.
Download:
PDF,
PostScript,
Talk slides (PowerPoint).
“An empirical analysis of C preprocessor use”
by Michael D. Ernst, Greg J. Badros, and David Notkin.
IEEE Transactions on Software Engineering, vol. 28, no. 12, Dec. 2002, pp. 1146-1170.
Details.
Download:
PDF.
A previous version appeared as University of Washington Department of Computer Science and Engineering technical report UW-CSE-97-04-06, (Seattle, WA), April 22, 1997. Revised March 31, 1999.
“Graphs induced by Gray codes”
by Elizabeth L. Wilmer and Michael D. Ernst.
Discrete Mathematics, vol. 257, November 28, 2002, pp. 585-598.
Details.
Download:
PDF.
“Invariant inference for static checking: An empirical evaluation”
by Jeremy W. Nimmer and Michael D. Ernst.
In Proceedings of the ACM SIGSOFT 10th International Symposium on the Foundations of Software Engineering (FSE 2002), (Charleston, SC), November 20-22, 2002, pp. 11-20.
Details.
Download:
PDF,
PostScript.
“Automatic generation of program specifications”
by Jeremy W. Nimmer and Michael D. Ernst.
In ISSTA 2002, Proceedings of the 2002 International Symposium on Software Testing and Analysis, (Rome, Italy), July 22-24, 2002, pp. 232-242.
Details.
Download:
PDF,
PostScript.
A previous version appeared as
“Automatic generation and checking of program specifications”
by Jeremy W. Nimmer and Michael D. Ernst.
MIT Laboratory for Computer Science technical report 823, (Cambridge, MA), August 10, 2001. Revised February 1, 2002.
“Verifying distributed algorithms via dynamic analysis and theorem proving”
by Toh Ne Win and Michael D. Ernst.
MIT Laboratory for Computer Science technical report 841, (Cambridge, MA), May 25, 2002.
Details.
Download:
PDF,
PostScript.
“Automated support for program refactoring using invariants”
by Yoshio Kataoka, Michael D. Ernst, William G. Griswold, and David Notkin.
In ICSM 2001, Proceedings of the International Conference on Software Maintenance, (Florence, Italy), November 6-10, 2001, pp. 736-743.
Details.
Download:
PDF,
PostScript.
“Static verification of dynamically detected program invariants: Integrating Daikon and ESC/Java”
by Jeremy W. Nimmer and Michael D. Ernst.
In Proceedings of RV'01, First Workshop on Runtime Verification, (Paris, France), July 23, 2001.
Details.
Download:
PDF,
PostScript.
“Panel: Perspectives on software engineering”
by David Notkin, Marc Donner, Michael D. Ernst, Michael Gorlick, and E. James Whitehead, Jr..
In ICSE 2001, Proceedings of the 23rd International Conference on Software Engineering, (Montreal, Canada), May 16-18, 2001, pp. 699-702.
Details.
Download:
PDF,
Slides (for all panelists).
“Dynamically discovering likely program invariants to support program evolution”
by Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin.
IEEE Transactions on Software Engineering, vol. 27, no. 2, Feb. 2001, pp. 99-123.
Details.
Download:
PDF,
ICSE 1999 talk slides (PowerPoint),
ICSE 1999 talk slides (PostScript),
Daikon implementation.
A previous version appeared in ICSE '99, Proceedings of the 21st International Conference on Software Engineering, (Los Angeles, CA, USA), May 19-21, 1999, pp. 213-224.
A previous version appeared as University of Washington Department of Computer Science and Engineering technical report UW-CSE-98-08-03, (Seattle, WA), August 27, 1998.
“Dynamically Discovering Likely Program Invariants”
by Michael D. Ernst.
Ph.D. dissertation, University of Washington Department of Computer Science and Engineering, (Seattle, Washington), Aug. 2000.
Details.
Download:
PDF,
PostScript,
Daikon implementation.
A summary appeared as
“Summary of Dynamically discovering likely program invariants”
by Michael D. Ernst.
In ICSM 2001, Proceedings of the International Conference on Software Maintenance, (Florence, Italy), November 6-10, 2001, pp. 540-544.
A short research plan appeared as
“Research summary for dynamic detection of program invariants”
by Michael D. Ernst.
In ICSE '99, Proceedings of the 21st International Conference on Software Engineering, (Los Angeles, CA, USA), May 19-21, 1999, pp. 718-719.
A longer research plan appeared as
“Research summary for dynamic detection of program invariants”
by Michael D. Ernst.
In ICSE '99 Doctoral Workshop, (Los Angeles, CA, USA), May 18, 1999. Expanded version of two-page summary in ICSE '99 proceedings, distributed at workshop.
“Quickly detecting relevant program invariants”
by Michael D. Ernst, Adam Czeisler, William G. Griswold, and David Notkin.
In ICSE 2000, Proceedings of the 22nd International Conference on Software Engineering, (Limerick, Ireland), June 7-9, 2000, pp. 449-458.
Details.
Download:
PDF,
PostScript,
Daikon implementation.
A previous version appeared as University of Washington Department of Computer Science and Engineering technical report UW-CSE-99-11-01, (Seattle, WA), November 15, 1999.
“Dynamically discovering pointer-based program invariants”
by Michael D. Ernst, William G. Griswold, Yoshio Kataoka, and David Notkin.
University of Washington Department of Computer Science and Engineering technical report UW-CSE-99-11-02, (Seattle, WA), November 16, 1999. Revised March 17, 2000.
Details.
Download:
PDF,
PostScript,
Daikon implementation.
“Predicate dispatching: A unified theory of dispatch”
by Michael D. Ernst, Craig S. Kaplan, and Craig Chambers.
In ECOOP '98, the 12th European Conference on Object-Oriented Programming, (Brussels, Belgium), July 20-24, 1998, pp. 186-211.
Details.
Download:
PostScript,
slides (PostScript),
implementation,
manual.
“Automatic SAT-compilation of planning problems”
by Michael D. Ernst, Todd D. Millstein, and Daniel S. Weld.
In IJCAI-97, Proceedings of the Fifteenth International Joint Conference on Artificial Intelligence, (Nagoya, Aichi, Japan), August 23-29, 1997, pp. 1169-1176.
Details.
Download:
PostScript,
Medic implementation.
“Method and system for controlling unauthorized access to information distributed to users”
by Gideon A. Yuval and Michael D. Ernst.
December 17, 1996. Assigned to Microsoft Corporation.
Details.
“Playing Konane mathematically: A combinatorial game-theoretic analysis”
by Michael D. Ernst.
UMAP Journal, vol. 16, no. 2, Spring 1995, pp. 95-121.
Details.
Download:
PDF,
PostScript,
talk slides (PowerPoint, 1/17/2001),
implementation.
A previous version appeared as Microsoft Research technical report MSR-TR-95-24, (Redmond, WA), August 7, 1995.
A previous version appeared as
“Playing Konane mathematically”
by Michael D. Ernst and Elwyn Berlekamp.
In Articles in Tribute to Martin Gardner, (Scott Kim, ed.), January 16, 1993, pp. 6-15, Atlanta International Museum of Art and Design.
“IR '95: Intermediate Representations Workshop Proceedings”
edited by Michael D. Ernst.
January 22, 1995. ACM SIGPLAN Notices 30(3), March 1995.
Details.
Download:
workshop website,
ACM proceedings.
A previous version appeared as Microsoft Research technical report MSR-TR-95-01, (Redmond, WA), January 22, 1995.
“Slicing pointers and procedures (abstract)”
by Michael D. Ernst.
Microsoft Research technical report MSR-TR-95-23, (Redmond, WA), January 13, 1995.
Details.
Download:
PostScript.
“Serializing parallel programs by removing redundant computation”
by Michael D. Ernst.
MIT Laboratory for Computer Science technical report MIT/LCS/TR-638, (Cambridge, MA), August 21, 1994.
Details.
Download:
PostScript.
A concurrently published technical report appeared as Microsoft Research technical report MSR-TR-94-15, (Redmond, WA), August 21, 1994.
A previous version appeared as a Masters thesis, MIT Department of Electrical Engineering and Computer Science, (Cambridge, MA), Sep. 1992.
A previous version appeared as
“Serializing parallel programs (abstract)”
by Michael D. Ernst.
In Proceedings of the 1992 MIT Student Workshop on VLSI and Parallel Systems, July 21, 1992, pp. 13-1 to 13-2.
“Practical fine-grained static slicing of optimized code”
by Michael D. Ernst.
Microsoft Research technical report MSR-TR-94-14, (Redmond, WA), July 26, 1994.
Details.
Download:
PostScript.
“Heraclitean encryption”
by Michael D. Ernst and Gideon Yuval.
Microsoft Research technical report MSR-TR-94-13, (Redmond, WA), March 3, 1994.
Details.
Download:
PostScript.
“Value dependence graphs: Representation without taxation”
by Daniel Weise, Roger F. Crew, Michael D. Ernst, and Bjarne Steensgaard.
In Proceedings of the 21st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, (Portland, OR), Jan. 1994, pp. 297-310.
Details.
Download:
PostScript.
A previous version appeared as Microsoft Research technical report MSR-TR-94-03, (Redmond, WA), April 13, 1994.
“Intellectual property in computing: (How) should software be protected? An industry perspective”
by Michael D. Ernst.
MIT Artificial Intelligence Laboratory Memo AIM-1369, (Cambridge, Massachusetts), May 1992.
Details.
Download:
PostScript,
press release.
A videotape appeared as
“Intellectual property in computing: (How) should software be protected? An industry perspective”
by Randall Davis and Michael D. Ernst.
MIT Artificial Intelligence Laboratory Video AIV-7, (Cambridge, Massachusetts), Oct. 1990.
“Adequate Models for Recursive Program Schemes”
by Michael D. Ernst.
Bachelors thesis, MIT Department of Electrical Engineering and Computer Science, (Cambridge, MA), June 1989.
Details.
Download:
PostScript.
“Self-reference in English”
by Michael D. Ernst.
May 1989. The idea from this unpublished term paper was written up by Boolos without Ernst's knowledge, to appear as “Quotational Ambiguity,” by George Boolos, in On Quine, (Paulo Leonardi, ed.), pp. 283-296, Cambridge University Press, 1995. Boolos called the idea “Ernst's Paradox” but refused Ernst's request for coauthorship.
Details.
“ML typechecking is not efficient”
by Michael D. Ernst.
In Papers of the MIT ACM Undergraduate Conference, Apr. 1989.
Details.
“Image/map correspondence using curve matching”
by Michael D. Ernst and Bruce E. Flinchbaugh.
In AAAI Spring Symposium on Robot Navigation, (Stanford, CA), March 28-30, 1989. Also published as Texas Instruments Technical Report CSC-SIUL-89-12.
Details.
Download:
PDF,
PostScript.
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
(This webpage was created with bibtex2web.)
Michael Ernst