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…
2 Comments »
Leave a comment
-
Archives
- January 2010 (1)
- December 2009 (8)
- November 2009 (5)
- October 2009 (15)
- September 2009 (12)
- August 2009 (5)
- July 2009 (4)
- June 2009 (7)
- May 2009 (14)
- April 2009 (7)
- March 2009 (7)
- February 2009 (18)
-
Categories
- analysis
- aspect oriented
- CBSE
- critical system
- design
- digital learning
- e-business
- ecosystem
- final project
- fun
- health informatics
- introduction
- lecture
- maintenance
- method
- oop
- others
- programming
- project
- project management
- quality
- real time system
- requirement
- research
- service computing
- soa
- software architecture
- software developer
- software metrics
- software process
- software product
- software quality
- software standard
- technology
- testing
- tools
- Uncategorized
- webE
-
RSS
Entries RSS
Comments RSS
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 ^_^
Petra:
Setuju, tradeoff.
Wah, blog ttg programming-nya udah lama juga ternyata…