{"id":"https://openalex.org/W2060843595","doi":"https://doi.org/10.1145/1023833.1023857","title":"Static program analysis of embedded executable assembly code","display_name":"Static program analysis of embedded executable assembly code","publication_year":2004,"publication_date":"2004-09-22","ids":{"openalex":"https://openalex.org/W2060843595","doi":"https://doi.org/10.1145/1023833.1023857","mag":"2060843595"},"language":"en","primary_location":{"id":"doi:10.1145/1023833.1023857","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1023833.1023857","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems","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/A5053206593","display_name":"Ramakrishnan Venkitaraman","orcid":null},"institutions":[{"id":"https://openalex.org/I162577319","display_name":"The University of Texas at Dallas","ror":"https://ror.org/049emcs32","country_code":"US","type":"education","lineage":["https://openalex.org/I162577319"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ramakrishnan Venkitaraman","raw_affiliation_strings":["The University of Texas at Dallas, TX","The University of Texas at Dallas, TX#TAB#"],"affiliations":[{"raw_affiliation_string":"The University of Texas at Dallas, TX","institution_ids":["https://openalex.org/I162577319"]},{"raw_affiliation_string":"The University of Texas at Dallas, TX#TAB#","institution_ids":["https://openalex.org/I162577319"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067377863","display_name":"Gopal Gupta","orcid":"https://orcid.org/0000-0001-9727-0362"},"institutions":[{"id":"https://openalex.org/I162577319","display_name":"The University of Texas at Dallas","ror":"https://ror.org/049emcs32","country_code":"US","type":"education","lineage":["https://openalex.org/I162577319"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Gopal Gupta","raw_affiliation_strings":["The University of Texas at Dallas, TX","The University of Texas at Dallas, TX#TAB#"],"affiliations":[{"raw_affiliation_string":"The University of Texas at Dallas, TX","institution_ids":["https://openalex.org/I162577319"]},{"raw_affiliation_string":"The University of Texas at Dallas, TX#TAB#","institution_ids":["https://openalex.org/I162577319"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5053206593"],"corresponding_institution_ids":["https://openalex.org/I162577319"],"apc_list":null,"apc_paid":null,"fwci":0.6743,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.70543824,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"157","last_page":"166"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9983000159263611,"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/T11424","display_name":"Security and Verification in Computing","score":0.9934999942779541,"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.8336323499679565},{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.7205599546432495},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7040663361549377},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6557873487472534},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.5904049277305603},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5856911540031433},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.5688237547874451},{"id":"https://openalex.org/keywords/dead-code","display_name":"Dead code","score":0.554841935634613},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.5405577421188354},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.5181721448898315},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.4972129166126251},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.49347245693206787},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.4798154830932617},{"id":"https://openalex.org/keywords/coding","display_name":"Coding (social sciences)","score":0.4668232798576355},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4519871473312378},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.4394863247871399},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.4132678508758545},{"id":"https://openalex.org/keywords/object-code","display_name":"Object code","score":0.3815059959888458},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.3661137819290161},{"id":"https://openalex.org/keywords/redundant-code","display_name":"Redundant code","score":0.29395365715026855},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.29033714532852173},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.28174859285354614},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.25727659463882446},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.2552526593208313},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.22668364644050598},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.12164518237113953},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.10674166679382324}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8336323499679565},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.7205599546432495},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7040663361549377},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6557873487472534},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.5904049277305603},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5856911540031433},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.5688237547874451},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.554841935634613},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.5405577421188354},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.5181721448898315},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.4972129166126251},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.49347245693206787},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.4798154830932617},{"id":"https://openalex.org/C179518139","wikidata":"https://www.wikidata.org/wiki/Q5140297","display_name":"Coding (social sciences)","level":2,"score":0.4668232798576355},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4519871473312378},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.4394863247871399},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.4132678508758545},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.3815059959888458},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.3661137819290161},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.29395365715026855},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.29033714532852173},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.28174859285354614},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.25727659463882446},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.2552526593208313},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.22668364644050598},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.12164518237113953},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.10674166679382324},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1023833.1023857","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1023833.1023857","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W31435292","https://openalex.org/W150431575","https://openalex.org/W168640152","https://openalex.org/W1491178396","https://openalex.org/W1534808093","https://openalex.org/W1544837488","https://openalex.org/W1579435874","https://openalex.org/W1586099086","https://openalex.org/W1603576379","https://openalex.org/W1855771754","https://openalex.org/W1952910495","https://openalex.org/W1975914482","https://openalex.org/W1980468060","https://openalex.org/W2004633100","https://openalex.org/W2011039300","https://openalex.org/W2017842497","https://openalex.org/W2019410896","https://openalex.org/W2035216234","https://openalex.org/W2037929850","https://openalex.org/W2042708654","https://openalex.org/W2042941769","https://openalex.org/W2043100293","https://openalex.org/W2048683749","https://openalex.org/W2051345428","https://openalex.org/W2060481237","https://openalex.org/W2077102566","https://openalex.org/W2087612811","https://openalex.org/W2097697841","https://openalex.org/W2098465784","https://openalex.org/W2111695742","https://openalex.org/W2131135493","https://openalex.org/W2140468016","https://openalex.org/W2140611647","https://openalex.org/W2155957569","https://openalex.org/W2339697242","https://openalex.org/W2752929869","https://openalex.org/W2914074464","https://openalex.org/W2993781365","https://openalex.org/W4234020632","https://openalex.org/W4250522981"],"related_works":["https://openalex.org/W2042804080","https://openalex.org/W1493727516","https://openalex.org/W1963955771","https://openalex.org/W179346248","https://openalex.org/W4232768799","https://openalex.org/W3020408162","https://openalex.org/W1482854495","https://openalex.org/W2213653839","https://openalex.org/W2168850728","https://openalex.org/W2471418780"],"abstract_inverted_index":{"We":[0,122],"consider":[1],"the":[2,14,69,132,156,168,188,193,196],"problem":[3,20],"of":[4,16,68,79,101,134,159,198,223],"automatically":[5],"checking":[6],"if":[7],"coding":[8,45,58,111,225],"standards":[9],"have":[10],"been":[11],"followed":[12],"in":[13,60,138,167,176],"development":[15],"embedded":[17,102,139],"applications.":[18],"The":[19,205],"arises":[21],"from":[22],"practical":[23],"considerations":[24],"because":[25],"DSP":[26],"chip":[27],"manufacturers":[28],"(in":[29],"our":[30,124],"case":[31],"Texas":[32],"Instruments)":[33],"want":[34,84],"various":[35,80],"third":[36],"party":[37],"software":[38],"developers":[39],"to":[40,42,47,85,105,211],"adhere":[41],"a":[43,151,162],"certain":[44],"standard":[46],"facilitate":[48],"system":[49,70],"integration":[50],"during":[51],"application":[52],"development.":[53],"Checking":[54],"for":[55,75,107,195,213],"compliance":[56,108,214],"with":[57,109,215],"standards,":[59],"general,":[61],"is":[62,72,207],"undecidable.":[63],"Moreover,":[64],"only":[65],"machine":[66],"code":[67,104,182],"components":[71,81],"available":[73],"since":[74],"proprietary":[76],"reasons":[77],"vendors":[78],"do":[82],"not":[83],"share":[86],"their":[87],"source":[88,169],"code.":[89,141],"In":[90],"this":[91],"paper,":[92],"we":[93,129],"describe":[94],"an":[95,118],"approach":[96,125],"based":[97],"on":[98,117],"static":[99,114],"analysis":[100,115],"assembly":[103,140],"check":[106,212],"such":[110],"standards.":[112,226],"This":[113],"rests":[116],"abstract":[119],"interpretation":[120],"framework.":[121],"illustrate":[123],"by":[126,155,219],"showing":[127],"how":[128],"statically":[130,191],"analyze":[131],"presence":[133,197],"hard-coded":[135],"pointer":[136,144],"variables":[137,145],"Hard":[142],"coded":[143],"are":[146,149,202],"those":[147],"that":[148,201],"assigned":[150,161],"fixed":[152],"memory":[153],"address":[154],"programmer":[157],"instead":[158],"being":[160,209],"value":[163],"via":[164],"proper":[165],"operations":[166],"language":[170],"(e.g.,":[171],"malloc/calloc/realloc":[172],"and":[173,190],"&":[174],"operator":[175],"C).":[177],"Our":[178],"analyzer":[179,206],"takes":[180],"object":[181],"as":[183,221],"input,":[184],"disassembles":[185],"it,":[186],"builds":[187],"flow-graph,":[189],"analyzes":[192],"flow-graph":[194],"dereferenced":[199],"pointers":[200],"hard":[203],"coded.":[204],"currently":[208],"extended":[210],"other":[216],"rules":[217],"adopted":[218],"TI":[220],"part":[222],"its":[224]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
