News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Reverse-engineering tools analyze open-source software

Mar 6, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 2 views

[Updated Mar. 7] — An Australian consulting company specializing in software reverse engineering is demonstrating its capabilities by analyzing popular open source projects, such as the Linux 2.6.20 kernel. Arian Systems's “SilverBullet” generates detailed program information and graphics offering a “clear view” into undocumented legacy software, according to the company.

(Maybe Felix the cat — and not Tux — is Linux's true, secret mascot)


2.6.20 kernel
(Click to enlarge)

Arian's proprietary SilverBullet tool appears to extract a wealth of potentially valuable information from program source code. The tool was developed over the course of 16 years, by founder Gary Jackson, an engineer working in the commercial software, defense, and aerospace markets. Jackson apparently developed the tool for use with undocumented and poorly documented legacy source code, then later added a graphical analysis component.

The graphical component appears to be called “J-plot,” and to be configurable to show various layers of function interaction. The screenshots below are from analysis of GNU Chess, at a medium level of magnification (at higher levels, the function names are visible):

SilverBullet appears to generate reports in PDF format, and also offers a Windows-based GUI that lets users browse design details, the company says. It appears to generate two types of reports, including “System/Subsystem Design Descriptions” (SSDDs) and “Software Design Descriptions” (SDDs). Components of each include:

  • SSDDs:
    • Front cover and table of contents/figures/tables
    • Details of Metrics analysis
    • Diagrams of data and function calls between subsystems
    • Sequence diagrams showing the interactions between subsystems
    • Table of inter-subsystem call details
    • Table of Inter-subsystem macro constant usage (C/C++ only)

  • SDDs:
    • Front cover and table of contents/figures/tables
    • Diagrams of data and function calls within the subsystem
    • Details of the most complex functions identified, plus details of the files in which they are found
    • Callgraphs, flowcharts and event trace diagrams relating to the most complex functions
    • Sequence diagrams showing calls associated with the most complex functions in the subsystem
    • Listing of the files involved in the analysis

Availability

The SilverBullet software does not seem to be available separate from Arian's consulting services, which include “pre-run and custom analysis of source code.” In order to demonstrate its services, Arian has published a few sample documents exerpted from SilverBullet reports. Additionally, the company is offering low-cost ($5-$10) downloads of full reports on various open-source software projects, including various Linux kernel subsystems, gftp, gnuchess, dominion, bash, quake, and unravel. Further details are on the company's website.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.