Formal techniques, such as fuzz testing, are essential to showing robustness since this type of testing involves invalid or unexpected inputs.
Teknik formal seperti fuzz testing, sangat penting untuk menunjukkan kekokohan karena pengujian tipe ini melibatkan masukan tidak sah dan tidak tertuga.
Various commercial products perform robustness testing of software analysis.
Berbagai produk komersial melakukan pengujian analisis kekokohan perangkat lunak.
For example, imagine inputting some integer values.
Sebagai contoh, bayangkan anda memasukkan beberapa nilai integer.
Some selected inputs might consist of a negative number, zero, and a positive number.
Beberapa masukan tersebut mungkin berupa bilangan negatif, nol, atau bilangan positif.
Systems generally may also fail due to other reasons as well, such as disconnecting from a network.
Secara umum, sistem juga dapat gagal karena alasan-alasan lain, seperti terputus dari jaringan.
There are many examples of such successful systems.
Ada banyak contoh sistem yang sukses dan kokoh.
Programs and software are tools focused on a very specific task, and thus are not generalized and flexible.
Program dan perangkat lunak adalah alat untuk melakukan sebuah tugas yang spesifik, sehingga tidak fleksibel.
However, observations in systems such as the internet or biological systems demonstrate adaptation to their environments.
Meskipun begitu, dengan mengamati sistem internet dan sistem biologis, kita dapat menemukan cara adaptasi mereka terhadap lingkungannya.
One of the ways biological systems adapt to environments is through the use of redundancy.
Salah satu cara sistem biologis beradaptasi terhadap lingkungan adalah menggunakan redundansi.
Many organs are redundant in humans.
Banyak organ di tubuh kita (manusia) bersifat redundan.
Humans generally only need one kidney, but having a second kidney allows room for failure.
Umumnya, manusia hanya membutuhkan satu ginjal, tetapi memiliki ginjal kedua memberikan ruang kegagalan atau room for failure.
This same principle may be taken to apply to software, but there are some challenges.
Prinsip ini dapat diterapkan pada perangkat lunak, tetapi ada beberapa tantangan.
When applying the principle of redundancy to computer science, blindly adding code is not suggested.
Ketika menerapkan prinsip redundansi pada ilmu komputer, tidak disarankan menambahkan kode dengan semena-mena.
To do so, the new code must know how and when to accommodate the failure point.
Untuk itu, kode baru harus tau kapan dan bagaimana menangani titik kegagalan.
This means more logic needs to be added to the system.
Berarti, lebih banyak logika dibutuhkan dalam sistem tersebut.
But as a system adds more logic, components, and increases in size, it becomes more complex.
Tetapi, seiring penambahan logika dalam sistem, komponen dan ukurannya bertambah dan menjadikannya lebih kompleks.
Rather, they tend to focus on scalability and efficiency.
Sebaliknya, mereka lebih terfokus pada skalabilitas dan efisiensi.
Paranoia When building software, the programmer assumes users are out to break their code.
Paranoia Ketika membangun perangkat lunak, programmer berasumsi pengguna ada untuk menghancurkan kode mereka.
Stupidity The programmer assumes users will try incorrect, bogus and malformed inputs.
Kebodohan Programmer berasumsi pengguna akan mencoba masukan yang salah, palsu, dan cacat.
This information should be hidden from the user so that the user does not accidentally modify them and introduce a bug in the code.
Informasi ini harus disembunyikan, sehingga pengguna tidak memodifikasi dan mengenalkan bug ke kode secara tidak sengaja .
For a machine learning algorithm to be considered robust, either the testing error has to be consistent with the training error, or the performance is stable after adding some noise to the dataset.
Untuk sebuah algoritma pemelajaran mesin dianggap kokoh, eror pada pengujian konsiten dengan eror pada pelatihan, atau performa tetap stabil ketika kebisingan ditambah pada dataset.