Yani’s Weblog

it’s all about software engineering…

Safe Programming

Safe programming adalah bagian dari dependable programming, yaitu pemrograman yang memanfaatkan teknik dan programming constructs yang bisa mendukung fault avoidance dan fault tolerance. Fault pada program biasanya terjadi karena programmer melakukan kesalahan. Bisa kesalahan dalam menginterpretasikan spesifikasi program yang seharusnya dibuat, atau karena program yang over-complex, atau karena penggunaan programming construct yang rawan menyebabkan error.

Salah satu usaha yang dapat dilakukan untuk meningkatkan dependability dari kode program kita adalah dengan menerapkan safe programming, dimana kita menghindar sebanyak mungkin dari penggunaan programming construct yang rawan menyebabkan error. Berikut beberapa contohnya:

  • penggunaan floating point number; sering menyebabkan kesalahan saat kita melakukan operasi pembandingan…
  • pointers; ini adalah low-level construct yang menunjuk alamat memori
  • dynamic memory allocation; memori yang dialokasi saat run-time seringkali lupa untuk didealokasi…
  • parallelism; agak sulit memprediksi efek dari interaksi antar proses…
  • recursion; konstruksi program memang jadi lebih bersih, tetapi agak sulit menelusuri lojik program…
  • penggunaan interrupt yang bisa mengakibatkan terhentinya proses yang kritis…
  • inheritance pada OOP yang sulit ditelusuri karena kode yang tersebar…
  • dan masih banyak lagi…

Beberapa project yang kritis dengan sengaja melarang penggunaan programming construct yang rawan menyebabkan error ini. Beberapa bahasa pemrograman sudah menghilangkan programming contruct tsb (misalnya Java yang tidak lagi mengenal pointer dan menyediakan mekanisme garbage collection).

Dengan mengetahui adanya beberapa programming construct yang ‘berbahaya’ tersebut, bukan berarti kita harus meninggalkannya. Tapi kita harus lebih berhati-hati dan melakukan pengujian yang lengkap…

April 20, 2009 - Posted by yaniwid | programming | | 2 Comments

2 Comments »

  1. adanya fitur safe programming yang disediakan oleh bahasa pemrograman membuat banyak overhead pada proses kompilasi,

    yah well, masalah tradeoff aja sih

    btw, saya bikin blog baru tentang programming
    http://maleskoding.wordpress.com/
    mohon kalau ada waktu dikunjungi, Bu ^_^

    Comment by petra | April 21, 2009

  2. Petra:
    Setuju, tradeoff.
    Wah, blog ttg programming-nya udah lama juga ternyata…

    Comment by yaniwid | April 24, 2009


Leave a comment