{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/guiding-deep-learning-system-testing-using","title":"Guiding Deep Learning System Testing using Surprise Adequacy","arxiv_id":"1808.08444","date":"2018-08-25","proceeding":null,"authors":["Jinhan Kim","Robert Feldt","Shin Yoo"],"abstract":"Deep Learning (DL) systems are rapidly being adopted in safety and security\ncritical domains, urgently calling for ways to test their correctness and\nrobustness. Testing of DL systems has traditionally relied on manual collection\nand labelling of data. Recently, a number of coverage criteria based on neuron\nactivation values have been proposed. These criteria essentially count the\nnumber of neurons whose activation during the execution of a DL system\nsatisfied certain properties, such as being above predefined thresholds.\nHowever, existing coverage criteria are not sufficiently fine grained to\ncapture subtle behaviours exhibited by DL systems. Moreover, evaluations have\nfocused on showing correlation between adversarial examples and proposed\ncriteria rather than evaluating and guiding their use for actual testing of DL\nsystems. We propose a novel test adequacy criterion for testing of DL systems,\ncalled Surprise Adequacy for Deep Learning Systems (SADL), which is based on\nthe behaviour of DL systems with respect to their training data. We measure the\nsurprise of an input as the difference in DL system's behaviour between the\ninput and the training data (i.e., what was learnt during training), and\nsubsequently develop this as an adequacy criterion: a good test input should be\nsufficiently but not overtly surprising compared to training data. Empirical\nevaluation using a range of DL systems from simple image classifiers to\nautonomous driving car platforms shows that systematic sampling of inputs based\non their surprise can improve classification accuracy of DL systems against\nadversarial examples by up to 77.5% via retraining.","url_abs":"http://arxiv.org/abs/1808.08444v1","url_pdf":"http://arxiv.org/pdf/1808.08444v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"guiding-deep-learning-system-testing-using","repo_url":"https://github.com/TestSelection/TestSelection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"guiding-deep-learning-system-testing-using","repo_url":"https://github.com/coinse/sadl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"guiding-deep-learning-system-testing-using","repo_url":"https://github.com/lcckkkhaha/Suprise-Adequacy-Implementation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"guiding-deep-learning-system-testing-using","repo_url":"https://github.com/testingautomated-usi/surprise-adequacy","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"guiding-deep-learning-system-testing-using","repo_url":"https://github.com/thouyang/ccd-dsa","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"deep-learning","task_name":"Deep Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1808.08444","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1808.08444"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/thouyang/ccd-dsa","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/TestSelection/TestSelection","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/coinse/sadl","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/testingautomated-usi/surprise-adequacy","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lcckkkhaha/Suprise-Adequacy-Implementation","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":3,"unverified":1},"by_repo_kind":{"listed":{"samples":4,"ran":3,"repositories":3}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"06f12f4f35bb3d31","entry":"cal_cla_matrix","repo":"thouyang/ccd-dsa","repo_kind":"listed","path":"dif_dsa.py","file_url":"https://github.com/thouyang/ccd-dsa/blob/HEAD/dif_dsa.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"06f12f4f35bb3d31"}},{"code_sha256_prefix":"a95b762135227755","entry":"find_closest_at","repo":"thouyang/ccd-dsa","repo_kind":"listed","path":"dif_dsa.py","file_url":"https://github.com/thouyang/ccd-dsa/blob/HEAD/dif_dsa.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a95b762135227755"}},{"code_sha256_prefix":"24a57530f2dce7e0","entry":"find_closest_at","repo":"coinse/sadl","repo_kind":"listed","path":"sa.py","file_url":"https://github.com/coinse/sadl/blob/HEAD/sa.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"24a57530f2dce7e0"}},{"code_sha256_prefix":"da4d212624637316","entry":"train_model","repo":"testingautomated-usi/surprise-adequacy","repo_kind":"listed","path":"case_study/mnist.py","file_url":"https://github.com/testingautomated-usi/surprise-adequacy/blob/HEAD/case_study/mnist.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da4d212624637316"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}