imagix 4d presented by: elliott harrington derek larson matt heinzelman cheneng vang

23
iMaGix 4D iMaGix 4D Presented by: Elliott Presented by: Elliott Harrington Harrington Derek Larson Derek Larson Matt Heinzelman Matt Heinzelman Cheneng Vang Cheneng Vang

Upload: gavin-black

Post on 26-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

iMaGix 4DiMaGix 4DPresented by: Elliott Harrington Presented by: Elliott Harrington

Derek Larson Derek Larson Matt Heinzelman Matt Heinzelman

Cheneng VangCheneng Vang

Imagix CorporationImagix Corporation

Headquartered in San Luis Obispo, CAHeadquartered in San Luis Obispo, CA Products for reverse-engineering, quality Products for reverse-engineering, quality

analysis and documentation of softwareanalysis and documentation of software Applied in deep space communication, air Applied in deep space communication, air

traffic control systems, billing and traffic control systems, billing and management info. Systems, computer management info. Systems, computer peripherals, communication devices and peripherals, communication devices and medical instrumentsmedical instruments

Customers include…Customers include…

BoeingBoeing General DynamicsGeneral Dynamics IntelIntel LucentLucent NokiaNokia SiemensSiemens ToshibaToshiba

Air ForceAir Force NASANASA JPLJPL FAAFAA Sandia National LabsSandia National Labs

What is Imagix 4D?What is Imagix 4D?

A software to help software developers…A software to help software developers… Understand complex/legacy C & C++ softwareUnderstand complex/legacy C & C++ software Reverse engineer codeReverse engineer code Document CodeDocument Code Eliminate bugsEliminate bugs

A comprehensive program understanding A comprehensive program understanding tooltool

AdvantagesAdvantages

Rapidly check or systematically study your Rapidly check or systematically study your software on any levelsoftware on any level

Ability to visually explore your softwareAbility to visually explore your software Review software metrics and sourceReview software metrics and source Automatically creates design documentsAutomatically creates design documents Spend more time engineeringSpend more time engineering Get new hires on board faster Get new hires on board faster Reduces the cost of software maintenanceReduces the cost of software maintenance

FeaturesFeatures

VisualizationVisualization UML DiagramsUML Diagrams Control FlowControl Flow MetricsMetrics HTML DocsHTML Docs

VisualizationVisualization

UML DiagramsUML Diagrams

UML Diagrams

Class Diagram•Unified Modeling Language notation

•Classes

•Class’s members

•Class Hierarchy

• Can add relevant detailed member-level relationships (associations)

UML Diagrams

File Diagram•Same UML diagram format as the class diagrams

•Displaying package / member information at the file level

•physical location of the files

•Add in build dependencies

UML Diagrams

Built-In Abstractions •One mechanism to address the problem of scope.

•abstracting member to member relationships to the members‘ containers

•example, if classA::methodA calls classB::methodB, you're able to view a higher level graph where classA is shown as calling classB. You thereby can avoid becoming deluged in the details of the design

Control FlowsControl Flows

Control Flow AnalysisControl Flow Analysis

Control Flow mode provides the next level Control Flow mode provides the next level of detail beyond a call graphof detail beyond a call graph

Shows the order that all the function calls Shows the order that all the function calls are madeare made

See where a call is made all the time or See where a call is made all the time or just under some conditionsjust under some conditions

Able to accurately understand the Able to accurately understand the dependencies in complex or sequence dependencies in complex or sequence critical codecritical code

Flow ChartsFlow Charts

Shows the complete control flow, or program Shows the complete control flow, or program logic occurring in each functionlogic occurring in each function

Helps you quickly grasp the internal logic of a Helps you quickly grasp the internal logic of a routineroutine

Sorts through if conditions, switch statements, Sorts through if conditions, switch statements, and do loopsand do loops

Linked to the File Editor so changes can be Linked to the File Editor so changes can be made quickly and easilymade quickly and easily

By seeing the source code in combination with By seeing the source code in combination with the logic, you're able to understand and modify the logic, you're able to understand and modify the function much more quickly and accuratelythe function much more quickly and accurately

Function Pointer SupportFunction Pointer Support

Any variable with data containing function Any variable with data containing function names is marked as a function pointernames is marked as a function pointer

All functions are recorded as being All functions are recorded as being potentially called from a function pointerpotentially called from a function pointer

If a function makes a call through the If a function makes a call through the function pointer, then the function is shown function pointer, then the function is shown as calling the function pointer variableas calling the function pointer variable

You can see the potential call tree by You can see the potential call tree by following the call relationship from the following the call relationship from the function to the function pointer variablefunction to the function pointer variable

The result is that you end up with a The result is that you end up with a complete and accurate understanding of complete and accurate understanding of your software.your software.

Software Metrics and Software Metrics and Design DocumentsDesign Documents

Software MetricsSoftware Metrics

Use to analyze all the measurements taken by Use to analyze all the measurements taken by Imagix 4DImagix 4D

Can list, sort, compare, and rank all files, Can list, sort, compare, and rank all files, classes, functions, and variablesclasses, functions, and variables

Has many different general categories:Has many different general categories: Lines of Source CodeLines of Source Code Lines of CommentsLines of Comments Comments to Code RatioComments to Code Ratio Number of Variables in a FileNumber of Variables in a File Number of Declarations in a FileNumber of Declarations in a File Etc.Etc.

Also, has many specific categories:Also, has many specific categories: Halstead’s MetricsHalstead’s Metrics

Mental Effort, Program Difficulty, and Intelligence Mental Effort, Program Difficulty, and Intelligence ContentContent

Inherited and Derived ClassesInherited and Derived Classes Class CouplingClass Coupling Lack of Cohesion Between ClassesLack of Cohesion Between Classes McCabe Cyclomatic ComplexityMcCabe Cyclomatic Complexity Etc.Etc.

Software MetricsSoftware Metrics

Software MetricsSoftware Metrics

Display in different formats: Absolute, Display in different formats: Absolute, Relative, and GraphRelative, and Graph

Can also change the thresholds of the Can also change the thresholds of the data founddata found

Documentation Using ImagixDocumentation Using Imagix

Five to Fifteen percent of development Five to Fifteen percent of development goes into documentationgoes into documentation

Imagix automates the system by using the Imagix automates the system by using the data gathered and the source codedata gathered and the source code

Outputs into three formats:Outputs into three formats: ASCIIASCII RTF (Rich Text Format)RTF (Rich Text Format) HTMLHTML

Documentation Using ImagixDocumentation Using Imagix

Sorted into nine categories:Sorted into nine categories: ProjectProject FilesFiles ClassesClasses Functions (also Library)Functions (also Library) MacrosMacros VariablesVariables Types (also Pre-Defined)Types (also Pre-Defined)

Downloadable DemoDownloadable Demo

WWW.IMAGIX.COMWWW.IMAGIX.COM

About 5MBAbout 5MB Unix or WindowsUnix or Windows License restrictionLicense restriction