DocumentCode
3632467
Title
Parallel Parsing-Based Reverse Engineering
Author
Stefan Andrei
Author_Institution
Dept. of Comput. Sci., Lamar Univ., Beaumont, TX, USA
Volume
7
fYear
2009
Firstpage
503
Lastpage
507
Abstract
Parsing descriptive programming languages, such as eXtendable Markup Language (XML) and Unified Modeling Language (UML), has been an active area of research. Lam, Ding, and Liu claim that among all important phases of XML (e.g., parsing, access, modification, and serialization), parsing is the most time-consuming one. That motivates investigation of efficient parsing techniques with applications in many computer science areas, including reverse engineering.While there are many works on parsing XML, there is still room for research about UML parsing. UML parsing is still challenging because UML deals with graphical representations, such as class icons, class diagrams, sequence diagrams, state diagrams, and not text representations that are input for traditional parsers. Reverse engineering is an important sub-area in software engineering and it basically means obtaining the UML specification from a source program described in an (object-oriented) programming language. This paper describes a new application of a non-traditional parallel parsing technique for a Uniform Petal Language (UPL) program. Our bidirectional parser takes as input a UPL program, that is, a text representation of a UML specification. The benefits of parsing a UPL program are checking the correctness of the UML specification and obtaining the productions that lead to that UPL program. Consequently, the UPL program can be generated from the associated set of productions. The set of productions associated to a correct UPL program is a very condensed way to store it. Keeping a specification as minimum as possible, but expressive, is an important concept of reverse engineering. We have implemented a bidirectional parser for context free languages, including UPL, in Java programming language, called Parsing Uniform petAl Language (PUPAL), and compare it with CUP, a state-of-the-art parser for Java designed by Hudson, Flannery, and Ananian. The experimental results considered several UPL programs and concluded that PUPAL performs better than CUP.
Keywords
"Reverse engineering","Unified modeling language","XML","Computer languages","Software engineering","Application software","Java","Computer science","Production","Computer industry"
Publisher
ieee
Conference_Titel
Computer Science and Information Engineering, 2009 WRI World Congress on
Print_ISBN
978-0-7695-3507-4
Type
conf
DOI
10.1109/CSIE.2009.993
Filename
5170370
Link To Document