John Hartman, Ph.D.

www.softwareunderstanding.com

jh@softwareunderstanding.com (541) 505-9980

2165 Adams St     Eugene OR  97405

RESEARCH

I investigate software engineering in tasks such as evolution, reverse engineering, transformation, maintenance, and reengineering. I focus on designing useful tools that capture and exploit software understanding.

Most recently, I developed and evaluated representations and tools that capture functional intentions and their implementation at many semantic levels, e.g. requirements, architecture, code, knowledge, and process. My dissertation research produced a practical automatic program understander, used it for quality automatic Cobol restructuring, and presented performance models, measures, and results. (Selected publications shown.)

Senior Research Associate, Visiting Scholar, with B. Chandrasekaran, Laboratory for Artificial Intelligence Research, Ohio State University (DARPA contract, "Functional Representation of Software Systems") (1994-1998)

Developed the use of Functional Representation to capture software understanding. Showed how this benefits tools and tasks such as design, debugging, and modification. Represented hierarchical understandings of executable architectures, legacy code, reengineering processes, programming knowledge etc. Made prototype tool for question answering and automatic explanation using these representations. Showed how Functional Representation formalizes and enhances existing programming plan representations.

"Functional Representation of Executable Software Architectures," OSU Laboratory For Artificial Intelligence Research Technical Report (with B.Chandrasekaran) (1995)

Research Assistant, Artificial Intelligence Lab, University of Texas at Austin, supervisor B. Kuipers. (1987-1991)

Developed practical automatic program understander that recognizes control concepts in legacy programs (UNPROG). Demonstrated quality Cobol restructuring using recognized concepts. Created models and measures of automatic program understanding. Produced empirical results characterizing UNPROG performance and program conceptual content and implementation.

"Understanding Natural Programs Using Proper Decomposition," 13th International Conference on Software Engineering, ICSE-13 (1991)

Research Assistant, Software Engineering Research Group, University of Texas at Austin, supervisor R. Yeh. Methods and tools for module reengineering. (1982-1983)

INDUSTRY AND GRANT

Advanced tool development and commercialization. Won NASA grant. Six years of engineering programming.

Research Scientist, Consultant, The Analytix Group (1992-1996)

Investigated concept-based understanding and reengineering tools and applications. Wrote proposals and obtained NASA funding. Directed project that extended unprog and demonstrated its feasibility and value for translation.

"Knowledge-Based Automatic Reengineering," Final Report for NASA SBIR Contract NAS5-32738, The Analytix Group, $70,000. (with Mitch Lubars et al.) (1996)

Mathematician, Idaho National Engineering Lab. Led development of reactor analysis software. (1974-1976)

Engineering programming at Nuclear Fuel Services, Nuclear Associates, and Westinghouse NES. (1968-1972)

EDUCATION AND TEACHING

Ph.D., University of Texas at Austin, Computer Sciences, GPA 4.0, University Fellow (1991)

"Automatic Control Understanding For Natural Programs," Artificial Intelligence Laboratory, Dept. of Computer Sciences, The University of Texas at Austin (Ph.D. Thesis, 1991)

Double B.S. with Honors, University of Maryland at College Park, Mathematics and Computer Science. Honorary societies for mathematics, computer science, and academics. (1974)

Massachusetts Institute of Technology (1966-1968)

Successful university teaching and advising at all levels.

Academic Assistant. Developed and taught programming course for Linguistics Department faculty and graduate students. Widely praised course started several computational linguistics careers. (1990)

Teaching Assistant for Artificial Intelligence, Lisp, and Introduction to Computer Science courses. (14 semesters) Excellent ratings and testimonials.

PROFESSIONAL

Respected and active in software understanding, reengineering, and maintenance community.

Program Committee, Working Conference on Reverse Engineering (1995-1999)

Referee for journals, conferences and agencies.

Organized First AAAI Workshop on Artificial Intelligence and Automated Program Understanding at National Conference on Artificial Intelligence (1992)

"Technical Introduction to the First Workshop on AI and Automated Program Understanding," Tenth National Conference On Artificial Intelligence (1992)

Wide personal interests, especially outdoor sports and nature.

Excellent health.

U. S. citizen.