{"id":"https://openalex.org/W4389165146","doi":"https://doi.org/10.1145/3611643.3616247","title":"Design by Contract for Deep Learning APIs","display_name":"Design by Contract for Deep Learning APIs","publication_year":2023,"publication_date":"2023-11-30","ids":{"openalex":"https://openalex.org/W4389165146","doi":"https://doi.org/10.1145/3611643.3616247"},"language":"en","primary_location":{"id":"doi:10.1145/3611643.3616247","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616247","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616247","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616247","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103184443","display_name":"Shibbir Ahmed","orcid":"https://orcid.org/0000-0003-1183-883X"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Shibbir Ahmed","raw_affiliation_strings":["Iowa State University, Ames, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, Ames, USA","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059057746","display_name":"Sayem Mohammad Imtiaz","orcid":"https://orcid.org/0000-0002-0357-0098"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sayem Mohammad Imtiaz","raw_affiliation_strings":["Iowa State University, Ames, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, Ames, USA","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5036590636","display_name":"Samantha Syeda Khairunnesa","orcid":"https://orcid.org/0009-0008-3733-2101"},"institutions":[{"id":"https://openalex.org/I24648388","display_name":"Bradley University","ror":"https://ror.org/04kmeaw70","country_code":"US","type":"education","lineage":["https://openalex.org/I24648388"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Samantha Syeda Khairunnesa","raw_affiliation_strings":["Bradley University, Peoria, USA"],"affiliations":[{"raw_affiliation_string":"Bradley University, Peoria, USA","institution_ids":["https://openalex.org/I24648388"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008705757","display_name":"Breno Dantas Cruz","orcid":"https://orcid.org/0000-0002-0243-6591"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Breno Dantas Cruz","raw_affiliation_strings":["Iowa State University, Ames, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, Ames, USA","institution_ids":["https://openalex.org/I173911158"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5059626072","display_name":"Hridesh Rajan","orcid":"https://orcid.org/0000-0002-9410-9562"},"institutions":[{"id":"https://openalex.org/I173911158","display_name":"Iowa State University","ror":"https://ror.org/04rswrd78","country_code":"US","type":"education","lineage":["https://openalex.org/I173911158"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hridesh Rajan","raw_affiliation_strings":["Iowa State University, Ames, USA"],"affiliations":[{"raw_affiliation_string":"Iowa State University, Ames, USA","institution_ids":["https://openalex.org/I173911158"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5103184443"],"corresponding_institution_ids":["https://openalex.org/I173911158"],"apc_list":null,"apc_paid":null,"fwci":3.624,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.94018262,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"94","last_page":"106"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11689","display_name":"Adversarial Robustness in Machine Learning","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8105353116989136},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7438721656799316},{"id":"https://openalex.org/keywords/design-by-contract","display_name":"Design by contract","score":0.6648051738739014},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.6350330114364624},{"id":"https://openalex.org/keywords/usability","display_name":"Usability","score":0.6220974922180176},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5121855735778809},{"id":"https://openalex.org/keywords/architecture","display_name":"Architecture","score":0.45928406715393066},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.45423904061317444},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.4413588345050812},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.43261879682540894},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.4274590313434601},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3424798250198364},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.24664053320884705},{"id":"https://openalex.org/keywords/human\u2013computer-interaction","display_name":"Human\u2013computer interaction","score":0.1488642394542694}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8105353116989136},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7438721656799316},{"id":"https://openalex.org/C80291951","wikidata":"https://www.wikidata.org/wiki/Q1200691","display_name":"Design by contract","level":5,"score":0.6648051738739014},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.6350330114364624},{"id":"https://openalex.org/C170130773","wikidata":"https://www.wikidata.org/wiki/Q216378","display_name":"Usability","level":2,"score":0.6220974922180176},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5121855735778809},{"id":"https://openalex.org/C123657996","wikidata":"https://www.wikidata.org/wiki/Q12271","display_name":"Architecture","level":2,"score":0.45928406715393066},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.45423904061317444},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.4413588345050812},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.43261879682540894},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4274590313434601},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3424798250198364},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.24664053320884705},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.1488642394542694},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.0},{"id":"https://openalex.org/C153349607","wikidata":"https://www.wikidata.org/wiki/Q36649","display_name":"Visual arts","level":1,"score":0.0},{"id":"https://openalex.org/C142362112","wikidata":"https://www.wikidata.org/wiki/Q735","display_name":"Art","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3611643.3616247","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616247","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616247","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3611643.3616247","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616247","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616247","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2154516011","display_name":null,"funder_award_id":"CCF-22-23812","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G2828820682","display_name":null,"funder_award_id":"CCF-15-18897, CNS-15-13263, CNS-21-20448, CCF-19-34884, CCF-22-23812","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G537839615","display_name":null,"funder_award_id":"CCF-19-34884","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7770872176","display_name":null,"funder_award_id":"CNS-15-13263","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8872482365","display_name":null,"funder_award_id":"CNS-21-20448","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4389165146.pdf","grobid_xml":"https://content.openalex.org/works/W4389165146.grobid-xml"},"referenced_works_count":45,"referenced_works":["https://openalex.org/W1530735169","https://openalex.org/W1606152849","https://openalex.org/W1998838326","https://openalex.org/W2052363833","https://openalex.org/W2094160561","https://openalex.org/W2122291521","https://openalex.org/W2130427425","https://openalex.org/W2771055751","https://openalex.org/W2799423598","https://openalex.org/W2800881716","https://openalex.org/W2850992922","https://openalex.org/W2893132739","https://openalex.org/W2898868990","https://openalex.org/W2963273475","https://openalex.org/W2968594320","https://openalex.org/W2999818223","https://openalex.org/W3005780259","https://openalex.org/W3032152562","https://openalex.org/W3087720408","https://openalex.org/W3090643686","https://openalex.org/W3091633490","https://openalex.org/W3099376688","https://openalex.org/W3099972168","https://openalex.org/W3100925971","https://openalex.org/W3103697033","https://openalex.org/W3110358918","https://openalex.org/W3122184684","https://openalex.org/W3134796670","https://openalex.org/W3160349922","https://openalex.org/W3160369295","https://openalex.org/W3162285135","https://openalex.org/W3166873126","https://openalex.org/W3186232356","https://openalex.org/W3194157648","https://openalex.org/W3203969037","https://openalex.org/W3207416911","https://openalex.org/W4206490097","https://openalex.org/W4211182661","https://openalex.org/W4229068576","https://openalex.org/W4284677512","https://openalex.org/W4284681547","https://openalex.org/W4284693140","https://openalex.org/W4380994476","https://openalex.org/W4384302748","https://openalex.org/W6912879264"],"related_works":["https://openalex.org/W2341492732","https://openalex.org/W3187193180","https://openalex.org/W106542691","https://openalex.org/W4287027380","https://openalex.org/W1699080303","https://openalex.org/W4297799326","https://openalex.org/W2187546663","https://openalex.org/W2429057255","https://openalex.org/W148745890","https://openalex.org/W2099364800"],"abstract_inverted_index":{"Deep":[0],"Learning":[1],"(DL)":[2],"techniques":[3],"are":[4,102],"increasingly":[5],"being":[6],"incorporated":[7],"in":[8,20,163,215,224],"critical":[9],"software":[10,14],"systems":[11],"today.":[12],"DL":[13,49,51,60,74,111,140,144,157,161,176,201,209,228,237,262,273,280],"is":[15,240],"buggy":[16,218],"too.":[17],"Recent":[18],"work":[19,226],"SE":[21],"has":[22],"characterized":[23],"these":[24,115],"bugs,":[25],"studied":[26],"fix":[27,267],"patterns,":[28],"and":[29,32,62,132,138,146,169,188,204,231,266],"proposed":[30],"detection":[31,203,230],"localization":[33],"strategies.":[34],"In":[35,90],"this":[36],"work,":[37],"we":[38,84,92,117,178,252],"introduce":[39],"a":[40,66,155,254],"preventative":[41],"measure.":[42],"We":[43,135,159,191,233],"propose":[44],"design":[45,80],"by":[46,81],"contract":[47,82],"for":[48,53,142,185,243],"libraries,":[50],"Contract":[52,75,141,162,210,238,263,274],"short,":[54],"to":[55,68,86,94,124,149,248,264,279],"document":[56,95,150],"the":[57,78,98,106,110,128,151,173,207,236,244,250],"properties":[58,96,126,152],"of":[59,97,109,127,153,165,175,256],"libraries":[61,145],"provide":[63],"developers":[64,123,282],"with":[65],"mechanism":[67],"identify":[69],"bugs":[70,214],"during":[71],"development.":[72],"While":[73],"builds":[76],"on":[77,200,227],"traditional":[79],"techniques,":[83],"need":[85,93],"address":[87],"unique":[88],"challenges.":[89],"particular,":[91],"training":[99,133,186],"process":[100],"that":[101,121,235,272],"not":[103],"visible":[104],"at":[105],"functional":[107],"interface":[108],"libraries.":[112],"To":[113,171],"solve":[114],"problems,":[116],"have":[118,136,179,192,260],"introduced":[119],"mechanisms":[120],"allow":[122],"specify":[125],"model":[129],"architecture,":[130],"data,":[131],"process.":[134],"designed":[137],"implemented":[139],"Python-based":[143],"used":[147,245,261],"it":[148],"Keras,":[154],"well-known":[156],"library.":[158],"evaluate":[160,172,249],"terms":[164],"effectiveness,":[166,208],"runtime":[167],"overhead,":[168],"usability.":[170],"utility":[174],"Contract,":[177],"developed":[180],"15":[181],"sample":[182],"contracts":[183],"specifically":[184],"problems":[187],"structural":[189],"bugs.":[190,268],"adopted":[193],"four":[194],"well-vetted":[195,221],"benchmarks":[196,222],"from":[197,220],"prior":[198,225],"works":[199],"bug":[202,229],"repair.":[205,232],"For":[206],"correctly":[211],"detects":[212],"259":[213],"272":[216],"real-world":[217],"programs,":[219],"provided":[223],"found":[234],"overhead":[239],"fairly":[241],"minimal":[242],"benchmarks.":[246],"Lastly,":[247],"usability,":[251],"conducted":[253],"survey":[255],"twenty":[257],"participants":[258],"who":[259],"find":[265],"The":[269],"results":[270],"reveal":[271],"can":[275],"be":[276],"very":[277],"helpful":[278],"application":[281],"when":[283],"debugging":[284],"their":[285],"code.":[286]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
