Index_P


P

PC-lint, 485–88

analysis comparison, 504

defined, 485

error types, 485–87

features, 485

language-construct analysis, 486–87

language-specific analyses, 486

numerical-type analysis, 486

preprocessor macro scan, 486

procedural value tracking, 487

technology, 485–87

usage, 487–88

See also Static-analysis tools

Penultimate pointer, 126

Petroski, Henry, 435–36, 437

Platforms

different, executing on, 255–56

stabilizing programs and, 203

Pointers

back, 318

inspecting, 120

null, 124, 144, 154

penultimate, 126

saving, to upper frontier, 125

Polya, George, 175

defined, 176

“How to Solve It” list, 176–77

questions and suggestions, 177–78

See also Mathematicians

Possibilities, enumerating, 41–42

_Power variable, 130, 131, 132, 144, 152

Preliminary design (engineering), 434–35

Probability decisions, 412–13

base rates, 413

certainty effect, 413

conjunction effect, 412–13

disjunction effect, 413

ease of representation, 412

framing of choices, 412

gambler’s fallacy, 413

See also Knowledge-based errors

Problems

application, cutting down, 204–5

categorizing, 208–12

code, 60

compiler, cutting down, 206–7

control-flow, 377

describing, 212–13

dynamic data-structure, 374

else, 325

explaining, to someone else, 213

external software, 379–80

GUI application, cutting down, 205–6

memory, 375–76

memory corruption, 320

object-oriented, 375

physical displacement of, 58

recalling, 214–15

rule, 403–4

similarity, 214–15

static data-structure, 373–74

value-corruption, 377–78

Procedure arguments display, 230–32

defined, 230

language specifics, 231–32

potential problems, 230

purpose, 230

questions answered, 230

refined tactics, 230–31

related tactics, 231

tactics selection, 231

See also Debugging tactics

Procedure metarules, 457–59

commentary, 458

convention examples, 458–59

See also Programming conventions

Program (case study I), 63–174

bug 1, 78–83

bug 2, 83–89

bug 3, 89–94

bug 4, 94–111

bug 5, 111–14

bug 6, 115–17

bug 7, 117–22

bug 8, 122–26

bug 9, 126–32

bug 10, 133–36

bug 11, 136–43

bug 12, 143–45

bug 13, 145–53

bug 14, 153–54

bug 15, 155–74

code, 64–77

complete binary tree, 64

defined, 63–64

heap sorts, 63–64

Program (case study II), 257–60

algorithm, 258

bug 1, 262–65

bug 2, 265–67

bug 3, 267–68

bug 4, 268–79

code, 258–62

defined, 257

final source, 275–79

final test, 269–74

Program (case study III), 279–360

bug 1, 303–7

bug 2, 307–11

bug 3, 311–16

bug 4, 316–17

bug 5, 317–19

bug 6, 319–22

bug 7, 323–26

bug 8, 326–28

bug 9, 328–31

bug 10, 331–34

code, 281–303

defined, 279–80

expression tree, 280

final source, 338–60

final test, 334–38

idioms, 280

idioms database, 281

matching phase, 281

numbering phase, 280, 281

Program Data Base (PDB), 468

Programming conventions, 451–566

class structure metarules, 455–57

defined, 451

language-construct avoidance metarules, 465–66

naming-convention metarules, 462–65

object-oriented, 452–53

procedure metarules, 457–59

source-file metarules, 453–55

statement metarules, 459–62

Program slices, 195

Program slice strategy, 195

assumptions, 195

choosing, 198

control structure, 195

See also Debugging strategies

Prototypes

functional, 445

implementation, 444–45

performance, 445

user-interface, 445

Psychologists

error cause explanations, 394–413

human cognition models, 388–89

human error definition/classification, 389–94

research, 414–27

way of, 3, 387–431

worldview of, 387–88

Purify, 495–97

analysis comparison, 504, 505

defined, 495

features, 495

technology, 496–97

usage, 497




Debugging by Thinking. A Multidisciplinary Approach
Debugging by Thinking: A Multidisciplinary Approach (HP Technologies)
ISBN: 1555583075
EAN: 2147483647
Year: 2002
Pages: 172

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net