{"id":"https://openalex.org/W4308643019","doi":"https://doi.org/10.1145/3540250.3549126","title":"DynaPyt: a dynamic analysis framework for Python","display_name":"DynaPyt: a dynamic analysis framework for Python","publication_year":2022,"publication_date":"2022-11-07","ids":{"openalex":"https://openalex.org/W4308643019","doi":"https://doi.org/10.1145/3540250.3549126"},"language":"en","primary_location":{"id":"doi:10.1145/3540250.3549126","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3540250.3549126","pdf_url":null,"source":{"id":"https://openalex.org/S4363608883","display_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"conference-paper","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/A5002459483","display_name":"Aryaz Eghbali","orcid":"https://orcid.org/0000-0001-9763-8147"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Aryaz Eghbali","raw_affiliation_strings":["University of Stuttgart, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I100066346","display_name":"University of Stuttgart","ror":"https://ror.org/04vnq7t77","country_code":"DE","type":"education","lineage":["https://openalex.org/I100066346"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["University of Stuttgart, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Stuttgart, Germany","institution_ids":["https://openalex.org/I100066346"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I100066346"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":28,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"760","last_page":"771"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9993000030517578,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9993000030517578,"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/T10260","display_name":"Software Engineering Research","score":0.9988999962806702,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9976999759674072,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.9513207674026489},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8725639581680298},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7655929923057556},{"id":"https://openalex.org/keywords/tracing","display_name":"Tracing","score":0.4331231117248535},{"id":"https://openalex.org/keywords/taint-checking","display_name":"Taint checking","score":0.4318307936191559},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.41076111793518066},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3719904124736786},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.28501930832862854}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.9513207674026489},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8725639581680298},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7655929923057556},{"id":"https://openalex.org/C138673069","wikidata":"https://www.wikidata.org/wiki/Q322229","display_name":"Tracing","level":2,"score":0.4331231117248535},{"id":"https://openalex.org/C63116202","wikidata":"https://www.wikidata.org/wiki/Q7676227","display_name":"Taint checking","level":3,"score":0.4318307936191559},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.41076111793518066},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3719904124736786},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.28501930832862854}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3540250.3549126","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3540250.3549126","pdf_url":null,"source":{"id":"https://openalex.org/S4363608883","display_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8390793956","display_name":null,"funder_award_id":"851895","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"}],"funders":[{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W1972544179","https://openalex.org/W2009489720","https://openalex.org/W2089745089","https://openalex.org/W2093721629","https://openalex.org/W2098883184","https://openalex.org/W2113888205","https://openalex.org/W2119251836","https://openalex.org/W2127989655","https://openalex.org/W2131954495","https://openalex.org/W2149051232","https://openalex.org/W2153919898","https://openalex.org/W2156858199","https://openalex.org/W2514578992","https://openalex.org/W2548165777","https://openalex.org/W2549033012","https://openalex.org/W2604507227","https://openalex.org/W2758513221","https://openalex.org/W2791942415","https://openalex.org/W2850992922","https://openalex.org/W2888822874","https://openalex.org/W2993331254","https://openalex.org/W3089843629","https://openalex.org/W3161685529","https://openalex.org/W3192140144","https://openalex.org/W4205239483","https://openalex.org/W4237492309","https://openalex.org/W4239813889","https://openalex.org/W4250948891"],"related_works":["https://openalex.org/W2207495067","https://openalex.org/W1906486629","https://openalex.org/W2005010039","https://openalex.org/W2016796784","https://openalex.org/W2127761335","https://openalex.org/W4226168309","https://openalex.org/W2972987610","https://openalex.org/W4290692412","https://openalex.org/W1992356639","https://openalex.org/W2066223763"],"abstract_inverted_index":{"Python":[0,51,95,146],"is":[1,28,43,173,184],"a":[2,108,116,200,234,241,254],"widely":[3],"used":[4],"programming":[5,103],"language":[6],"that":[7,156],"powers":[8],"important":[9],"application":[10],"domains":[11,26],"such":[12],"as":[13,133],"machine":[14],"learning,":[15],"data":[16],"analysis,":[17],"and":[18,35,37,56,68,130,154,159,176,194,218,248],"web":[19],"applications.":[20],"For":[21],"many":[22],"programs":[23],"in":[24,115,152,185,238],"these":[25],"it":[27,42],"consequential":[29],"to":[30,45,48,63,71,98,122,232,244,251],"analyze":[31,50],"aspects":[32],"like":[33],"security":[34],"performance,":[36],"with":[38,187],"Python\u2019s":[39],"dynamic":[40,65,75,92],"nature,":[41],"crucial":[44],"be":[46],"able":[47],"dynamically":[49],"programs.":[52,96],"However,":[53],"existing":[54,99],"tools":[55,100],"frameworks":[57,189],"do":[58],"not":[59],"provide":[60],"the":[61,86,162,165,179,213,226],"means":[62],"implement":[64,124,209],"analyses":[66,198,227],"easily":[67],"practitioners":[69],"resort":[70],"implementing":[72,216],"an":[73,230,249],"ad-hoc":[74],"analysis":[76,93,112,231,243,250],"for":[77,90,101,191],"their":[78],"own":[79],"use":[80,221],"case.":[81],"This":[82],"work":[83],"presents":[84],"DynaPyt,":[85],"first":[87],"general-purpose":[88],"framework":[89,106,138],"heavy-weight":[91],"of":[94,111,142,150,164,171,215,223],"Compared":[97],"other":[102,192],"languages,":[104,193],"our":[105,137],"provides":[107],"wider":[109],"range":[110],"hooks":[113],"arranged":[114],"hierarchical":[117],"structure,":[118],"which":[119,183],"allows":[120],"developers":[121],"concisely":[123],"analyses.":[125],"DynaPyt":[126,172],"features":[127],"selective":[128],"instrumentation":[129],"execution":[131,181],"modification":[132],"well.":[134],"We":[135,207],"evaluate":[136],"on":[139],"test":[140],"suites":[141],"9":[143],"popular":[144],"open-source":[145],"projects,":[147],"1,268,545":[148],"lines":[149],"code":[151],"total,":[153],"show":[155,212],"it,":[157],"by":[158,205],"large,":[160],"preserves":[161],"semantics":[163],"original":[166,180],"execution.":[167],"The":[168],"running":[169],"time":[170],"between":[174],"1.2x":[175],"16x":[177],"times":[178],"time,":[182],"line":[186],"similar":[188],"designed":[190],"5.6%\u201388.6%":[195],"faster":[196],"than":[197],"using":[199],"built-in":[201],"tracing":[202],"API":[203],"offered":[204],"Python.":[206],"also":[208],"multiple":[210],"analyses,":[211],"simplicity":[214],"them":[217],"some":[219],"potential":[220],"cases":[222],"DynaPyt.":[224],"Among":[225],"implemented":[228],"are:":[229],"detect":[233,245],"memory":[235],"blow":[236],"up":[237],"Pytorch":[239],"programs,":[240],"taint":[242],"SQL":[246],"injections,":[247],"warn":[252],"about":[253],"runtime":[255],"performance":[256],"anti-pattern.":[257]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2025,"cited_by_count":10},{"year":2024,"cited_by_count":11},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1}],"updated_date":"2026-07-18T07:39:51.176621","created_date":"2025-10-10T00:00:00"}
