Software Analysis with ASIS ASIS Asis offers access

  • Slides: 11
Download presentation
Software Analysis with ASIS

Software Analysis with ASIS

ASIS • Asis offers access to the information stored in the Ada Environment database

ASIS • Asis offers access to the information stored in the Ada Environment database • This voluminous database must be organized and condensed into useful perspectives

Software Perspectives • • • Condensed Content Units and Dependencies Execution Flow Data Type

Software Perspectives • • • Condensed Content Units and Dependencies Execution Flow Data Type Model Name Space

Condensed Content • • • Verify coding violations Locate high-risk constructs Collect metrics Catalogue

Condensed Content • • • Verify coding violations Locate high-risk constructs Collect metrics Catalogue constructs by kind Locate key constructs – – tasking generics tagged types non-portable / implementation specific

Units & dependencies • Display hierarchical with closure (depth and fan out) • Identify

Units & dependencies • Display hierarchical with closure (depth and fan out) • Identify unused with clauses • Identify unused declarations • Analyze elaboration

Execution Flow • Calling thread analysis – Display hierarchical call tree – Analyze stack

Execution Flow • Calling thread analysis – Display hierarchical call tree – Analyze stack size – Identify synchronization requirements – Locate recursion

Execution Flow, Cont. • Path analysis – Identify paths – Locate use before set

Execution Flow, Cont. • Path analysis – Identify paths – Locate use before set – Locate set twice before use (Opt) – Identify non-set of out parameters – Identify function paths without return – Locate dead code – Locate infinite recursion

Execution Flow, Cont. • Exceptions – Determine exception propagation – Locate raises / handlers

Execution Flow, Cont. • Exceptions – Determine exception propagation – Locate raises / handlers

Program Data • • • Locate objects set & used Determine object size Locate

Program Data • • • Locate objects set & used Determine object size Locate static data Identify synchronization requirements Locate constraint violations

Type Model • • Select minimum required type model View composite structure Display class

Type Model • • Select minimum required type model View composite structure Display class hierarchies Locate default initialization

Name Space • Verify good naming • Verify conformance to conventions and standards •

Name Space • Verify good naming • Verify conformance to conventions and standards • Verify consistent renaming