[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-128376-en":3,"doc-seo-128376-105":31,"detail-sidebar-cat-0-en-105":92},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":28,"seo_description":14,"update_tm":29,"read_time":30},128376,962085564807,"Aurelia","https://ap-avatar.wpscdn.com/davatar_6f874abed73319feea01a86fa6f0fab8",8,"Research & Report","Towards Practical Machine Learning for Program Analysis and Optimisation - Chapter 1","Machine learning techniques such as supervised learning and deep reinforcement learning have strong promise for code-related tasks including predicting code optimisation options and detecting software bugs. Practical adoption is constrained by difficulties during model design and deployment. This thesis improves practicality and reliability through three contributions: learning program representations from static information plus dynamic symbolic traces, providing an API framework to automate DRL architecture search for compiler optimisation, and applying statistical reliability assessments with fallback strategies to prevent incorrect predictions in deployment.","Towards Practical Machine Learning for Program Analysis and Optimisation  \nHuanting Wang  \nUniversity of Leeds  \nSchool of Computer Science  \nSubmitted in accordance with the requirements for the degree of  \nDoctor of Philosophy  \nOctober, 2025  \nIntellectual Property Statement  \nThe candidate confirms that the work submitted is his own and that appropriate credit has been given where reference has been made to the work of others.  \nThis copy has been supplied on the understanding that it is a copyright material and that no quotation from the thesis may be published without proper acknowledgement.  \nThe right of Huanting Wang to be identified as the Author of this work has been asserted by him in accordance with the Copyright, Designs and Patents Act 1988 .  \n© 2025 The University of Leeds and Huanting Wang.  \nAcknowledgements  \nI would like to express my gratitude to my supervisor and role model, Professor Zheng Wang, for his invaluable guidance and support. His mentorship has helped me grow not only as a PhD but also as a person. It has been an honour to work with him, and this will remain one of the most meaningful experiences of my life.  \nI would like to thank Zhanyong Tang, Shin Hwei Tan, Hugh Leather, and Chris Cummins, with whom I have collaborated on various projects that form parts of this thesis.  \nI would like to thank my colleagues and friends in both the U.K. and China.  \nI would like to thank my thesis examiners, Professor Karim Djemame and Professor Michael O’Boyle, for their valuable advice on this thesis.  \nI would like to thank my mother, Dongcui Zhu, my father, Kun Wang, and other family members for their constant encouragement and unconditional love.  \nFinally, I would like to thank my beloved, Guiting. Her patience, warmth, and unwavering support have been the quiet strength behind my journey. No words can truly express how deeply her love has meant to me.  \nAbstract  \nMachine learning (ML), such as supervised learning and deep reinforcement learning (DRL) techniques, has shown great potential in code-related tasks such as predicting code optimisation options and detecting software bugs. However, its practical use still faces multiple hurdles during the model design and deployment phases. This thesis addresses some of these challenges through three core contributions, aiming at making ML more practical and reliable for program analysis and optimisation.  \nThe first contribution tackles a fundamental challenge in applying ML to code-how to represent programs. Our approach enables ML to combine static code information with dynamic symbolic execution traces to capture rich program semantics while using a learning-based approach to reduce the overhead of symbolic execution. This improved representation enabled the development of an effective ML-based bug detection tool that uncovered 55 unique code vulnerabilities from 20 real-world projects, leading to the assignment of 37 new Common Vulnerabilities and Exposures (CVEs) .  \nThe second contribution aims to lower the barrier to integrating ML into compiler development. We introduce a framework with a simple Application Programming Interface (API) that helps developers construct DRL systems for compiler optimisation. The framework adopts a meta-learning strategy combining DRL with multi-task learning to search ML architectures. We show that the ML solutions automatically assembled by our framework outperform those developed manually by independent experts across four code optimisation tasks.  \nThe third contribution addresses the reliability issues of using trained ML models during deployment in the end-user environment. Our approach leverages statistical assessments to identify when an ML model will likely make incorrect predictions, enabling fallback strategies to maintain its robustness. We integrate our approach with 13 representative ML models across five code analysis and optimisation tasks, showing that our techniques can correctly identify an average of","cbCail7Pyrk9fXho","https://ap.wps.com/l/cbCail7Pyrk9fXho","pdf",14856972,2,1,161,"English","en",105,"# Introduction\n## Challenges for Applying Machine Learning to Code\n## Contributions","[{\"question\":\"What problem does the thesis address in applying machine learning to program analysis and optimisation?\",\"answer\":\"It tackles practical hurdles in both model design and deployment, including how to represent programs effectively and how to ensure reliable predictions in end-user environments.\"},{\"question\":\"How does the thesis approach program representation for ML?\",\"answer\":\"It combines static code information with dynamic symbolic execution traces to capture rich semantics, while using a learning-based method to reduce symbolic execution overhead.\"},{\"question\":\"What reliability mechanism does the thesis use during deployment?\",\"answer\":\"It leverages statistical assessments to detect when a trained model is likely to produce incorrect predictions, then applies fallback strategies to maintain robustness.\"}]","Towards Practical Machine Learning for Program Analysis and Optimisation - Chapter 1 | PDF",1785947162,406,{"code":4,"msg":32,"data":33},"ok",{"site_id":25,"language":24,"slug":34,"title":13,"keywords":35,"description":14,"schema_data":36,"social_meta":87,"head_meta":89,"extra_data":91,"updated_unix":29},"towards-practical-machine-learning-for-program-analysis-and-optimisation-chapter-1","",{"@graph":37,"@context":86},[38,54,69],{"@type":39,"itemListElement":40},"BreadcrumbList",[41,45,48,51],{"item":42,"name":43,"@type":44,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":46,"name":47,"@type":44,"position":20},"https://docshare.wps.com/document/","Document",{"item":49,"name":12,"@type":44,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":44,"position":53},"https://docshare.wps.com/document/towards-practical-machine-learning-for-program-analysis-and-optimisation-chapter-1/128376/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":24,"description":14,"dateModified":62,"datePublished":63,"encodingFormat":61,"isAccessibleForFree":64,"interactionStatistic":65},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":42,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-08-23","2026-08-05",true,{"@type":66,"interactionType":67,"userInteractionCount":20},"InteractionCounter",{"@type":68},"ViewAction",{"@type":70,"mainEntity":71},"FAQPage",[72,78,82],{"name":73,"@type":74,"acceptedAnswer":75},"What problem does the thesis address in applying machine learning to program analysis and optimisation?","Question",{"text":76,"@type":77},"It tackles practical hurdles in both model design and deployment, including how to represent programs effectively and how to ensure reliable predictions in end-user environments.","Answer",{"name":79,"@type":74,"acceptedAnswer":80},"How does the thesis approach program representation for ML?",{"text":81,"@type":77},"It combines static code information with dynamic symbolic execution traces to capture rich semantics, while using a learning-based method to reduce symbolic execution overhead.",{"name":83,"@type":74,"acceptedAnswer":84},"What reliability mechanism does the thesis use during deployment?",{"text":85,"@type":77},"It leverages statistical assessments to detect when a trained model is likely to produce incorrect predictions, then applies fallback strategies to maintain robustness.","https://schema.org",{"og:url":52,"og:type":88,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":90,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":93},[94,98,102,106,111,116,121,124,129,132,136],{"id":21,"doc_module":4,"doc_module_name":47,"category_name":95,"show_sort_weight":96,"slug":97},"Story & Novel",90,"story-novel",{"id":20,"doc_module":4,"doc_module_name":47,"category_name":99,"show_sort_weight":100,"slug":101},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":47,"category_name":103,"show_sort_weight":104,"slug":105},"Exam",70,"exam",{"id":107,"doc_module":4,"doc_module_name":47,"category_name":108,"show_sort_weight":109,"slug":110},5,"Comic",60,"comic",{"id":112,"doc_module":4,"doc_module_name":47,"category_name":113,"show_sort_weight":114,"slug":115},6,"Technology",50,"technology",{"id":117,"doc_module":4,"doc_module_name":47,"category_name":118,"show_sort_weight":119,"slug":120},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":47,"category_name":12,"show_sort_weight":122,"slug":123},30,"research-report",{"id":125,"doc_module":4,"doc_module_name":47,"category_name":126,"show_sort_weight":127,"slug":128},9,"Religion & Spirituality",20,"religion-spirituality",{"id":127,"doc_module":4,"doc_module_name":47,"category_name":130,"show_sort_weight":127,"slug":131},"World Cup","world-cup",{"id":133,"doc_module":4,"doc_module_name":47,"category_name":134,"show_sort_weight":133,"slug":135},10,"Lifestyle","lifestyle",{"id":137,"doc_module":4,"doc_module_name":47,"category_name":138,"show_sort_weight":107,"slug":139},19,"General","general"]