[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-83760-en":3,"doc-seo-83760-105":30,"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":13,"seo_description":14,"update_tm":28,"read_time":29},83760,137441390410,"Hazel","https://ap-avatar.wpscdn.com/avatar/2000252f4ab5702993?_k=1776741390130283984",8,"Research & Report","Why3-py: 用于 Python 中假设检验与元分析的形式化验证工具","The document addresses the reproducibility crisis by targeting the trustworthiness of statistical analyses, especially meta-analyses that combine results across studies. It proposes a formal verification framework for statistical programs written in Python, where assumptions and interpretations are made explicit. The tool Why3-py converts annotated Python code into WhyML for Why3-based verification, coping with Python’s dynamic typing and runtime polymorphism. It also extends StatWhy to verify meta-analysis methods, helping users detect overlooked assumptions and misuse, and verify program correctness under proper assumptions.","arXiv :2607 .0395 1v 1 [ cs . SE] 4 Jul 2026  \nWhy3-py: A Tool for Formal Verification of Hypothesis Testing and Meta-Analysis in Python⋆  \nAkira Tanaka and Yusuke Kawamoto  \nNational Institute of Advanced Industrial Science and Technology (AIST), Tokyo,  \nJapan  \nAbstract. The reproducibility crisis in scientific research has received widespread recognition, thereby increasing the importance of meta-analyses that integrate statistical analyses from multiple studies. However, statistical methods often have ambiguous and implicit underlying assumptions, which can lead to their erroneous applications and interpretations.  \nTo address this issue, we propose a formal verification framework for statistical programs written in Python. Specifically, we present Why3-py, a Python front-end for the Why3 verification platform that transforms Python programs into verification-oriented WhyML representations suitable for formal verification, addressing the challenges arising from Python’s dynamic typing and runtime polymorphism. Furthermore, we extend the StatWhy tool to support the verification of meta-analysis methods. These tools enable users to identify overlooked assumptions and misuse of analyses, and to verify the correctness of Python programs for hypothesis testing and for meta-analyses.  \nKeywords: Formal method · automated verification · program verification · Why3 · Python · statistical hypothesis testing · meta analysis.  \n1 Introduction  \nThe reproducibility crisis in scientific research has drawn increasing attention to the trustworthiness of statistical analyses, particularly meta-analyses that aggregate evidence from multiple studies. However, the correctness of statistical analyses is fundamentally different from that of conventional programs. Statistical methods crucially rely on assumptions about data-generating processes, such as distributional properties on unobservable true populations, which cannot be verified solely from the program and observed data. As a result, statistical programs may produce seemingly plausible outputs while being based on inappropriate or missing assumptions, leading to incorrect scientific conclusions.  \nThis issue is exacerbated in practice by the widespread use of Python and its scientific libraries, which make it easy to apply statistical methods without explicitly stating their assumptions. However, existing program verification  \ntechniques focus on functional correctness and do not capture the assumptiondependent nature of statistical reasoning or the usage of external libraries.⋆ The artifact of the paper is available at [https://github.com/fm4stats/why3-py](https://github.com/fm4stats/why3-py).  \n2 A. Tanaka and Y. Kawamoto  \nTo address this gap, we propose a formal verification framework for Python statistical programs, based on explicit specifications of assumptions and interpretations. Specifically, we present Why3-py, a Python front end for the Why3 platform that transforms annotated Python code into WhyML, and an extension of StatWhy for specifying and verifying meta-analysis code. Importantly, our goal is not to verify implementations, but to ensure correct use under appropriate assumptions and interpretations, e.g., detecting incorrect integration of p-values in meta-analysis.  \nContributions. Our main contributions are summarized as follows:  \n– We present Why3-py, a formal verification tool for Python statistical code.  \n– We extend StatWhy with specifications for meta-analysis methods and show how our approach detects missing assumptions and misuse of meta-analyses.  \nThese tools are available with a range of examples and documentation [11, 22] . To the best of our knowledge, this is the first approach to formally verifying Python statistical code. Furthermore, this approach is not limited to specific branch of statistics, but can be applied to any situation where analysts and meta-analysts wish to verify the use of statistical methods in python code. This would be the first","cbCaip9onL5OFaRU","https://ap.wps.com/l/cbCaip9onL5OFaRU","pdf",593844,5,1,9,"English","en",105,"# Introduction\n## Contributions\n## Related Work\n## Background\n## Statistical Hypothesis Testing","[{\"question\":\"Why does the document treat statistical program correctness differently from ordinary program correctness?\",\"answer\":\"Statistical analyses depend on assumptions about data-generating processes and unobservable true populations, which cannot be verified from code and observed data alone. As a result, outputs may look plausible while relying on inappropriate or missing assumptions.\"},{\"question\":\"What is Why3-py and what does it do?\",\"answer\":\"Why3-py is a Python front-end for the Why3 verification platform. It transforms annotated Python statistical programs into WhyML representations suitable for formal verification, addressing challenges from Python’s dynamic typing and runtime polymorphism.\"},{\"question\":\"How does the framework support verification of meta-analysis methods?\",\"answer\":\"It extends the StatWhy tool with specifications for meta-analysis methods. This enables users to verify correct use under appropriate assumptions and to detect issues such as incorrect integration of p-values in meta-analysis.\"}]",1784190258,23,{"code":4,"msg":31,"data":32},"ok",{"site_id":25,"language":24,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":87,"head_meta":89,"extra_data":91,"updated_unix":28},"why3-py-a-tool-for-formal-verification-of-hypothesis-testing-and-meta-analysis-in-python","",{"@graph":36,"@context":86},[37,54,69],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/why3-py-a-tool-for-formal-verification-of-hypothesis-testing-and-meta-analysis-in-python/83760/",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":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-07-26","2026-07-16",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},"Why does the document treat statistical program correctness differently from ordinary program correctness?","Question",{"text":76,"@type":77},"Statistical analyses depend on assumptions about data-generating processes and unobservable true populations, which cannot be verified from code and observed data alone. As a result, outputs may look plausible while relying on inappropriate or missing assumptions.","Answer",{"name":79,"@type":74,"acceptedAnswer":80},"What is Why3-py and what does it do?",{"text":81,"@type":77},"Why3-py is a Python front-end for the Why3 verification platform. It transforms annotated Python statistical programs into WhyML representations suitable for formal verification, addressing challenges from Python’s dynamic typing and runtime polymorphism.",{"name":83,"@type":74,"acceptedAnswer":84},"How does the framework support verification of meta-analysis methods?",{"text":85,"@type":77},"It extends the StatWhy tool with specifications for meta-analysis methods. This enables users to verify correct use under appropriate assumptions and to detect issues such as incorrect integration of p-values in meta-analysis.","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,110,115,120,123,127,130,134],{"id":21,"doc_module":4,"doc_module_name":46,"category_name":95,"show_sort_weight":96,"slug":97},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":99,"show_sort_weight":100,"slug":101},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":103,"show_sort_weight":104,"slug":105},"Exam",70,"exam",{"id":20,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},"Comic",60,"comic",{"id":111,"doc_module":4,"doc_module_name":46,"category_name":112,"show_sort_weight":113,"slug":114},6,"Technology",50,"technology",{"id":116,"doc_module":4,"doc_module_name":46,"category_name":117,"show_sort_weight":118,"slug":119},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":121,"slug":122},30,"research-report",{"id":22,"doc_module":4,"doc_module_name":46,"category_name":124,"show_sort_weight":125,"slug":126},"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":46,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":46,"category_name":136,"show_sort_weight":20,"slug":137},19,"General","general"]