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 :
بازگشت