© serg reverse engineering (reportal) reportal: reverse engineering portal (reportal.cs.drexel.edu)
DESCRIPTION
© 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) –…TRANSCRIPT
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
REportal: Reverse Engineering
Portal(reportal.cs.drexel.edu)
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Introduction
• Software Engineering community has produced many tools.
• Challenges:– Usability– Ease of Installation– Interoperability– Copyrighted works (limited distribution)
• DMCA (United States)
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
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)– …
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Background: Tools
• Source code analysis:– Visual Studio, CIAO, …
• Design Extraction:– Bunch, Rigi, ARCH, …
• Visualization:– Graphviz, Rigi, Tom Sawyer, …
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Standardization Attempts
• Difficult—tools address different needs• Not all tools are portable to all platforms
– “Java is write once debug many times” (http://www.lionhrtpub.com/orms/orms-2-99/cyberspace.html)
• Not all interfaces are fully exposedOur proposed solution: REportal
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Login to REportal
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
REportal Services
• Source code:– Repository– Analysis– Querying– Browsing
• Clustering• Visualization
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
REportal’s RE Process
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Using REportal
1. Create a new project2. Upload source code3. Open the project4. Perform analysis on the code
– In this example, a software engineer needs to modify the addFilter() method in a software package, Form.
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
CreateProject…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Upload Code…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
OpenProject…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
EntityQuery…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Relationship Query…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Code Browsing…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Reachability Query…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Reachability Query II…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Module Dependency Graph…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Clustering…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
TextSearch…
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
User ReportalServlet
loginuploadanalysis
REportalDatabase
LocalFilesystem
SQL
FileData
Tools(Services)
REportal Architecture
n-tiered Java servlet
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
Extensibility
• Adding a tool is a two-stage process:1. Tool is added to the server’s tool set2. 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
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
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
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
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
Reverse Engineering Reverse Engineering (REportal)(REportal) © SERG
REportal Web Site
http://reportal.cs.drexel.edu/