depuració

f
Electrònica i informàtica

Procés de detecció, aïllament i eliminació dels errors presents en un programa, o de les fallades d’un sistema informàtic.

Els errors sintàctics, aquells que s’originen en escriure una instrucció que no s’adequa a la sintaxi del llenguatge de programació emprat, si bé són detectats pels processos de traducció, no poden pas ésser resolts, i sovint ni tan sols localitzats exactament. Cal, doncs, que un programador expert usi el seu coneixement per a situar-los i resoldre'ls. Més complicat és el cas dels errors semàntics, aquells que manipulen conjuntament dades de tipus incompatible amb el tipus de manipulació que hom pretén realitzar. Si el llenguatge utilitzat és fortament tipat, els errors semàntics seran detectats en la fase de traducció; altrament, només es podrà detectar la seva existència, si tenim sort, en l’execució, generalment perquè el sistema genera un error d’execució en intentar realitzar una operació que no li és possible. Finalment, els errors de lògica són els més difícils de detectar. Es tracta d’aquells errors produïts per un mal disseny de l’algorisme, de tal manera que les operacions que aquest realitza no es corresponen amb les operacions que hom desitjava fer. Tant els errors de lògica com els semàntics que no han generat errors d’execució, només es poden detectar amb una anàlisi acurada i exhaustiva de les dades de les diverses execucions. Però, amb tot, no hi ha cap garantia que el programa no tingui cap error. Per això és fonamental l’ús de tècniques i de llenguatges de programació que dificultin l’aparició d’errors lògics, com és el cas de l’especificació i de la tipificació forta. Malgrat tot, però, la depuració no pot ser pas una tasca automàtica. El màxim que es pot aconseguir és la detecció automàtica de la major part dels errors, però la seva localització i erradicació exigeixen un programador o analista especialitzat.