Content deleted Content added
m Task 18 (cosmetic): eval 10 templates: del empty params (3×); hyphenate params (8×); |
Move hatnote text to See also. {{see also}} is not suitable for the top of an article |
||
(13 intermediate revisions by 13 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=2016-11-13}}</ref><ref name="IEEE">1990. IEEE Standard Glossary of Software Engineering Terminology, IEEE Std 610.12-1990 defines robustness as "The degree to which a system or component can function correctly in the presence of invalid inputs or stressful environmental conditions"</ref> and cope with erroneous input.<ref name="IEEE"/> Robustness can encompass many areas of computer science, such as [[Defensive programming|robust programming]], [[Overfitting|robust machine learning]], and [[Robust Security Network]]. Formal techniques, such as [[fuzz testing]], are essential to showing robustness since this type of testing involves invalid or unexpected inputs. Alternatively, [[fault injection]] can be used to test robustness. Various commercial products perform robustness testing of software analysis.<ref>{{cite journal|url=http://www.stanford.edu/~bakerjw/Publications/Baker%20et%20al%20(2008)%20Robustness,%20Structural%20Safety.pdf |title= On the assessment of robustness|access-date=2016-11-13|doi=10.1016/j.strusafe.2006.11.004|volume=30|year=2008|journal=Structural Safety|pages=253–267 | last1 = Baker | first1 = Jack W. | last2 = Schubert | first2 = Matthias | last3 = Faber | first3 = Michael H.|issue= 3}}</ref>
== Introduction ==
Line 9 ⟶ 10:
== 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 20:
==== 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
===Robust network design===
Line 36:
=== Robust algorithms ===
There
==See also==
*[[Fault tolerance]]
* [[Defensive programming]]
* [[Non-functional requirement]]
|