İster bir araba
motorunu yeniden inşa etmeye çalışın isterseniz kendi oyuncak arabanızı.
İnsanlar birçok bilgiyi; bir aletin nasıl çalıştığını, onu parçalarına ayırıp
sonra bunları birleştirerek öğrenebilir. Tersine mühendisliğin (Reverse
Engineering) ardında yatan konsept de budur.
Tersine
mühendislik; bir aygıtın, objenin veya sistemin temel parçalarına ayrılarak,
yapısının, işlevinin veya çalışmasının çıkarımcı bir akıl yürütme analiziyle
keşfedilmesi işlemidir. Tersine mühendislik uygulamaları, birçok farklı amaca
hizmet etmektedir; ama sonuçta öğrenilmek istenen bilgiler ortaktır: Bu cihazın
yapımında neler kullanıldı? Hangi parçalar nerelerde kullanılıyor? Parçaların
fiziksel özelleri neler? Hangi olaylar ne zaman gerçekleşiyor?...
Tersine
mühendislik birçok amaca yönelik olarak uygulanabilir:
- Piyasada mevcut olarak bulunan bir ürünün iyi ve kötü özelliklerini analiz edip, ondan daha iyi özelliklere sahip ve/veya daha ucuz ürünler tasarlamak için
- Ticari bir ürünün belgelenmemiş, bilgi verilmemiş özelliklerini ortaya çıkarmak için
- El yapımı parçaların bilgisayar ortamına aktarılmasında ya da hasar görmüş parçaların yeniden işlenmesinde
- Bir eğitim aracı olarak
- Daha efektif yazılımlar yazmak için
- Farklı işletim sistemleri veya veritabanları arasında köprü kurup bilgi aktarmak için
Xerox firması ilk
fotokopi makinasını piyasaya sürdüğünde ilk iki ürünün IBM ve Kodak tarafından
satın alındığına dair bir dedikodu dönmüştür. Bu olay günümüzde de
geçerliliğini korumaktadır. Firmalar rakiplerinin ürünlerini takip eder ve detaylı
olarak inceler. Firmalar Ar-Ge departmanlarında tersine mühendislik yaparak
rakiplerin neler yaptıklarını, tasarımlarını bilerek; uzun araştırmalara gerek
duymadan ve daha az maliyetle yeni bir sektöre girmenin yolunu bulmuş olurlar.
(2003 yapımı “Paycheck” filminde de bu konunun bir örneğine
rastlayabilirsiniz.)
Tersine
mühendislik yapılan ürünün birebir kopyası başka bir marka adı altında
çıkartılmadıkça kanunen bir sakınca doğurmamaktadır. Özellikle tekellerden
kaçınmak ve rekabetçi bir piyasa oluşturulması için tersine mühendislik,
yasalar çerçevesinde serbest bırakılmıştır. Ürünün birebir benzer olmasını
engellemek ve telif hakları ihlali davalarından kaçınmak için “Clean Room” vb.
yaklaşımlar mevcuttur. Aşağıda link sayesinde tersine mühendisliğin hukuka aykırı
olup olmadığı hakkında daha fazla bilgi mevcuttur.
Tersine
mühendislik işlemi aslında genellikle donanıma uygulanmakta iken artık
yazılıma, veritabanına ve hatta insan DNA’sına bile uygulanmaktadır. Mesela C
programı ile yazılmış bir kod compiler yardımıyla makinenin anlayabileceği bir
dile çevrilir. O dili direkt olarak anlamak çok zor görünse de artık decompiler
programları sayesinde bu kodu tekrar kullanıcı dostu dillere dönüştürmek mümkün
olmuştur.
Phoenix
Technologies Ltd.’nin 1980li yıllarda bilgisayarlar için yaptığı BIOS, tersine
mühendisliğe güzel bir örnek olarak gösterilebilir. (BIOS: Basic Input Output
System. Sistemin giriş ve çıkış aygıtlarını kontrol ederek sistemin açılmasını
sağlayan kalıcı bir yazılımdır. Onun sayesinde anakartın birçok özelliğini
kullanmamıza olanak sağlayan yazılım, sistem ve donanımlarımız arasında
bağlantı kurmuş oluruz.)
Bu iş için IBM’in
BIOS’u incelenmiştir. Patent yasalarından korunmak için de “Clean Room” ya da “Chinese Wall” isimli yaklaşım uygulanmıştır. İlk olarak bir
mühendis grubu IBM BIOS’unu (yaklaşık 8KB’lık bir kod) incelemiş ve onu gerçek
koddan hiçbir alıntı yapmadan tanımlamış ve anlatmıştır. Sonrasında IBM BIOS’u
hakkında hiçbir bilgisi olmayan ve kodları hiç görmemiş ikinci bir takım
mühendis, sadece ilk takımın verdiği tanımlamaları kullanarak çalışan bir BIOS
yazmıştır. Sonuçta oluşan Phoenix BIOS kodu IBM’inkinden farklıydı ama çalışma
gayeleri tamamen aynıydı. Clean Room yaklaşımı ile yazılan kodun bazı kısımları
tamamen aynı olmasına rağmen hiçbir telif hakkı ihlaline yol açmamıştır.
Aşağıdaki linkte bir
Furby oyuncağına yönelik tersine mühendislik işlemlerini ve uygulamalarını, hem
yazılımsal hem donanımsal açıdan detaylarıyla görebilirsiniz.
Ülkemiz birçok
sektörde sadece üretici konumundan çıkmakta ve artık ürün geliştiren bir konuma
gelmektedir. Türk Cumhuriyetlerinde, Orta Doğu’da, Arap ülkelerinde ve iç
pazarlarımızda, Türkiye’de üretilen ve tasarlanan ürünler artık daha çok tercih
edilmeye başlanmıştır. Yerli firmalarımızın küresel rekabette çok daha kuvvetli
olabilmek için yaratıcılığa, ürün tasarımına ve üretimine ihtiyacı var. Bunlar
için de zaman ve finansal kaynağa ihtiyaç duyulmaktadır. Tersine mühendislik
sayesinde bu ihtiyaçlar en aza indirgenebilir.
Aşağıdaki pdf’lerde
konu ile ilgili daha detaylı bilgilere ulaşabilirsiniz:
Konu tavsiyesi
için Akif Akkaya’ya teşekkürler…
selam cok guzel yazi ama guncellesenize biraz yil olmus 2019
YanıtlaSil