Input kludge (original) (raw)
En computació l'antipatró de disseny entrada nyap succeeix quan l'entrada de dades d'un programa específic no es tracta adequadament. Per exemple, si un programa accepta l'entrada de qualsevol text per part de l'usuari final i s'utilitza un algorisme que manipuli totes les cadenes possibles tant si són vàlides com si no ho són.
Property | Value |
---|---|
dbo:abstract | En computació l'antipatró de disseny entrada nyap succeeix quan l'entrada de dades d'un programa específic no es tracta adequadament. Per exemple, si un programa accepta l'entrada de qualsevol text per part de l'usuari final i s'utilitza un algorisme que manipuli totes les cadenes possibles tant si són vàlides com si no ho són. En general és difícil per a un programador detectar, mitjançant una prova unitària, totes les possibles combinacions errònies d'una entrada de dades. Tot i així és molt fàcil per a l'usuari final reconèixer que la cadena d'entrada és incorrecta i així bloquejar el programa. De fet, el desbordament de búfer és un exemple de forat de seguretat provocat pels problemes que causa un mal tractament de les dades d'entrada. Per evitar el nyap d'entrada es poden utilitzar algorismes de validació que determinin quines dades han de ser vàlides i evitar així el tractament de les dades no vàlides. Per exemple, realitzar l'anàlisi lèxic i/o sintàctic utilitzant programari específic tal com Lex, Yacc i GNU Bison que permeten dur a terme un control robust de text mitjançant expressions regulars i gramàtiques lliures de context del llenguatge. Es recomana la utilització d'aquestes tecnologies per assegurar el tractament adequat d'entrades inesperades. (ca) En computación el antipatrón de diseño chapuza de entrada ocurre cuando la entrada de datos de un programa específico no se maneja adecuadamente. Por ejemplo, si un programa acepta la entrada de cualquier texto por parte del usuario final y se utiliza un algoritmo que manipule mediante muchas combinaciones todas las cadenas posibles tanto si son válidas como si no lo son. Por lo general es difícil para un programador detectar, en una prueba unitaria, todas las posibles combinaciones erróneas de una entrada de datos. Sin embargo es muy fácil para el usuario final reconocer que la cadena de entrada es incorrecta y así bloquear el programa. De hecho, el desbordamiento de búfer es un ejemplo de agujero de seguridad provocado por los problemas que causa un mal manejo de los datos de entrada. Para evitar la chapuza de entrada se pueden utilizar algoritmos de validación que determinen que datos deben ser válidos y evitar el tratamiento de los datos no válidos. Por ejemplo, realizar el análisis léxico y/o sintáctico utilizando software específico tales como Lex, Yacc y GNU Bison que permiten obtener un control robusto de texto compuesto por expresiones regulares y gramáticas libres de contexto del lenguaje. Se recomienda el empleo de estas tecnologías para asegurar el manejo adecuado de entradas inesperadas. (es) In computer programming, an input kludge is a type of failure in software (an anti-pattern) where simple user input is not handled. 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 kludges are 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. To remedy input kludges, 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. Greater systematicity and reproducibility may be obtained by using fuzz testing software. (en) |
dbo:wikiPageID | 1781615 (xsd:integer) |
dbo:wikiPageLength | 1328 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 811944475 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Anti-pattern dbr:Computer_keyboard dbr:Computer_software dbc:Software_bugs dbr:Monkey_test dbr:Computer_program dbr:Computer_programming dbr:Fuzz_testing dbr:Data_validation dbr:Garbage_in,_garbage_out dbr:Crash_(computing) dbc:Anti-patterns dbr:Buffer_overflow dbr:Kludge dbr:Reproducibility dbr:Unit_test |
dbp:wikiPageUsesTemplate | dbt:Unreferenced |
dct:subject | dbc:Software_bugs dbc:Anti-patterns |
gold:hypernym | dbr:Failure |
rdf:type | yago:WikicatSoftwareBugs yago:Animal100015388 yago:Arthropod101767661 yago:Bug102236355 yago:Insect102159955 yago:Invertebrate101905661 yago:LivingThing100004258 yago:Object100002684 yago:Organism100004475 yago:PhysicalEntity100001930 dbo:MilitaryConflict yago:Whole100003553 |
rdfs:comment | En computació l'antipatró de disseny entrada nyap succeeix quan l'entrada de dades d'un programa específic no es tracta adequadament. Per exemple, si un programa accepta l'entrada de qualsevol text per part de l'usuari final i s'utilitza un algorisme que manipuli totes les cadenes possibles tant si són vàlides com si no ho són. (ca) En computación el antipatrón de diseño chapuza de entrada ocurre cuando la entrada de datos de un programa específico no se maneja adecuadamente. Por ejemplo, si un programa acepta la entrada de cualquier texto por parte del usuario final y se utiliza un algoritmo que manipule mediante muchas combinaciones todas las cadenas posibles tanto si son válidas como si no lo son. (es) In computer programming, an input kludge is a type of failure in software (an anti-pattern) where simple user input is not handled. 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 kludges are 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. (en) |
rdfs:label | Entrada nyap (ca) Entrada chapuza (es) Input kludge (en) |
owl:sameAs | freebase:Input kludge yago-res:Input kludge wikidata:Input kludge dbpedia-ca:Input kludge dbpedia-es:Input kludge dbpedia-hu:Input kludge https://global.dbpedia.org/id/4nZY7 |
prov:wasDerivedFrom | wikipedia-en:Input_kludge?oldid=811944475&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Input_kludge |
is foaf:primaryTopic of | wikipedia-en:Input_kludge |