Odokumenterad funktion
En odokumenterad funktion är en oavsiktlig eller odokumenterad maskinvaruoperation, till exempel en odokumenterad instruktion , eller mjukvarufunktion som finns i hårdvara och programvara som anses vara fördelaktig eller användbar. Ibland utelämnas dokumentationen genom tillsyn, men odokumenterade funktioner är ibland inte avsedda att användas av slutanvändare , utan lämnas tillgängliga för användning av leverantören för mjukvarustöd och utveckling. Oavsiktlig användning av hårdvara eller mjukvara som i slutändan är till nytta för användarna är helt enkelt en bugg , brist eller egendom.
Eftersom leverantörerna av mjukvaran vanligtvis anser att mjukvarudokumentationen utgör ett kontrakt för mjukvarans beteende, lämnas odokumenterade funktioner i allmänhet inte stödda och kan tas bort eller ändras efter behag och utan meddelande till användarna.
Vissa användarrapporterade defekter ses av mjukvaruutvecklare som fungerande som förväntat, vilket leder till slagordet "det är inte en bugg, det är en funktion" (INABIAF) och dess variationer.
Hårdvara
Odokumenterade instruktioner, kända som illegala opcodes , på MOS Technology 6502 och dess varianter används ibland av programmerare. Dessa togs bort i WDC 65C02 .
Videospels- och demosceneprogrammerare för Amiga har utnyttjat den oavsiktliga driften av dess samprocessorer för att producera nya effekter eller optimeringar. [ citat behövs ]
Under 2019 upptäckte forskare att en tillverkares felsökningsläge, känt som VISA, hade en odokumenterad funktion på Intel Platform Controller Hubs, chipset som ingår på de flesta Intel-baserade moderkort, vilket gör läget tillgängligt med ett vanligt moderkort. Eftersom chipseten har direkt minnesåtkomst är detta problematiskt av säkerhetsskäl.
programvara
Odokumenterade funktioner (till exempel möjligheten att ändra switchkaraktären i MS -DOS, vanligtvis till ett bindestreck ) kan inkluderas för kompatibilitetssyften (i det här fallet med Unix- verktyg) eller för framtida expansionsskäl. Dock; om programvaruleverantören ändrar sin programvarustrategi för att bättre anpassa sig till verksamheten, gör avsaknaden av dokumentation det lättare att motivera borttagningen av funktionen.
Nya versioner av programvara kanske utelämnar omnämnandet av gamla (eventuellt ersatta) funktioner i dokumentationen men håller dem implementerade för användare som har vant sig vid dem.
I vissa fall kallas programvarubuggar av utvecklare antingen på skämt eller bekvämt som odokumenterade funktioner. Denna användning kan ha blivit populär i vissa av Microsofts svar på felrapporter för dess första Word för Windows- produkt, men har inte sitt ursprung där. Den äldsta bevarade referensen på Usenet dateras till 5 mars 1984. Mellan 1969 och 1972 använde Sandy Mathes, en systemprogrammerare för PDP-8 -programvara vid Digital Equipment Corporation (DEC) i Maynard, MA, termerna "bugg" och "funktion" i sin rapportering av testresultat för att skilja mellan odokumenterade handlingar av levererade mjukvaruprodukter som var oacceptabla respektive tolererbara . Denna användning kan ha vidtagits.
Odokumenterade funktioner i sig har blivit en viktig del av datorspel . Utvecklare inkluderar ofta olika fusk och andra specialfunktioner (" påskägg ") som inte förklaras i det förpackade materialet, men som har blivit en del av "suget" om spelet på Internet och bland spelare. De odokumenterade egenskaperna hos utländska spel är ofta element som inte var lokaliserade från deras modersmål.
API:er med stängd källkod kan också ha odokumenterade funktioner som inte är allmänt kända. Dessa används ibland för att få en kommersiell fördel gentemot programvara från tredje part genom att tillhandahålla ytterligare information eller bättre prestanda till applikationsleverantören.