en.unionpedia.org

Offensive programming, the Glossary

Index Offensive programming

Offensive programming is a name used for the branch of defensive programming that expressly departs from defensive principles when dealing with errors resulting from software bugs.[1]

Table of Contents

  1. 12 relations: Acceptance testing, Assertion (software development), Defensive programming, Design by contract, Enumerated type, Fail-fast system, Fault tolerance, Null pointer, Software bug, Strategy pattern, Test-driven development, Unit testing.

  2. Programming principles

Acceptance testing

In engineering and its various subdisciplines, acceptance testing is a test conducted to determine if the requirements of a specification or contract are met.

See Offensive programming and Acceptance testing

Assertion (software development)

In computer programming, specifically when using the imperative programming paradigm, an assertion is a predicate (a Boolean-valued function over the state space, usually expressed as a logical proposition using the variables of a program) connected to a point in the program, that always should evaluate to true at that point in code execution.

See Offensive programming and Assertion (software development)

Defensive programming

Defensive programming is a form of defensive design intended to develop programs that are capable of detecting potential security abnormalities and make predetermined responses. Offensive programming and defensive programming are programming paradigms and programming principles.

See Offensive programming and Defensive programming

Design by contract

Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. Offensive programming and design by contract are programming paradigms.

See Offensive programming and Design by contract

Enumerated type

In computer programming, an enumerated type (also called enumeration, enum, or factor in the R programming language, and a categorical variable in statistics) is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type.

See Offensive programming and Enumerated type

Fail-fast system

In systems design, a fail-fast system is one that immediately reports at its interface any condition that is likely to indicate a failure. Offensive programming and fail-fast system are programming principles.

See Offensive programming and Fail-fast system

Fault tolerance

Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components.

See Offensive programming and Fault tolerance

Null pointer

In computing, a null pointer or null reference is a value saved for indicating that the pointer or reference does not refer to a valid object.

See Offensive programming and Null pointer

Software bug

A software bug is a bug in computer software.

See Offensive programming and Software bug

Strategy pattern

In computer programming, the strategy pattern (also known as the policy pattern) is a behavioral software design pattern that enables selecting an algorithm at runtime.

See Offensive programming and Strategy pattern

Test-driven development

Test-driven development (TDD) is a way of writing code that involves writing an automated unit-level test case that fails, then writing just enough code to make the test pass, then refactoring both the test code and the production code, then repeating with another new test case.

See Offensive programming and Test-driven development

Unit testing

Unit testing, a.k.a. component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior.

See Offensive programming and Unit testing

See also

Programming principles

References

[1] https://en.wikipedia.org/wiki/Offensive_programming