Designul unei camere curate este o strategie specială în ingineria IT. Cu un design de cameră curată, lucrătorii pot „reverse engineering” un program software în diferiți pași procedurali, fără să știe cum a fost construit inițial. Acest proces înapoi este similar cu demontarea unui motor sau a unui alt dispozitiv mecanic complex pentru a înțelege cum funcționează și cum este asamblat. Programatorii fac acest lucru „descifrând” fiecare pas al unui proces de cod și obținând o imagine mai clară a modului în care a fost scris inițial.
Un alt tip de idee de programare numită „cod curat” diferă esențial de strategia camerei curate. Codul scris curat este clar și concis, cu puțin sau deloc cod superflu. Un design de cameră curată, pe de altă parte, este o tehnică de manipulare a codului existent. Designul camerei curate a fost istoric o lacună în jurul legilor privind drepturile de autor și acuzațiilor de încălcare a drepturilor de autor asupra produselor. Apărarea în designul camerei curate poate sau nu poate fi eficientă pentru a ajuta o companie să evite răspunderea pentru taxele că au copiat un fel de software sau produs IT. Când cazul privind drepturile de autor se bazează pe utilizarea „codului proprietar”, o apărare pentru designul camerei curate poate fi utilă.
„Perete chinezesc” este un termen adesea asociat cu tehnica de proiectare a camerei curate. Acest tip de procedură nu gestionează codul proprietar. Inginerii care nu au cunoștințe despre un produs ar putea teoretic să-l recreeze folosind această tehnică.
În implementarea ingineriei inverse a designului camerei curate, profesioniștii pot folosi un instrument software numit „decompiler”. Decompilatorul este esențial pentru procesul de inginerie inversă, din cauza modului în care codul computerului este compactat și rearanjat pentru „timpul de rulare”. Multe programe de calculator sunt scrise în limbi precum MS Visual Basic sau „C Suite”. Când sunt încorporate în „executabile”, codul la nivel de limbă este simplificat în ceea ce se numește cod mașină. La nivelul său cel mai de bază, acesta se rezumă la un limbaj binar, compus doar dintr-o serie de unu și zerouri.
În multe cazuri, nu este posibil să reintroduceți codul de mașină de inginerie inversă în codul de limbă originală. Când este posibil să faceți acest lucru, totuși, strategia camerei curate este adesea o componentă a tehnicii pe care o folosesc inginerii. Luând codul înapoi printr-un proces invers, natura codului original poate deveni evidentă.
Utilizarea tehnicii camerei curate duce uneori companiile în situații juridice complicate cu privire la ceea ce constituie drepturi intelectuale asupra produselor software. Majoritatea profesioniștilor ar fi de acord că acest tip de situație este mai bine să fie evitat, dar în unele cazuri, ingineria inversă poate fi de ajutor unei afaceri sau întreprinderi. Pe măsură ce apariția „ingineriei cu sursă deschisă” schimbă numărul de oameni care se uită la software, există mai multe șanse ca tehnicile camerelor curate și ingineria inversă să devină mai utile, deoarece legile stricte privind proprietatea intelectuală pot fi relaxate din cauza principiului codului sursă deschisă. , care presupune ideea că codul ar trebui să fie partajat și nu păzit de programatori.