TOC PREV NEXT INDEX DOC LIST MASTER INDEX



A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z

A

abbreviations
of subsystem names 29
use of unapproved 130, 312
aborts
use of 302, 314
Accept_User_Defined_Arithmetic_Operators switch 25
acceptable report entries 18
acceptable violations
auto incorporation 26
output directory 26
Save As file format 19
Accepted_Output_Directory switch 18, 26
access objects
no deallocation 309
access types
I/O restrictions 309
missing length clause 301
missing Storage_Pool clause 316
access values
subprogram 303, 309
Ada 95
conformance rule library 299
locating incompatibilities 202
obsolescent features 183
Ada Analyzer
command execution 2
configuration of 21
general overview iii
main program 259
online documentation 21
test programs 84
Ada constructs
counting 93, 114
locating 50, 271–278
risky
see error-prone constructs
Ada Repair 333
Add_Hypertable_Linkage switch 26
Add_Performance_Summary switch 26
Add_Unit_Column_Linkage switch 26
address
conversion to access 309
use of type 68, 225
address attributes
of constants and dynamic objects 307
address clauses
use of 302, 315
aggregates
adding named association 337
missing named association 310
use of others choice 310
aliased variables 116
allocators
locating 161
missing Storage_Error handler 301, 308
allowed_name_abbreviations file 35
allowed_use_clauses file 35
analysis methods
code reviews 48
coding standards validation 49
online analysis 47
project information generation 49
analysis switches 1
editing 30
setting 25
Analysis_Output_Directory switch 26
analysis_switch_file 40
annex_d_enforcement file 36
annex_h_enforcement file 36
annotation analysis
configuration policy files 31
annotation_collection_status file 117
annotations
locating 117
approved_renames file 36
architecture
restructuring 338
see also design structure, program structure, system structure
ASCII file formats 19
ASCII files
creating from reports 241
including explanation text 28
Attempt_Analysis_Of_Uninstalled_Units switch 26
attributes
conflict with component names 308
language defined 305
authorization
errors 11
expiration 11
Auto_Elide_Empty_Tables switch 26
Auto_Incorporate_Accepted switch 18, 26
Auto_Visit_Report switch 26

B

background execution 8
bits
object size in 179
blocks
adding names 337
Boolean options 2
bounds analysis 205, 229
browser file formats
HTML 242
bytes
object size in 179

C

call tree analysis 123
calling relationships 121
capacity limits
utilizing Merge_Reports 237
changes
saving report modifications 17
CHAPTER 83
Check_Consistency 23, 85
Check_For_Report_Overwrite switch 26
Check_Reports_Up_To_Date 86
Check_Units_For_Latest_Cmvc_Version switch 26
class
coupling 329
class (OO) metrics 329
Close operation 17
closure
call tree 97
limiting operations 8
listing to file 112
of units parameter 8, 27
unit withing 110, 112
CMVC
check version 26
code correctness 63, 64
Display_Set_Use_Problems 106
Display_Subprogram_Execution_Problems 111
divide by zero 130, 307
Locate_Misspellings 172
Locate_Objects_Set_And_Used 181
Locate_Obsolescent_Ada83_Features 183
Locate_Others_Clauses 189
Locate_Potential_Programming_Errors 192
Locate_Rep_Spec_Inconsistencies 202
Locate_Static_Constraint_Violations 205
Locate_System_Address_Usage 225
misspellings 65
representation spec consistency 67
standards checking 307
static constraint violations 67
use before set 64
use of System.Address 68
see also consistency
see also error-prone constructs
code listings 49
code reviews 48
hard copy for 82
code size reduction
see software optimization
coding standards
acceptable violations 18
Ada 95 Annex D restrictions 317
Ada 95 Annex H restrictions 318
locating violations 128, 201, 202
locating violations interactively 130
naming 70
repairing violations 333
SPARK subset restrictions 319
validation 49, 69
Collect_By_Compilation_Unit 34, 87
Collect_By_Program_Unit 34, 87
Collect_By_Subprogram_And_Task_Bodies 34, 87
Collect_By_Subprogram_Body 34, 87
Collect_Metrics 87
Collect_Statistics 89
collection size
missing specification 313
color
changing backgrounds 265
column-delimited file formats 20, 242
command
background execution 8
execution 2, 83
format of descriptions 83
invocation menu 5
log output 9
command line 83
options 2
parser customization 260
scripts 265
summary 283
comments
annotations 117
spelling in 58
Compare_Metrics 91
Compare_Reports 92
compatibility
checking rules 305
configuration policy files 31
customizing checks 252
locating problems 133
main programs 303
rules enabling/disabling 32
with target compiler 61
compilation time
see reducing compilation time
compiler dependencies 79
complexity
analysis 59
of expressions 315
of subprograms 328
see also software complexity
Compute_Closure switch 8, 27
Compute_Overload_Nicknames switch 27
conditional entry calls
use of 315
configuration files
analyzing software defined by 28
Apex view configurations 3, 8
configuration policy
check consistency 23
creating 7, 23, 24, 96
currently active 25
files 21
locating current 240
structure and content 21
switches 25
user-specific 23
configuration policy files 30
allowed_name_abbreviations 35
allowed_use_clauses 35
analysis_switch_file 40
annex_d_enforcement 36
annex_h_enforcement 36
annotation_collection 31
approved_renames 36
command_table_explain_text 40
compatibility 31
declaration mapping 340
development_libraries 31
excluded_units 41
expression_depth_limit 36
FrameMaker 32
HTML 32
Interleaf 33
known_pragmas 31
listing_formats.html 32
listing_formats.iaf 33
listing_formats.mif 32
listing_formats.rtf 33
max_number_of_comp_units 28
maximum_protected_entries 36
maximum_select_alternatives 36
maximum_subprogram_size 36
maximum_task_entries 36
maximum_unit_size 37
mccabe_complexity_limit 37
metrics collection 34
metrics_collection_status 34
metrics_explanations 35
name_selection_limit 37
named_loop_size 37
naming_conventions 37
package_nesting_limit 38
prohibited_attributes 38
prohibited_names 38
ravenscar_enforcement 38
report_formats.html 33
report_formats.iaf 33
report_formats.mif 32
report_formats.rtf 34
reserved_names 31
return_type_limit 38
rich text format 33
rule_enforcement 32, 38
rule_enforcement_interactive 38
rule_explanations_and_titles 39
spc_enforcement 39
standards conformance 35
subprogram_nesting_limit 39
subtype_nesting_limit 39
type_sizing 42
type_sizing_name_map 43
consistency
lack of 68
of Ada Analyzer configuration policy 85
of comments 172
of exception use 158
of renames 200
of representation specifications 130, 202, 307
constraints
missing in derived types 301
reducing with type conversion 309
static violations of 67, 130, 205, 307
use of pragma Suppress 302
context clauses
alphabetic order 131, 317
alphabetizing 338
expanding multi-name 337
multi-name 317
repairing unused withs 338
unused withs 234
Contract Column operation 15
Count_Lines_Of_Code 95
counting
Ada constructs 55, 93, 114
Ada lines 55
source lines of code 95
coupling
metrics 329
Create_New_Configuration_Policy 96
cross-reference
Ada construct/locator command 271–278
command-line summary 283�
commands for specific objectives 278–282
customization 243
adding new commands 259
adding new metrics 255
command-line parser 260
compatibility checks 252
creating separate metrics-collection commands 258
help references 40
linking main program 259
of coding standard rules 243
of commands 243
of dialog boxes 201, 261
of metrics 243
of simple commands 244
of user interface 259
steps for custom checking rules 253, 255
steps for document building 251
steps for full locators 247
steps for multiple-table locators 250
steps for simple locators 245
table explanation/title text 25
templates 243

D

data dictionary 49
Collect_Metrics 87
Display_Call_Tree 97
Display_Unit_Declarations 116
Locate_Exceptions 158
Locate_Named_Declarations 178
Locate_Objects_Set_And_Used 181
Locate_Subprogram_References 211
Locate_Tasking 227
Locate_Type_Declarations 229
see also naming
database input
column-delimited files 19, 242
deallocation
missing 302, 309
declaration analysis
Display_Unit_Declarations 116
declarations
expanding multi-name 337
local, inappropriate 316
moving and/or renaming 338
multi-name 317
names of 178
of constants in dynamic scope 315
overview 116
redeclaration of Standard 312
unused 231
default initialization 312
delay
use of 302, 315
with zero duration 313
dependencies 53
external 162
object references 74
of subprograms on variables 211
on declarations 162
on generic formals 75, 166
reducing unit-level 234
reduction of 72
subsystem 53
unit with closure 112
unit withs 110
unit-level 52
derived types
without constraints 315
design structure 50
Display_Expanded_Type_Structure 99
Display_Inter_Subsystem_References 101
Display_Subsystem_Import_Closure 113
Display_With_Closure 112
Locate_Exceptions 158
Locate_Packages_With_State 191
Locate_Similar_Record_Structures 199
Locate_Subprogram_References 211
Locate_Subprograms_Propagating_- Exceptions 210
Locate_Subunit_Candidates 223
Locate_Type_Declarations 229
Locate_Unused_Declarations 231
Locate_Unused_With_Clauses 234
of generics 166
restructuring 338
development_libraries file 31
dialog boxes
check consistency 23
command invocation 7
create new configuration policy 7, 24
customization of 261
reformat report 16
SaveAs 20
differences
report comparison 92
Display_By_Unit 113
Display_Call_Tree 97
Display_Comparison 92
Display_Expanded_Type_Structure 99
Display_Set_Twice_Before_Use 103
Display_Set_Use_Problems 106
Display_Subprogram_Branch_Points 109
Display_Subprogram_Execution_Problems 111
Display_Subsystem_Import_Closure 113
Display_Subsystem_Names switch 27
Display_Unit_Construct_Counts 114
Display_Unit_Names switch 27
Display_Unit_Relationships 110
Display_With_Closure 112
divide by zero potential 130, 192, 307
documentation
online 21
use of this guide iv
documentation generation 80
documents
building with multiple hypertables 250
duplicate unit names
location of 133
dynamic analysis 53, 103, 106, 109, 111

E

efficiency analysis
standards checking 311
see also optimization
elaboration
function initialization of objects 130, 302, 308
preelaboration status 153
problem analysis 81, 153
pure status 153
required pragma elaborate 309
Elide Column operation 15
Elide Marked operation 17
Elide Table operation 17
Elide Unmarked operation 17
eliding
columns 15
tables 17
environment variables
AA_CONFIG_POLICY_DIR 25
AA_HOME 1, 23
as analysis switch values 30
equality operators
of real values 301, 308
error logs 9
error messages 9
all tokens in use 11
initializing analysis switches 30
invalid pathname 9
log summaries 28
not registered 11
registration expired 11
storage limit reached 11
subsystem input 10
unexpected 10
error-prone constructs 66
aggregate others 310
calls with defaults 192
case literal ranges 310
case when others 310
non-static loop ranges 192
non-static slice ranges 192
Numeric_Error handlers 192
others clauses 189, 302
raise through Exception_Id 309
System.Address 68, 225
when others handler 310
exceptions
erroneous handlers 192
handling Numeric_Error 303, 307
making raises explicit 338
nonvisible declarations 301, 314
propagation of 210
raised by Raise_Exception 309
raising predefined 301, 314
renames of 200
simple raise 310
use of when others 302, 309
user-defined 316
excluded_units file 41
execution
background 8
of commands 2
preset switch values 1
visibility requirements 1
execution analysis
Display_Call_Tree 97
Display_Subprogram_Branch_Points 109
Locate_Calling_Relationships 121
Locate_Calling_Thread_Sets_And_Uses 123
Locate_Data_Synchronization_Points 150
Locate_Elaboration_Impacts 153
Locate_Objects_Set_And_Used 181
Locate_Recursive_Subprograms 199
execution paths
number of 328
execution speed, increasing
see software optimization
exits
from while and for loops 314
in while and for loops 302
multiple from loop 314
multiple in loops 302
multiple in subprograms 302, 314
non-use of exit when 315
Expand Column operation 15
Expand to Max operation 17
Explain operation 13
expanded interactive text 29
file-based customization 29
explanation text
report table customization 25
export
of renamed declarations 131, 316
use of exported renames 131, 316
expression_depth_limit file 36
expressions
complexity of 315
fully parenthesized 313
locating 161
parenthesized 301
external interfaces
use of 130, 133, 305

F

file formats
alternative 19, 241
column-delimited 19
FrameMaker 19
HTML 20
Interleaf 19
marked rows as acceptable 19
marked rows only 19
Rich Text Format 19
SaveAs operation 20
unmarked rows only 19
files
configuration policy 21
see also configuration policy files
filtering report contents 237
Fit to 80 Cols operation 17
fixed-point types
use of 315
format
of reports 16
pathnames 27
see also output format
Format operation 16
FrameMaker format 19, 32, 241
Full_Pathname_Display_Option switch 27
functions 314, 317
missing returns 130, 192, 307
returning large types 311
returning unconstrained types 311

G

Generate_Listing 114
generics
adding named association 337
and reusability 63
complex 164
dependencies on formals 75, 166
locating 50, 167
missing named association 310
gotos
exceptions used as 130, 302, 314
use of 302, 314
guards 309
GUI
customization 259
use of 4
see also dialog boxes, menus

H

Halstead metrics 329
hard copy
listing generation command 114
listings of Ada units 82
help
command-line option 3
getting started 1
online 21
referencing in reports 40
Help operation 21
history name
in report output 28
host dependencies 62
HTML Format 20, 32, 242
hypertables
column width 28
eliding 26
example output 12
linkage 26
multiple 250
traversal connections 13
traversal diagram 13
use of 12
use of definition with 13
viewing 12

I

if statements
replaceable by case 130, 311
Include_Line_Numbers switch 27
Include_Program_Unit_Container switch 28
Include_Table_Explanation_Text_In_Ascii_Output switch 21, 28
Include_Unit_History switch 28
Include_Unit_Version switch 27
increasing code speed
see software optimization
inheritance
depth of 329
inlining
analysis 73, 169
correct order 130, 305
installation 1
interactive
expanded explanations 29
locating coding violations 130
Interleaf format 19, 33, 242
Interleaf_File_Suffix switch 28

K

known_pragmas file 31

L

length clauses
missing 301
use of 315
licensing 11
line counting 55, 95, 328
line numbering 27
linkage
excluding 26
hypertext 26
including 92, 237
to Ada code 13
linking the Ada Analyzer 259
listing_formats.html file 32
listing_formats.iaf file 33
listing_formats.mif file 32
listing_formats.rtf file 33
listings
Ada code 82, 114
for code review 49
literals
locating 161
replacing with named numbers 337
use of in nondeclarative part 301, 310
Little Tree Consulting guidelines 306
local declarations
inappropriate 316
Locate_Ada95_Coding_Violations 202
Locate_Annotations 117
Locate_Attributes 119
Locate_Class_Hierarchies 125
Locate_Coding_Violations 128
Locate_Compatibility_Problems 133
Locate_Complex_Expressions 146
Locate_Constants 148
Locate_Default_Initialization 152
Locate_Elaboration_Impacts 153
Locate_Elements_Containing_Text 156
Locate_Exceptions 158
Locate_Expensive_Types 159
Locate_Expressions 161
Locate_External_Dependencies 162
Locate_Generic_Complexities 164
Locate_Generic_Formal_Dependencies 166
Locate_Generics 167
Locate_Inline_Candidates 169
Locate_Loop_Nesting 171
Locate_Misspellings 172
Locate_Name_Anomalies 175
Locate_Named_Declarations 178
Locate_Objects_By_Size 179
Locate_Objects_Set_And_Used 181
Locate_Obsolescent_Ada83_Features 183
Locate_Operators 187
Locate_Others_Clauses 189
Locate_Packages_With_State 191
Locate_Potential_Programming_Errors 192
Locate_Pragmas 197
Locate_Recursive_Subprograms 199
Locate_Renames 200
Locate_Rep_Spec_Inconsistencies 202
Locate_Rep_Specs 204
Locate_Short_Circuit_Operators 207
Locate_Similar_Record_Structures 199
Locate_Specific_Coding_Violations 201
Locate_Statements 203
Locate_Static_Constraint_Violations 205
Locate_Subprogram_Complexities 208
Locate_Subprogram_References 211
Locate_Subunit_Candidates 223
Locate_Suprograms_Propagating_Exceptions 210
Locate_System_Address_Usage 225
Locate_Tasking 227
Locate_Type_Declarations 229
Locate_Unused_Declarations 231
Locate_Unused_With_Clauses 234
Locate_Use_Clauses 236
locating
Ada constructs 50, 55
aliasing 116
allocators 161
attributes 119
concatenate operator 187
declarations 50, 178
divide by zero 192
duplicate unit names 133
exception propagation 210
exceptions 50
expressions 161
generics 50, 167
literals 161
misspelled words 172
object declarations 179
operators 187, 207
others clauses 189
package variables 191
packed types 159
pragmas 197
private types 229
program state 191
prohibited words 172
prompts 133
record types 199
recursion 199
renames 200
rendezvous 227
representation specifications 204
slices 161
statements 203
task creation 153
task types 229
tasking 227
tasks 50
type declarations 229
unconstrained types 159, 229
unknown pragmas 133
use clauses 236
use of reserved names 133
logging 9
logical operators
model numbers 309
loops
adding names 337
LTC guidelines
see Little Tree Consulting guidelines

M

machine code inserts 303, 313
main program
relinking customizations 259
main programs 259, 303
with parameters 313
maintainability
standards checking 309
Mark Accepted operation 18
Marked_Rows_As_Acceptable format 18, 19
Marked_Rows_Only format 18, 19
Marked_Rows_Only switch 17
marking
report rows 17
MarkRow operation 17
Max_Column_Width switch 28
Max_Number_Of_Compilation_Units switch 28
maximum_protected_entries file 36
maximum_select_alternatives file 36
maximum_subprogram_size file 36
maximum_task_entries file 36
maximum_unit_size file 37
McCabe complexity metric 208, 328
OO class counting 329
over threshold 130, 314
mccabe_complexity_limit file 37
menus
command 4, 5
customization of 264
merging reports 18
messages
error 9
warning 9
see also error messages, warning messages
methods
counting metrics 329
metrics
adding new 255
CMVC 329
collection 56, 87
comparison 91
essential complexity 328
Halstead 329
library 328
line counting 95
module design complexity 328
Object Oriented Programming 329
separate collection 258
subprogram 328
subprograms 328
metrics collection 56
Collect_Metrics 87
Compare_Metrics 91
Count_Lines_Of_Code 95
in uninstalled units 87
metrics explanations file 35
metrics_collection_status file 34
misspelling 65
of comments 58
model numbers
logical operators 309
modular types 301

N

name resolution
declaration numbering 97
overloading 97
name_selection_limit file 37
named_loop_size file 37
names
use of duplicates 305
use of reserved 305
naming
conventions 57
dot selection limit 313
of declarations 178
reducing use clause dependency 236
selection 57
standards validation 70
naming conventions
enforcement 37, 313
naming_conventions file 37
nesting
of branches 208
of expressions 146
of generics 164
of loops 171
of packages 301, 316
of statements 208
of types 159
of unnamed blocks 301
of unnamed loops 301
null statements 308

O

objectives
see quality-improvement objectives
object-oriented programming 329
depth of inheritance 329
online analysis 47
online help 21
operands
Halstead metric 329
operators
adding renaming declarations 338
Halstead metric 329
renaming errors 192
replacing with short-circuit forms 337
selection 78, 187, 207
unsafe relational 192
use of non-short-circuit forms 311
use of not operator 301, 312
optimization
default initialization 312
expensive constructs 76
functions returning large types 311
functions returning unconstrained types 311
generics 75
inlining 73
loop nesting 78
object initialization 78
object references 74
object size 75
operator selection 78
record structures 199
redundancy 76
target compiler dependencies 79
use of Text_Io 79
see also software optimization
optimizing command execution 26
options
command-line 2, 283
selecting Boolean 8
switch 3
others alternative
expanding 337
others handler
in tasks 303, 309
output
creating in preset location 26
hypertable reports 12
include line numbers 27
include unit names 27
view relative 29
see also reports
output format
name abbreviation 29
overloading
nickname numbers 27
overview
Ada Analyzer iii

P

package variables
locating 191
package_nesting_limit file 38
packages
nesting limit 131, 316
packed types 75, 159
parameters
adding named association 337
adjusting in out modes 337
command-line options 2
in main programs 303
missing mode 301
mode 301
named association 301, 310
nonstandard 83
use of default 301, 310
partitioning analysis
subprogram 60
subsystem 53
unit 60
unit-level 52
path analysis 103, 106
number of subprogram paths 208
PC file formats
RTF 242
performance
Ada Analyzer 26
placeholders
null statements 81, 308
prompts 305
portability analysis 61
host dependencies 62
locating problems 133
standards checking 313
target-dependent constructs 61
pragma Main
on subprograms with parameters 313
pragmas
language defined 305
use of Shared 315
use of Suppress 308
use of unknown 133, 305
predefined types
use of 133
preelaborable units 153
Print_Error_Summaries switch 28
Print_Warning_Summaries switch 28
printing
FrameMaker file formats 241
Interleaf file formats 242
of reports 19
RTF format 242
priorities
use of 315
private parts
pure 316
private types
limited
not self-initializing 130, 308
location of 229
program structure 50
Ada construct location 55
Ada constructs counting 55
dynamic analysis 53
line counting 55
standards checking 314, 317
subsystem partitioning 53
unit dependencies 52
unit partitioning 52
programming errors
see code correctness
prohibited_attributes file 38
prohibited_names file 38
project
information generation 49
Project_Software_Configuration switch 28
prompts
use of 133, 305
protected types 309
with blocking operations 192
pure units 153

Q

quality-improvement objectives
analyzing portability 61
analyzing program content 50
analyzing program structure 50
analyzing readability 57
analyzing reusability 61
checking for programming errors 63
checking standards conformance 69
cross-referenced 278
miscellaneous 79
optimizing software 73
overview 45
reducing compilation time 71

R

radixes
use of nonstandard 314
Ravenscar Tasking Profile rules 317
ravenscar_enforcement file 38
readability analysis 57
Locate_Renames 200
Locate_Subunit_Candidates 223
Locate_Use_Clauses 236
name selection 57
program complexity 59
standards checking 312
unit/subprogram partitioning 60
use of use clauses 58
real-time systems
Ada 95 Annex D restrictions 317
Ada 95 Annex H restrictions 318
Ravenscar Tasking Profile 317
record components
conflict with attribute names 308
expansion of 99
unused 231
record rep specs
use of 316
recursion
infinite 192
locating subprogram 199
recursive analysis
of renaming declarations 200
reducing compilation time
dependency reduction 72
redundancy analysis 72
unused constructs 71, 231, 234
use of use clauses 72
redundancy analysis 72, 76
of constant values 148
of expressions 187
of record types 199
of type declarations 229
references
adding full qualification 338
unqualified 313, 320
registration
expiration 11
Release_Token 238
Remove_Subsystem_SS_Suffix switch 28
renames
aliasing through 130, 312
alphabetic order 131, 317
inconsistent operator 308
use of unapproved 312
rendezvous
locating 227
rep specs
see representation specifications
Report Editor operations
Contract Column 15
Elide Column 15
Elide Marked 17
Elide Table 17
Elide Unmarked 17
Expand Column 15
Expand to Max 17
Fit to 80 Cols 17
Format 16
Mark Accepted 18
Mark Row 17
Save 17
SaveAs 17
Sort on Column 16
Unelide Column 15
Unelide Marked 17
Unelide Table 17
Unelide Unmarked 17
Unmark Row 17
report management
Check_Reports_Up_To_Date 86
Collect_Statistics 89
Compare_Reports 92
filtering contents 237
incremental analysis with merge 237
Merge_Reports 237
merging reports 18
Separate_Reports_By_Subsystem 239
report table
explanation customization file 40
report_formats.html file 33
report_formats.iaf file 33
report_formats.mif file 32
report_formats.rtf file 34
reports
acceptable entries 18
acceptable row marking 19
alternative file formats 19, 241
avoiding overwrite 26
changing background colors 265
column sizing 16
eliding/uneliding columns 15
example output 12
expanding/contracting columns 15
filtering 237
formatting 16
image manipulation 14
managing size 18
naming 3, 8
printing 19
row marking 17, 19
saving changes 17
sorting 16
sorting on columns 16
viewing 26
representation specifications
consistency analysis 67, 202
on derived types 313
types with 159
use of enumeration representation 315
requirements
annotation cross reference 117
requirements completeness 308
null statements 81
reserved names
use of 133
reserved_names file 31
restructuring code 338
return_type_limit file 38
reusability analysis 61
Locate_Generics 167
Locate_Packages_With_State 191
unit reusability 62
reverse engineering
use of Ada Analyzer for 50
Rich Text Format 19, 33, 242
risky Ada constructs
see error-prone constructs
rule enforcement
for Ada 95 rules 300
for LTC rules 321
for SPC rules 303, 321
for target compatibility 306
rule libraries
Ada 95 299
LTC guidelines 306
Rational target compatibility 305
Ravenscar Tasking Profile 317
Software Productivity Consortium's guidelines 330
SPARK Ada subset 319
rule_enforcement file 32, 38
rule_explanations_and_titles file 39

S

safety and security
Ada 95 Annex H restrictions 318
sample output
of Ada Analyzer commands 84
Save operation 17
SaveAs operation 17, 20
Scripting
command line invocations 265
searching
for elements containing text 156
for text in reports 16
select guards 309
selective wait
with else part 311
Separate_Reports_By_Subsystem 239
set/use analysis 64
initialization 152
of object declarations 181
on calling thread 123
optimization 103
subprogram references 211
use before set 106
setting
analysis switches 25
output directory 26
short-circuit operators 207
side effects 314, 317
in functions 131, 301, 314, 317
size analysis
of collections 204
of objects 43, 75, 179
of record components 99
of tasks 204
of units and subunits 223
size calculation options 42, 75
size reduction of code
see software optimization
slices
locating 161
SLOC counting 55, 95
software complexity 59
Locate_Complex_Expressions 146
Locate_Generic_Complexities 164
Locate_Subprogram_Complexities 208
software content 50, 55
Compare_Unit_Construct_Counts 93
Display_Unit_Construct_Counts 114
Generate_Listing 114
Locate_Aliasing 116
Locate_Annotations 117
Locate_Attributes 119
Locate_Constants 148
Locate_Elements_Containing_Text 156
Locate_Expressions 161
Locate_Generics 167
Locate_Named_Declarations 178
Locate_Operators 187
Locate_Pragmas 197
Locate_Rep_Specs 204
Locate_Statements 203
Locate_Tasking 227
Locate_Type_Declarations 229
metrics collection 56
software maintenance
use of Ada Analyzer for 50
software optimization
Display_Set_Twice_Before_Use 103
Locate_Default_Initialization 152
Locate_Expensive_Types 159
Locate_Generic_Formal_Dependencies 166
Locate_Inline_Candidates 169
Locate_Loop_Nesting 171
Locate_Objects_By_Size 179
Locate_Recursive_Subprograms 199
Locate_Short_Circuit_Opportunities 207
Locate_Unused_Declarations 231
Locate_Unused_With_Clauses 234
see also optimization 103
software portability 61
Locate_Compatibility_Problems 133
Software Productivity Consortium guidelines 300, 330
Sort on Column operation 16
Sort_Ascending switch 28
Sort_By_Subsystem option 3
Sort_Case_Sensitive switch 28
Sort_Order switch 29
sorting
ascending / descending 28
case sensitivity 28
on columns 16
sort_by_subsystem option 3
specifying sort order 29
Source Lines of Code (SLOC) 328
SPARK Ada subset 319
SPC
see Software Productivity Consortium
SPC guidelines
see Software Productivity Consortium's guidelines
spc_enforcement file 39
spelling
see misspelling
spread sheets
input format 20
stack size
missing specification 313
standards checking
code correctness 307
coding rules 69
efficiency 311
maintainability 309
portability 313
program structure 314, 317
readability 312
standards conformance 69
Ada 95 Annex D 317
Ada 95 Annex H 318
Locate_Ada95_Coding_Violations 202
Locate_Coding_Violations 128
Locate_Coding_Violations_Interactively 130
Locate_Name_Anomalies 175
Locate_Named_Declarations 178
Locate_Obsolescent_Ada83_Features 183
Locate_Specific_Coding_Violations 201
rule enabling/disabling 38
rule libraries 299
SPARK Ada subset 319
SPC guidelines 300
statements
locating 203
statistics
collection 89
storage_error exception in logs 11
structure
see design structure, program structure, system structure, program structure
subprogram 35
access values 303, 309
overload resolution 97
partitioning analysis 60
subprogram_nesting_limit file 39
subprograms
adding defaults parameters 337
adding missing parameter modes 337
branch points 109
call tree 97
calling relationships 121
calls with defaults 192
complexity 208, 328
data reference 211
exception propagation 210
execution problems 64, 111
functions without return 192
inlining 169
library-level 301, 316
nesting limit 131, 315
overloading 27
overloading nicknames 27
recursive 130, 199, 311
size 317
Subsystem_Name_Abbreviation_Policy switch 29
Subsystem_Name_Minimum_Abbreviated_Length switch 29
subsystems
cross-subsystem references 101
imports and consistency 113
partitioning 53
removal of .ss suffix 28
sorting reports by 239
subtype_nesting_limit file 39
subtypes
nesting limit 316
without constraints 315
subunits
use of 301, 316
summary editor 14
switches 1
Accept_Use_Defined_Arithmetic_Operators 25
Accepted_Output_Directory 26
Add_Hypertable_Linkage 26
Add_Performance_Summary 26
Add_Unit_Column_Linkage 26
analysis 25
Analysis_Output_Directory 26
as command options 3
Attempt_Analysis_Of_Uninstalled_Units 26
Auto_Elide_Empty_Tables 26
Auto_Incorporate_Accepted 26
Auto_Visit_Report 26
Check_For_Report_Overwrite 26
Check_Units_For_Latest_Cmvc_Version 26
Compute_Closure switch 8, 27
Compute_Overload_Nicknames 27
Display_Subsystem_Names 27
Display_Unit_Names 27
editing 30
Full_Pathname_Display_Option 27
Include_Line_Numbers 27
Include_Program_Unit_Container 28
Include_Table_Explanation_Text_In_Ascii_Out put 21, 28
Include_Unit_History 28
Include_Unit_Version 27
Interleaf_File_Suffix 28
Max_Column_Width 28
Max_Number_Of_Compilation_Units 28
Print_Error_Summaries 28
Print_Warning_Summaries 28
Project_Software_Configuration 28
Remove_Subsystem_SS_Suffix 28
Sort_Ascending 28
Sort_Case_Sensitive 28
Sort_Order 29
Subsystem_Name_Abbreviation_Policy 29
Subsystem_Name_Minimum_Abbreviated_- Length 29
Unit_Name_Display_Option 29
Use_Expanded_Interactive_Explanations 29
Use_File_Based_Explain_Text 29
Use_View_Relative_Output 29
symbolic links 259
synchronization
of data 150
system structure 50
Display_Inter_Subsystem_References 101
Display_Subsystem_Import_Closure 113
Display_Unit_Relationships 110
Locate_Class_Hierarchies 125
Locate_Exceptions 158
Locate_External_Dependencies 162
Locate_Subprogram_References 211
Locate_Subprograms_Propagating_- Exceptions 210
Locate_Subunit_Candidates 223
restructuring 338

T

target compatibility
with generics 164
target dependencies 61, 79
tasking analysis 227
conditional entry calls 302
creation 153
dynamic allocation 302
missing exception handler 302, 308
missing stack size spec 313
selective waits 302
task types 229
use of unreliable attributes 302, 308
tasks
dynamically allocated 131, 315
others handler 303, 309
use of 315
visible declaration of 315
without terminate alternative 315
templates
customization 243
testing
Ada Analyzer test programs 84
path identification 80
unit test development 109
text files
creating from reports 241
Text_Io
use of 130, 133, 311
use of Form parameters 303, 313
threshold options 2
thresholds
value selection 9
title text
file-based customization 29
report table customization 25
To_Report_Named option 3
token management
releasing 11
tokens
limit reached 11
releasing 238
trend analysis
metrics comparison 91
type conversion
unnecessary 316
type structure
basis analysis 229
class types 125
expansion 99
record types 199
type_sizing_file 42
type_sizing_name_map file 43
types
array with implicit index type 310
class hierarchies 125
expansion of composites 99
structural analysis 99
use of access types 311
use of anonymous 301, 314
use of predefined numeric 303, 305

U

Unchecked_Conversion
of unconstrained types 313
size mismatch 130, 133, 305
use of 302, 315
Unchecked_Deallocation
use of 302, 315
unconstrained types
locating 159, 229
Unelide Column operation 15
Unelide Marked operation 17
Unelide Table operation 17
Unelide Unmarked operation 17
unexpected errors 10
unit testing support 80
Unit_Name_Display_Option switch 29
units
analysis of uncompiled 26
size of 317
UNIX
command line syntax 83
Unmarked_Rows_Only format 18, 19
Unmarked_Rows_Only switch 17
UnmarkRow operation 17
Unqualified references 313, 320
unused constructs 71
Locate_Unused_Declarations 231
Locate_Unused_With_Clauses 234
usage scenarios iii
use clauses
locating 236
removing 338
use of unapproved 302, 312
use of Ada Analyzer
by designers iii
by developers iv
by managers iii
Use_Configuration option 3
Use_Expanded_Intereactive_Explanations switch 29
Use_File_Based_Explain_Text switch 29
Use_View_Relative_Output switch 29
user interface
customization 259
User's Guide
how to use iv

V

validation
of coding standards 49
of report contents 86
variables
declaration of visible 314
initialization 181
package 191
renames of 200
synchronization of 150
uninitialized 309
use before set 106
versions
in report output 27
visibility
of exceptions 158
to commands 1
Visit operation 14
Visit_Current_Configuration_Policy 240
visiting reports
automatic 26

W

warning messages 9
log summaries 28
not an Ada unit 10
not installed 10
weighted average
for metrics 87
wildcard names 30
Write_To_Ascii_File 241

Rational Software Corporation  http://www.rational.com
support@rational.com
techpubs@rational.com
Copyright © 1993-2000, Rational Software Corporation. All rights reserved.
TOC PREV NEXT INDEX DOC LIST MASTER INDEX DOC LIST MASTER INDEX