Co to jest projekt Clean Room?
Projektowanie pomieszczeń czystych jest szczególną strategią w inżynierii IT. Dzięki projektowi pomieszczeń czystych pracownicy mogą „dokonywać inżynierii wstecznej” programu na różnych etapach procedury, nie wiedząc, jak został on pierwotnie zbudowany. Ten proces wstecz jest podobny do rozbierania silnika lub innego złożonego urządzenia mechanicznego w celu zrozumienia, jak to działa i jak się składa. Programiści robią to, „odszyfrowując” każdy etap procesu kodu i uzyskując wyraźniejszy obraz tego, jak został napisany.
Inny rodzaj idei programistycznej zwany „czystym kodem” różni się krytycznie od strategii czystego pokoju. Czysto napisany kod jest przejrzysty i zwięzły, bez zbędnego lub niepotrzebnego kodu. Z drugiej strony projekt czystego pokoju jest techniką manipulowania istniejącym kodem. Projekt czystego pokoju był historycznie luką w prawie autorskim i zarzutach naruszenia praw autorskich do produktu. Obrona projektu czystego pokoju może, ale nie musi być skuteczna, pomagając firmie uniknąć odpowiedzialności za zarzuty, które skopiowały jakieś oprogramowanie lub produkt IT. Gdy sprawa dotycząca praw autorskich opiera się na użyciu „zastrzeżonego kodu”, pomocna może być obrona projektu pomieszczenia czystego.
„Chińska ściana” to termin często kojarzony z techniką projektowania pomieszczeń czystych. Ten rodzaj procedury nie obsługuje kodu własnościowego. Inżynierowie, którzy nie znają produktu, mogą teoretycznie odtworzyć go przy użyciu tej techniki.
Przy wdrażaniu inżynierii wstecznej projektowania pomieszczeń czystych specjaliści mogą korzystać z oprogramowania zwanego „dekompilatorem”. Dekompilator ma kluczowe znaczenie dla procesu inżynierii odwrotnej, ze względu na sposób, w jaki kod komputerowy jest kompaktowany i dostosowywany do „czasu wykonywania”. Wiele programy komputerowe są pisane w językach takich jak MS Visual Basic lub „C Suite”. Gdy są wbudowane w „pliki wykonywalne”, kod na poziomie języka jest upraszczany do tak zwanego kodu maszynowego. Na najbardziej podstawowym poziomie jest to sprowadzone do języka binarnego, złożonego wyłącznie z szeregu zer i jedynek.
W wielu przypadkach nie jest możliwe przywrócenie kodu maszynowego z powrotem do oryginalnego kodu poziomu języka. Gdy jest to możliwe, strategia „czystego pokoju” jest często elementem techniki stosowanej przez inżynierów. Przejęcie kodu z powrotem przez proces odwrotny może stać się oczywisty.
Wykorzystanie techniki „czystego pokoju” czasami powoduje, że firmy znajdują się w skomplikowanych sytuacjach prawnych związanych z prawami intelektualnymi do oprogramowania. Większość specjalistów zgodzi się, że lepiej unikać tego rodzaju sytuacji, ale w niektórych przypadkach inżynieria odwrotna może być pomocna dla firmy lub przedsiębiorstwa. Wraz z nadejściem „inżynierii open source” zmienia się liczba osób spoglądających na oprogramowanie, istnieje większe prawdopodobieństwo, że techniki czystego pokoju i inżynieria odwrotna mogą stać się bardziej przydatne, ponieważ rygorystyczne przepisy dotyczące własności intelektualnej mogą zostać złagodzone z powodu zasady otwartego kodu źródłowego , co sugeruje, że kod powinien być współdzielony, a nie chroniony przez programistów.