{"id":"https://openalex.org/W4310514130","doi":"https://doi.org/10.1145/3567512.3567526","title":"jGuard: Programming Misuse-Resilient APIs","display_name":"jGuard: Programming Misuse-Resilient APIs","publication_year":2022,"publication_date":"2022-11-29","ids":{"openalex":"https://openalex.org/W4310514130","doi":"https://doi.org/10.1145/3567512.3567526"},"language":"en","primary_location":{"id":"doi:10.1145/3567512.3567526","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3567512.3567526","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017096671","display_name":"Simon Binder","orcid":"https://orcid.org/0000-0003-3368-435X"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Simon Binder","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090096940","display_name":"Krishna Narasimhan","orcid":"https://orcid.org/0000-0001-8004-3470"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Krishna Narasimhan","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001598142","display_name":"Svenja Kernig","orcid":"https://orcid.org/0000-0001-6242-7913"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Svenja Kernig","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078067853","display_name":"Mira Mezini","orcid":"https://orcid.org/0000-0001-6563-7537"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Mira Mezini","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5017096671"],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":0.1486,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.41732682,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"161","last_page":"174"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9987000226974487,"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"}},{"id":"https://openalex.org/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9984999895095825,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8579491972923279},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6858623027801514},{"id":"https://openalex.org/keywords/application-programming-interface","display_name":"Application programming interface","score":0.5764697790145874},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.5382871627807617},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.5220137238502502},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.50446617603302},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5024058818817139},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.49463769793510437},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.4887349605560303},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4353964924812317},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4306790232658386},{"id":"https://openalex.org/keywords/installation","display_name":"Installation","score":0.4115697145462036}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8579491972923279},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6858623027801514},{"id":"https://openalex.org/C99613125","wikidata":"https://www.wikidata.org/wiki/Q165194","display_name":"Application programming interface","level":2,"score":0.5764697790145874},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.5382871627807617},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.5220137238502502},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.50446617603302},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5024058818817139},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.49463769793510437},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.4887349605560303},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4353964924812317},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4306790232658386},{"id":"https://openalex.org/C146778888","wikidata":"https://www.wikidata.org/wiki/Q836862","display_name":"Installation","level":2,"score":0.4115697145462036},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3567512.3567526","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3567512.3567526","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1883797946","https://openalex.org/W1991613282","https://openalex.org/W1994683471","https://openalex.org/W2008810193","https://openalex.org/W2036961426","https://openalex.org/W2045090661","https://openalex.org/W2054943246","https://openalex.org/W2089891494","https://openalex.org/W2094160561","https://openalex.org/W2108632968","https://openalex.org/W2118435948","https://openalex.org/W2125995229","https://openalex.org/W2185335208","https://openalex.org/W2269907743","https://openalex.org/W2405678927","https://openalex.org/W2767943400","https://openalex.org/W2794992746","https://openalex.org/W2796472165","https://openalex.org/W2804959968","https://openalex.org/W2954796040","https://openalex.org/W2963900765","https://openalex.org/W3094062523","https://openalex.org/W3104996510","https://openalex.org/W3125402553","https://openalex.org/W3159568777","https://openalex.org/W4233410239","https://openalex.org/W4289127653"],"related_works":["https://openalex.org/W2391680869","https://openalex.org/W2392746298","https://openalex.org/W2383135875","https://openalex.org/W2363523615","https://openalex.org/W3022638154","https://openalex.org/W4390398439","https://openalex.org/W638541915","https://openalex.org/W2372114190","https://openalex.org/W2904317766","https://openalex.org/W4253103845"],"abstract_inverted_index":{"APIs":[0,20,61],"provide":[1],"access":[2],"to":[3,14,36,48,58,67,126,132,148,166,179],"valuable":[4],"features,":[5],"but":[6],"studies":[7,104],"have":[8,82,105],"shown":[9,106],"that":[10,107,128,174],"they":[11],"are":[12,96],"hard":[13,35],"use":[15],"correctly.":[16],"Misuses":[17],"of":[18,73,191,193],"these":[19,38],"can":[21,62,176],"be":[22,63,177],"quite":[23],"costly.":[24],"Even":[25],"though":[26],"documentations":[27],"and":[28,43,50,201],"usage":[29],"manuals":[30],"exist,":[31],"developers":[32,108],"find":[33],"it":[34,55],"integrate":[37],"in":[39,143,186,196],"practice.":[40],"Several":[41],"static":[42,100],"dynamic":[44],"analysis":[45,101],"tools":[46,114],"exist":[47],"detect":[49],"mitigate":[51],"API":[52,77,90,130,161,197],"misuses.":[53],"But":[54,103],"is":[56,145],"natural":[57],"wonder":[59],"if":[60],"made":[64,83],"more":[65],"difficult":[66],"misuse":[68,198],"by":[69,88,99],"capturing":[70],"the":[71,152,160,181,189,194],"knowledge":[72],"domain":[74],"experts":[75],"(,":[76],"designers).":[78],"Approaches":[79],"like":[80,93],"CogniCrypt":[81],"inroads":[84],"into":[85,115],"this":[86,119],"direction":[87],"offering":[89],"specification":[91],"languages":[92],"CrySL":[94],"which":[95],"then":[97,146],"consumed":[98],"tools.":[102],"do":[109],"not":[110,164],"enjoy":[111],"installing":[112],"new":[113,169],"their":[116,135,139],"pipeline.":[117],"In":[118],"paper,":[120],"we":[121],"present":[122],"jGuard,":[123],"an":[124],"extension":[125],"Java":[127,150],"allows":[129],"designers":[131],"directly":[133],"encode":[134],"specifications":[136],"while":[137],"implementing":[138],"APIs.":[140],"Code":[141],"written":[142],"jGuard":[144,175],"compiled":[147],"regular":[149],"with":[151],"checks":[153],"encoded":[154],"as":[155],"exceptions,":[156],"thereby":[157],"making":[158],"sure":[159],"user":[162],"does":[163],"need":[165],"install":[167],"any":[168],"tooling.":[170],"Our":[171],"evaluation":[172],"shows":[173],"used":[178],"express":[180],"most":[182],"commonly":[183],"occuring":[184],"misuses":[185],"practice,":[187],"matches":[188],"accuracy":[190],"state":[192],"art":[195],"detection":[199],"tools,":[200],"introduces":[202],"negligible":[203],"performance":[204],"overhead.":[205]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
