{"id":"https://openalex.org/W4389158951","doi":"https://doi.org/10.1145/3611643.3616259","title":"Discovering Parallelisms in Python Programs","display_name":"Discovering Parallelisms in Python Programs","publication_year":2023,"publication_date":"2023-11-30","ids":{"openalex":"https://openalex.org/W4389158951","doi":"https://doi.org/10.1145/3611643.3616259"},"language":"en","primary_location":{"id":"doi:10.1145/3611643.3616259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616259","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616259","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.3616259","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5018409336","display_name":"S. Wei","orcid":"https://orcid.org/0009-0003-3073-3117"},"institutions":[{"id":"https://openalex.org/I4210128818","display_name":"Institute of Software","ror":"https://ror.org/033dfsn42","country_code":"CN","type":"facility","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210128818"]},{"id":"https://openalex.org/I4210165038","display_name":"University of Chinese Academy of Sciences","ror":"https://ror.org/05qbk4x57","country_code":"CN","type":"education","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210165038"]}],"countries":["CN"],"is_corresponding":true,"raw_author_name":"Siwei Wei","raw_affiliation_strings":["Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0003-3073-3117","affiliations":[{"raw_affiliation_string":"Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China","institution_ids":["https://openalex.org/I4210128818","https://openalex.org/I4210165038"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5080270341","display_name":"Guyang Song","orcid":"https://orcid.org/0009-0002-1358-073X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Guyang Song","raw_affiliation_strings":["AntGroup, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0002-1358-073X","affiliations":[{"raw_affiliation_string":"AntGroup, Beijing, China","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100542745","display_name":"Senlin Zhu","orcid":"https://orcid.org/0009-0009-8913-944X"},"institutions":[{"id":"https://openalex.org/I4210128818","display_name":"Institute of Software","ror":"https://ror.org/033dfsn42","country_code":"CN","type":"facility","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210128818"]},{"id":"https://openalex.org/I4210165038","display_name":"University of Chinese Academy of Sciences","ror":"https://ror.org/05qbk4x57","country_code":"CN","type":"education","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210165038"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Senlin Zhu","raw_affiliation_strings":["AntGroup, Hangzhou, China","Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0009-8913-944X","affiliations":[{"raw_affiliation_string":"AntGroup, Hangzhou, China","institution_ids":[]},{"raw_affiliation_string":"Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China","institution_ids":["https://openalex.org/I4210128818","https://openalex.org/I4210165038"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5093382344","display_name":"Ruoyi Ruan","orcid":"https://orcid.org/0009-0004-2786-0956"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Ruoyi Ruan","raw_affiliation_strings":["AntGroup, Hangzhou, China"],"raw_orcid":"https://orcid.org/0009-0004-2786-0956","affiliations":[{"raw_affiliation_string":"AntGroup, Hangzhou, China","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067487401","display_name":"Shihao Zhu","orcid":"https://orcid.org/0009-0007-6757-1018"},"institutions":[{"id":"https://openalex.org/I4210128818","display_name":"Institute of Software","ror":"https://ror.org/033dfsn42","country_code":"CN","type":"facility","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210128818"]},{"id":"https://openalex.org/I4210165038","display_name":"University of Chinese Academy of Sciences","ror":"https://ror.org/05qbk4x57","country_code":"CN","type":"education","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210165038"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Shihao Zhu","raw_affiliation_strings":["AntGroup, Hangzhou, China","Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0008-9973-9871","affiliations":[{"raw_affiliation_string":"AntGroup, Hangzhou, China","institution_ids":[]},{"raw_affiliation_string":"Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China","institution_ids":["https://openalex.org/I4210128818","https://openalex.org/I4210165038"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019924930","display_name":"Yan Cai","orcid":"https://orcid.org/0000-0002-4768-0272"},"institutions":[{"id":"https://openalex.org/I4210128818","display_name":"Institute of Software","ror":"https://ror.org/033dfsn42","country_code":"CN","type":"facility","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210128818"]},{"id":"https://openalex.org/I4210165038","display_name":"University of Chinese Academy of Sciences","ror":"https://ror.org/05qbk4x57","country_code":"CN","type":"education","lineage":["https://openalex.org/I19820366","https://openalex.org/I4210165038"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yan Cai","raw_affiliation_strings":["Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China"],"raw_orcid":"https://orcid.org/0000-0002-4768-0272","affiliations":[{"raw_affiliation_string":"Institute of Software at Chinese Academy of Sciences, Beijing, China / University of Chinese Academy of Sciences, Beijing, China","institution_ids":["https://openalex.org/I4210128818","https://openalex.org/I4210165038"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5018409336"],"corresponding_institution_ids":["https://openalex.org/I4210128818","https://openalex.org/I4210165038"],"apc_list":null,"apc_paid":null,"fwci":0.2992,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.53779336,"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":"832","last_page":"844"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.995199978351593,"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/T12127","display_name":"Software System Performance and Reliability","score":0.987500011920929,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.8748270869255066},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8611948490142822},{"id":"https://openalex.org/keywords/parallelizable-manifold","display_name":"Parallelizable manifold","score":0.8597656488418579},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.472615510225296},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4707137942314148},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.41990673542022705},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.24262002110481262},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.17993620038032532},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.15971505641937256}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8748270869255066},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8611948490142822},{"id":"https://openalex.org/C148047603","wikidata":"https://www.wikidata.org/wiki/Q1014612","display_name":"Parallelizable manifold","level":2,"score":0.8597656488418579},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.472615510225296},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4707137942314148},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.41990673542022705},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.24262002110481262},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.17993620038032532},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.15971505641937256}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3611643.3616259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616259","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616259","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.3616259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3616259","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3616259","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":[{"id":"https://metadata.un.org/sdg/14","score":0.5,"display_name":"Life below water"}],"awards":[{"id":"https://openalex.org/G3196640441","display_name":null,"funder_award_id":"61932012","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G6800602771","display_name":null,"funder_award_id":"62232016","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G7847764161","display_name":null,"funder_award_id":"Y2021041","funder_id":"https://openalex.org/F4320322847","funder_display_name":"Youth Innovation Promotion Association of the Chinese Academy of Sciences"},{"id":"https://openalex.org/G8685415359","display_name":null,"funder_award_id":"2022YFB3104004","funder_id":"https://openalex.org/F4320335777","funder_display_name":"National Key Research and Development Program of China"}],"funders":[{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"},{"id":"https://openalex.org/F4320321133","display_name":"Chinese Academy of Sciences","ror":"https://ror.org/034t30j35"},{"id":"https://openalex.org/F4320322847","display_name":"Youth Innovation Promotion Association of the Chinese Academy of Sciences","ror":"https://ror.org/031141b54"},{"id":"https://openalex.org/F4320335777","display_name":"National Key Research and Development Program of China","ror":null},{"id":"https://openalex.org/F4320335892","display_name":"Youth Innovation Promotion Association","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4389158951.pdf","grobid_xml":"https://content.openalex.org/works/W4389158951.grobid-xml"},"referenced_works_count":32,"referenced_works":["https://openalex.org/W1517684295","https://openalex.org/W1553894716","https://openalex.org/W1994584977","https://openalex.org/W1995343013","https://openalex.org/W1997394902","https://openalex.org/W2034761517","https://openalex.org/W2054804828","https://openalex.org/W2071470850","https://openalex.org/W2074743336","https://openalex.org/W2079235644","https://openalex.org/W2128249697","https://openalex.org/W2157099283","https://openalex.org/W2191779130","https://openalex.org/W2293624369","https://openalex.org/W2527672088","https://openalex.org/W2534652523","https://openalex.org/W2542459869","https://openalex.org/W2565050701","https://openalex.org/W2623240261","https://openalex.org/W2725179571","https://openalex.org/W2886324290","https://openalex.org/W2997591727","https://openalex.org/W2997982921","https://openalex.org/W3003257820","https://openalex.org/W3009106325","https://openalex.org/W3043598779","https://openalex.org/W3082280792","https://openalex.org/W3129781741","https://openalex.org/W3150635270","https://openalex.org/W3198880905","https://openalex.org/W4247562030","https://openalex.org/W4288951583"],"related_works":["https://openalex.org/W4285069850","https://openalex.org/W1974634278","https://openalex.org/W4240963716","https://openalex.org/W2891970004","https://openalex.org/W4301075503","https://openalex.org/W1596637634","https://openalex.org/W1996916724","https://openalex.org/W2207495067","https://openalex.org/W1906486629","https://openalex.org/W1980160788"],"abstract_inverted_index":{"Parallelization":[0],"is":[1,78,99,131,238],"a":[2,84,103,109,120,126,149,196],"promising":[3],"way":[4],"to":[5,31,87,113,226,240],"improve":[6],"the":[7,49,100,138],"performance":[8],"of":[9,92,102,137,151,190,213,224,232],"Python":[10,33,70,161,250,269],"programs.":[11,71,270],"Unfortunately,":[12],"developers":[13],"may":[14],"miss":[15],"parallelization":[16,66,140,266],"possibilities,":[17],"because":[18],"they":[19,37,46],"usually":[20],"do":[21],"not":[22],"concentrate":[23],"on":[24,156,185,267],"parallelization.":[25],"Many":[26],"approaches":[27],"have":[28,147],"been":[29],"proposed":[30],"parallelize":[32],"programs":[34,251],"automatically,":[35],"however,":[36],"are":[38,174,192,202],"either":[39],"domain-specific":[40],"or":[41],"require":[42],"manual":[43,75,186],"annotation.":[44],"Thus":[45],"cannot":[47],"solve":[48],"problem":[50],"well":[51,124],"in":[52,68,236],"general.":[53],"In":[54,170],"this":[55],"paper,":[56],"we":[57],"propose":[58],"PyPar,":[59],"an":[60,222,230],"effective":[61,263],"tool":[62],"aiming":[63],"at":[64],"discovering":[65],"possibilities":[67],"real-world":[69,160,268],"PyPar":[72,118,134,152,177,260],"doesn\u2019t":[73],"need":[74],"annotation":[76],"and":[77,144,153,168,176,211,259,264],"universally":[79],"applicable.":[80],"It":[81],"first":[82],"drives":[83],"data-dependence":[85],"analysis":[86],"determine":[88],"whether":[89],"two":[90],"pieces":[91],"code":[93],"can":[94,215,252,261],"run":[95],"concurrently.":[96],"The":[97,199,234,243],"key":[98],"use":[101],"graph-theoretic":[104],"approach.":[105],"Next,":[106],"it":[107,155],"adopts":[108],"dynamic":[110],"selection":[111],"strategy":[112],"eliminate":[114],"inefficient":[115],"parallelisms.":[116],"Finally,":[117],"produces":[119],"parallelism":[121],"report":[122],"as":[123,125],"referential":[127],"parallelized":[128,255],"program,":[129],"which":[130],"built":[132],"by":[133,220],"using":[135],"one":[136],"three":[139],"methods":[141],"(thread-based,":[142],"processbased,":[143],"Ray-based).":[145],"We":[146],"implemented":[148],"prototype":[150],"evaluated":[154],"six":[157],"well-designed":[158,248],"widely-used":[159],"packages:":[162],"Scikit-Image,":[163],"SciPy,":[164],"librosa,":[165],"trimesh,":[166],"Scikit-learn":[167],"seaborn.":[169],"total,":[171],"1,240":[172],"functions":[173,181,208],"tested,":[175],"found":[178],"127":[179],"parallelizable":[180,203],"among":[182,206],"them.":[183],"Based":[184],"filtering,":[187],"only":[188],"7":[189],"them":[191,214],"false":[193],"positives":[194],"(i.e.,":[195],"94.5%":[197],"precision).":[198],"remaining":[200],"120":[201],"(almost":[204],"10%":[205],"all":[207],"under":[209],"test),":[210],"most":[212],"be":[216,253],"efficiently":[217],"sped":[218],"up":[219,225],"gaining":[221],"acceleration":[223,235],"90%":[227],",":[228],"with":[229],"average":[231],"44%.":[233],"practice":[237],"close":[239],"theoretical":[241],"estimation.":[242],"results":[244],"show":[245],"that":[246],"even":[247],"practical":[249],"further":[254],"for":[256],"speeding":[257],"up,":[258],"bring":[262],"efficient":[265]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-03-27T05:58:40.876381","created_date":"2025-10-10T00:00:00"}
