© serg reverse engineering (reportal) reportal: reverse engineering portal (reportal.cs.drexel.edu)

Post on 17-Jan-2018

302 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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/

top related