FIGURES (with pagenumber)

  • FIGURE 1 The program comprehension Pragmatics   17
  • FIGURE 2 A horse shoe illustrates a reverse engineering cycle   25
  • FIGURE 3 Main levels of Pragmatics, the methodology 50
  • FIGURE 4 The main approaches for the program comprehension tool 53
  • FIGURE 5 Program comprehension as automata and transformations 58
  • FIGURE 6 Definition of a computable function by a register machine   61
  • FIGURE 7 Pragmatics and the corresponding theories 77
  • FIGURE 8 Defining the Symbolic language 82
  • FIGURE 9 Direct, semantic translation 93
  • FIGURE 10 Atomistic metaphor for the Java main method  102
  • FIGURE 11 The semantics of the symbolic atom   107
  • FIGURE 12 Presenting structural dependencies of an atom as links  109
  • FIGURE 13 Atomistic hybrid object, AHO, the architecture 110
  • FIGURE 14 Class hierarchy of the symbolic atom 111
  • FIGURE 15 The role of the abstract machine and SimulationWare  125
  • FIGURE 16 The functional principle of the symbolic abstract machine  127
  • FIGURE 17 Challenges for analyzing OO programs 131
  • FIGURE 18 Turing model for an atomistic element 149
  • FIGURE 19 Implementation layers for the symbolic abstract machine 153
  • FIGURE 20 Information levels, produced by the symbolic model 154
  • FIGURE 21 Sample code for illustrating its data and Turing model   159
  • FIGURE 22 Bridging from grammar to model, and knowledge unit 161
  • FIGURE 23 A graphic explanation is a set of causal relations 162
  • FIGURE 24 Skill-level presentation (variable X) 167
  • FIGURE 25 A causal chain of a sequence with its pre- and postconditions 168
  • FIGURE 26 A model for evaluating a sequence as a Hoare triple  170
  • FIGURE 27 An automated explanation based on a flow as natural semantics   173
  • FIGURE 28 Action levels based on adaptation, preference, and fallback  176
  • FIGURE 29 Hypothesis resolution approach  178
  • FIGURE 30 Different functions for an operand to be used in tapes  180
  • FIGURE 31 Specifying constraints in a tape   180
  • FIGURE 32 Sample theorems, forward and backward chaining   182
  • FIGURE 33 Resulting model for KnowledgeWare and MaintenanceWare 192
  • FIGURE 34 Architecture levels of the JavaMaster tool 197
  • FIGURE 35 Data flow of the tool  199
  • FIGURE 36 Symbolic icons, illustrating a symbolic Turing machine   201
  • FIGURE 37 Displaying an atom in the atom toolbar   201
  • FIGURE 38 Entering the test code for the abstract machine  202
  • FIGURE 39 Input tape of the atomistic model derived from EXAMPLE 1   202
  • FIGURE 40 Output tape derived from the abstract machine for EXAMPLE 1 203
  • FIGURE 41 A theorem is a selected sequence of atoms, consisting of rules   204
  • FIGURE 42 Configuring a hypothesis for a loop   206
  • FIGURE 43 Interactive theorem prover for Java programs   207
  • FIGURE 44 Simulation results in the theorem prover dialog 211
  • FIGURE 45 Problem formulation dialog   212
  • FIGURE 46 Selecting the understanding strategy 214
  • FIGURE 47 Display for validating functionality   All functions are shown   214
  • FIGURE 48 Display for validating a control flow (side effects not shown)  215
  • FIGURE 49 Display for validating a data flow   215
  • FIGURE 50 A hypothesis for tracing objects, here DataInputStream   216
  • FIGURE 51 Display for validating object flows, constructors   217
  • FIGURE 52 Display for validating state-oriented functionality 217
  • FIGURE 53 Layout of the tool   220
  • FIGURE 54 Data flow in the methodology  223
  • FIGURE 55 Connections from the technology spaces to computer science 254
  • FIGURE 56 Prolog’s computation model 278
  • FIGURE 57 Each goal (call) tries to get solutions exhaustively  279
Advertisements