9.

R-S

Recorder

A class used for testing models and views in a Model-View-Controller architecture. A Recorder that tests a model simulates a view and records all calls on it from the model. A Recorder that tests a view simulates a model.

Recursive data type

A data type whose instances may contain subcomponents of the data type itself (e.g., trees, lists, graphs). Recursive data types are ubiquitous in object-oriented programs.

Refactoring

The improvement of code through rewriting. In extreme programming, code is perpetually refactored.

Rogue Tile

A bug pattern caused by a block of copied code containing a bug that was already fixed in the original copy.

Run-on Initializer

A bug pattern that occurs when the necessary sequence of steps for initializing an object is longer than a single constructor call, allowing for some initializations to skip certain steps.

S-expression

Short for symbolic expression. S-expressions are built from a set of atomic elements (called atoms or symbols). Given the set of atoms, any S-expression is either an atom or a list of S-expressions.

Saboteur Data

A bug pattern caused by misformatted stored data that causes an error to be signaled when it's accessed.

Safe system

A system that does not allow its own abstractions to be broken by the user.

Scientific method of debugging

A method of debugging that focuses on hypothesis formation and testing, similar to the textbook account of the scientific method.

Secure system

A system that contains countermeasures to combat various deliberate attacks by an adversary.

Semantic error

An error in input data formatting beyond that of mere syntactic constraints (e.g., a type error).

Singleton design pattern

A pattern that ensures that only one instance of a class is created. All objects that use an instance of that class will use the same instance. This pattern is a potential optimization pattern.

Specification

A description of the functionality provided by a system.

Split Cleaner

A bug pattern caused by code that obtains and frees a resource in distinct code fragments, allowing for certain flows of control to obtain the resource without freeing it.

State design pattern

This pattern encapsulates the states of an object as discrete objects, each belonging to a separate subclass of an abstract state class.

Static checking

Automatic determination before a program is run that it satisfies certain invariants (e.g., type checking).

Static overloading

A programming language feature in which two methods can be defined with the same name in the same class, so long as the parameter types are distinct. Method invocations are disambiguated based on the static types of the arguments.

Static types

The type assigned to an expression during static checking. In a sound language (such as Java), an expression that reduces to a value will reduce to a value that is a subtype of the static type of the original expression.

Static type checking

Static checking of the types of expressions in a program.

Story

A fragment of program specification expressed in prose as an example of how a user would interact with the functionality specified.

Strongly typed language

A language in which programs must pass static type checking before they can be run.

Syntactic error

An error in the formatting of input data caused by a violation of the grammar of the data itself.

System test (a.k.a., acceptance test)

An automated test that determines if a program meets some part of its specification. In contrast, unit tests check that some part (unit) of the implementation behaves as expected.



Bug Patterns in Java
Bug Patterns In Java
ISBN: 1590590619
EAN: 2147483647
Year: N/A
Pages: 95
Authors: Eric Allen

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