Department of Computer and Information Science

 

Computer Science Seminar Series

Recovery and Metrics-Guided Refactoring of a Grammar from a Hard-Coded Parser


3:00 p.m. Wednesday, November 19, 2008

Weir Hall, Room 235

Nicholas A. Kraft
Assistant Professor
Department of Computer Science
University of Alabama


Abstract:

Many software development tools that assist with tasks such as testing and maintenance are specific to a particular development language and require a parser for that language. Because a grammar is required to develop a parser, construction of these software development tools is dependent upon the availability of a grammar for the development language. However, a grammar is not always available for a language, and in these cases, acquiring a grammar is the most difficult, costly, and time-consuming phase of tool construction. In this talk I will describe a methodology for grammar recovery from a hard-coded parser. Our methodology comprises manual instrumentation of the parser, a technique for automatic grammar recovery from parse trees, and a semi-automatic metrics-guided approach to refactoring an iterative grammar to obtain a recursive grammar. I will present the results of a case study in which we recover and refactor a grammar from version 4.0.0 of the GNU C++ parser and then refactor the recovered grammar using our metrics-guided approach. Additionally, I will present an evaluation of the recovered and refactored grammar by comparing it to the ISO C++98 grammar.


Biography:

Nicholas A. Kraft is an Assistant Professor in the Department of Computer Science at The University of Alabama. He received his Ph.D. in Computer Science from the School of Computing at Clemson University in 2007. His dissertation, for which he received the university-wide award for outstanding graduate research in 2006, was entitled "An Infrastructure to Support Interoperability in Reverse Engineering." His current research interests include: reverse engineering, software understanding and maintenance, and software language engineering. Dr. Kraft's work has appeared in venues such as IEEE Software, Science of Computer Programming, Information and Software Technology, and the Working Conference on Reverse Engineering (WCRE).


[ Home | Site Map ]