© SERG Reverse Engineering (REportal) REportal: Reverse Engineering Portal (reportal.cs.drexel.edu)
© SERG Reverse Engineering (REportal) Introduction Software Engineering community has produced many tools. Challenges: –Usability –Ease of Installation –Interoperability –Copyrighted works (limited distribution) DMCA (United States)
© SERG Reverse Engineering (REportal) Introduction Cont’d We’ve faced these challenges with our own tools: –CIAO Acacia (C/C++ Analysis) Chava (Java Analysis) –Bunch (static clustering) –Form (dynamic analysis) –Graphviz (graph visualization) –…
© SERG Reverse Engineering (REportal) Background: Tools Source code analysis: –Visual Studio, CIAO, … Design Extraction: –Bunch, Rigi, ARCH, … Visualization: –Graphviz, Rigi, Tom Sawyer, …
© SERG Reverse Engineering (REportal) Standardization Attempts Difficult—tools address different needs Not all tools are portable to all platforms –“Java is write once debug many times” ( Not all interfaces are fully exposed Our proposed solution: REportal
© SERG Reverse Engineering (REportal) Login to REportal
© SERG Reverse Engineering (REportal) REportal Services Source code: –Repository –Analysis –Querying –Browsing Clustering Visualization
© SERG Reverse Engineering (REportal) REportal’s RE Process
© SERG Reverse Engineering (REportal) Using REportal 1.Create a new project 2.Upload source code 3.Open the project 4.Perform analysis on the code –In this example, a software engineer needs to modify the addFilter() method in a software package, Form.
© SERG Reverse Engineering (REportal) Create Project…
© SERG Reverse Engineering (REportal) Upload Code…
© SERG Reverse Engineering (REportal) Open Project…
© SERG Reverse Engineering (REportal) Entity Query…
© SERG Reverse Engineering (REportal) Relationship Query…
© SERG Reverse Engineering (REportal) Code Browsing…
© SERG Reverse Engineering (REportal) Reachability Query…
© SERG Reverse Engineering (REportal) Reachability Query II…
© SERG Reverse Engineering (REportal) Module Dependency Graph…
© SERG Reverse Engineering (REportal) Clustering…
© SERG Reverse Engineering (REportal) Text Search…
© SERG Reverse Engineering (REportal) REportal Architecture n-tiered Java servlet
© SERG Reverse Engineering (REportal) Extensibility Adding a tool is a two-stage process: 1.Tool is added to the server’s tool set 2.Servlet is extended to include the tool among its set of services In the future, this process may be automated via a wizard-like facility
© SERG Reverse Engineering (REportal) Future Work Integrate more reverse-engineering tools into REportal Integrate dynamic analysis Security architecture –Sandbox for running user Makefiles and applications C/C++ support Distributed/multi-platform support REportal distribution for remote site use
© SERG Reverse Engineering (REportal) Conclusions Advantages –RE services provided via consistent web-based user interface –No need to be aware of platform integration or interoperability issues –Latest versions of underlying tools always available –No software installs needed
© SERG Reverse Engineering (REportal) REportal Web Site