Content deleted Content added
m →top: Journal cites:, |
Move hatnote text to See also. {{see also}} is not suitable for the top of an article |
||
(16 intermediate revisions by 15 users not shown) | |||
Line 1:
{{
{{Complex systems}}
In [[computer science]], '''robustness''' is the ability of a computer system to cope with [[Error message|errors]] during [[Execution (computing)|execution]]<ref>{{cite web|url=http://dl.ifip.org/db/conf/pts/testcom2005/FernandezMP05.pdf |title=A Model-Based Approach for Robustness Testing |website=Dl.ifip.org |access-date
== Introduction ==
In general, building robust systems that encompass every point of possible failure is difficult because of the vast quantity of possible inputs and input combinations.<ref name="MIT">{{cite web|url=http://groups.csail.mit.edu/mac/users/gjs/6.945/readings/robust-systems.pdf |title=Building Robust Systems an essay |author=Gerald Jay Sussman |date=January 13, 2007 |website=Groups.csail.mit.edu |
Regardless, complex systems should still handle any errors encountered gracefully. There are many examples of such successful systems. Some of the most robust systems are evolvable and can be easily adapted to new situations.<ref name="MIT" />
== Challenges ==
Programs and software are tools focused on a very specific task, and thus
Currently, computer science practices do not focus on building robust systems.<ref name="MIT" /> Rather, they tend to focus on [[scalability]] and [[Algorithmic efficiency|efficiency]]. One of the main reasons why there is no focus on robustness today is because it is hard to do in a general way.<ref name="MIT" />
Line 17:
=== Robust programming ===
Robust programming is a style of programming that focuses on handling unexpected termination and unexpected actions.<ref name="robust_programming">{{cite web|url=http://nob.cs.ucdavis.edu/bishop/secprog/robust.html |title=Robust Programming |website=Nob.cs.ucdavis.edu |access-date
==== Principles ====
===Robust machine learning===
Robust machine learning typically refers to the robustness of machine learning algorithms. 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.<ref>{{cite web |author=El Sayed Mahmoud|title=What is the definition of the robustness of a machine learning algorithm? |url=https://www.researchgate.net/post/What_is_the_definition_of_the_robustness_of_a_machine_learning_algorithm |
===Robust network design===
Robust network design is the study of network design in the face of variable or uncertain demands.<ref>{{cite web|url=http://www-math.mit.edu/~olver/thesis.pdf |title=Robust Network Design |website=Math.mit.edu |
=== Robust algorithms ===
There
==See also==
*[[Fault tolerance]]
* [[Defensive programming]]
* [[Non-functional requirement]]
Line 45 ⟶ 46:
{{Reflist}}
{{Software quality}}
{{Complex systems topics}}
[[Category:Reliability engineering]]
[[Category:Software quality]]
|