Input kludge

Input kludge

In computer programming an input kludge is software that fails to handle simple user input. For example, if a computer program accepts free text input from the user, an "ad hoc" algorithm will mishandle many combinations of legal and illegal input strings. Input kludge is usually difficult for a programmer to detect in a unit test, but very easy for the end user to find. The evidence exists that the end user can easily crash software that fails to correctly handle user input. Indeed, the buffer overflow security hole is an example of the problems caused.

Input kludge is an example of an anti-pattern.

To solve input kludge, one may use input validation algorithms to handle user input. A monkey test can be used to detect an input kludge problem. A common first test to discover this problem is to roll one's hand across the computer keyboard or to 'mash' the keyboard to produce a large junk input, but such an action often lacks reproducibility, a more useful test is to generate inputs that are designed to trigger the bug if it exists.

See also

* Garbage In, Garbage Out
* Kludge
* Secure input and output handling


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Anti-pattern — For the book, see AntiPatterns. In software engineering, an anti pattern (or antipattern) is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.[1][2] The term was coined in 1995 by Andrew Koenig,[3]… …   Wikipedia

  • Antipatrón de diseño — Saltar a navegación, búsqueda Un antipatrón de diseño es un patrón de diseño que invariablemente conduce a una mala solución para un problema. Al documentarse los antipatrones, además de los patrones de diseño, se dan argumentos a los diseñadores …   Wikipedia Español

  • Антипаттерн — Возможно, эта статья содержит оригинальное исследование. Добавьте ссылки на источники, в противном случае она может быть выставлена на удаление. Дополнительные сведения могут быть на странице обсуждения. (25 мая 2011) …   Википедия

  • Code injection — is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by an attacker to introduce (or inject ) code into a computer program to change the course of execution. The results of a code injection… …   Wikipedia

  • Sinclair ZX81 — Infobox computer Photo = Type = Home computer Released = 1981 Discontinued = 1984 [cite book |last=Forster |first=Winnie |authorlink=Winnie Forster |title=The encyclopedia of consoles, handhelds home computers 1972 2005 |year=2005… …   Wikipedia

  • FOCAL (programming language) — FOCAL, (abbreviation of FOrmula CALculator), is an interpreted programming language resembling JOSS.Largely the creation of Richard Merrill, FOCAL was initially written for and had its largest impact on the Digital Equipment Corporation s (DEC s) …   Wikipedia

  • OLPC XO-1 — XO 1 Manufacturer Quanta Computer Media 1 GB flash memory Operating system …   Wikipedia

  • computers — (New American Roget s College Thesaurus) Electronic data processors Nouns 1. computer, analog or digital computer, CISC or RISC computer, workstation, supercomputer, mainframe, minicomputer, microcomputer, personal computer, PC, Macintosh, IBM… …   English dictionary for students

  • History of Mac OS — On January 24, 1984, Apple Computer, Inc. (now Apple Inc.) introduced the Apple Macintosh personal computer, with the Macintosh 128K model, which came bundled with the Mac OS operating system, then known as the System Software .Fact|date=April… …   Wikipedia

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”