REVIEW 3 major objections 6 minor 65 references
Combining Type Inference and Automated Unit Test Generation for Python
T0 review · 3 major / 6 minor · reviewed 2026-08-06 · deepseek-v4-flash
Pith's one-line read By wrapping arguments in transparent proxies during test execution, this paper infers Python parameter and return types on the fly and shows the inferred types raise branch coverage and mutation scores of generated tests.
desk verdict Real dynamic type tracing result with a solid coverage evaluation, but the type-quality claim needs more runs and the abstract overstates the gain. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The central object is the ObjectProxy, a wrapper that intercepts dunder methods and attribute access, records the interaction in a usage trace, and then forwards the operation to the wrapped object so that it remains transparent to duck-typed code. Around it sit an isinstance shim that records type checks, an attribute-to-class mapping built from __init__ assignments and static attributes, and a consistency relation that lets the generator choose concrete subtypes of an inferred type. The mechanism is completed by probabilistic proxied execution: only 5% of executions pay the overhead of tracing, which lets the search budget be spent mostly on exploration while still accumulating type evidence.
What would settle it
Take a set of classes whose distinguishing attributes are assigned outside __init__, such as in a configure method or dynamically, and check whether type tracing infers the correct parameter types while the attribute map is restricted to __init__. If coverage and inferred-type F1 do not drop relative to a version of the map augmented with the runtime attributes, the mechanism does not depend on that map; if they do drop, the map is load-bearing.
Extended reading notes
Core claim
Type tracing treats the test generator's own executions as the data source for type inference. When a candidate test is run, arguments are wrapped in a proxy that logs every operation, such as attribute reads, method calls, comparisons, and isinstance checks, before forwarding it to the wrapped object, and the same execution records the types of returned values. The logs are merged into a type cluster that maps attribute names to the classes offering them, and later argument choices are drawn from the inferred candidate types with probability weights. Because a proxied execution can behave differently for C-implemented operations, tracing runs as a separate execution with a tuned probability, 5% in the evaluation. The paper reports that on 466 real-world modules this raises mean branch coverage from 67.7% with no type information to 71.0% when combined with developer hints, yields up to 90.0% relative coverage on individual modules, improves mutation scores slightly, and produces parameter and return types whose precision, recall, and F1 scores exceed those of all non-LLM comparison tools on the benchmark.
Load-bearing premise
The load-bearing premise is that the statically built attribute map accurately approximates which attributes instances of a class actually have; Python objects can change layout at runtime, and if the map misses attributes, observed accesses will not resolve to the right candidate types.
Editorial extensions
If this is right
- On unannotated modules, type tracing alone raises mean branch coverage from 67.7% to 69.8%, so test generators can stop relying on random type selection when hints are absent.
- Combining traced types with existing developer hints gives the best results, 71.0% mean coverage and 90.0% relative coverage on some modules, so tracing is an addition rather than a replacement for annotations.
- Inferred parameter and return types are of comparable or better quality than those of the non-LLM static inference tools compared, meaning the approach can double as a side-effect type inference for unannotated code.
- Mutation scores improve only slightly, and using all available type information is still the best configuration, so the main benefit of tracing is coverage rather than fault detection.
- Type quality correlates with coverage, with a reported Pearson coefficient of 0.546, implying that deeper exploration produces better types.
Reading between the lines
- Because the inferred types are valid input types rather than necessarily the developer's intended annotations, the same mechanism could be used to suggest broader parameter types that still execute successfully, which may reveal hidden guard branches or design simplifications.
- The probabilistic tracing idea transfers to any dynamic language or test generator that repeatedly executes candidate tests; the 5% probability is an empirical knob that would need retuning for each language and search budget.
- An obvious hybrid, left implicit in the paper, is to seed type tracing with LLM or static predictions and let runtime tracing refine them, combining high initial accuracy with execution-grounded evidence.
- The positive correlation between coverage and type quality suggests that any future improvement in object instantiation, which the paper names as an open challenge, would automatically improve the inferred types as well.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper proposes type tracing, a dynamic analysis embedded in the Pynguin test generator for Python. During selected test executions, arguments are wrapped in transparent proxies that record attribute accesses, method calls, and isinstance checks, while return types are recorded from the values returned by successfully executed routines. These observations are combined with an approximate static inventory of class attributes (Section 3.2.3) and a weighted type-selection mechanism (Section 3.4) to guide subsequent input generation. The evaluation tunes the probability of proxied execution on a separate dataset (RQ1), compares four configurations (NoTypeHints, TypeHints, NoTypeHints-TypeTracing, TypeHints-TypeTracing) on 466 modules for branch coverage (RQ2) and mutation score (RQ3), and compares the inferred types against six non-LLM tools and GPT-4o-mini using TypeEvalPy (RQ4). The paper reports mean branch coverage of 71.0% for TypeHints-TypeTracing versus 67.7% for NoTypeHints, and parameter/return F1 scores of 0.215/0.387, and it claims improvements in coverage, mutation score, and type quality comparable to state-of-the-art approaches.
Significance. The core idea is timely and the RQ2 evidence is solid in its experimental design: 30 repeated runs per configuration, Mann-Whitney tests, Vargha-Delaney effect sizes, and a separate tuning dataset avoid the most common circularity pitfalls. The observation that type tracing improves coverage on 162 modules and worsens it on only 19 relative to NoTypeHints (Table 1) is a credible and practically relevant result. However, the type-quality comparison (RQ4) rests on a single stochastic Pynguin execution, and the wording of the headline coverage claim overstates what the relative-coverage metric shows. Both issues are load-bearing for the abstract and conclusions and need to be corrected before the paper can be accepted.
major comments (3)
- [Section 4.1.4, Tables 6 and 7] The RQ4 claim that type tracing produces type information of 'similar quality' to other state-of-the-art tools is not established because the comparison is based on a single Pynguin execution. Section 4.1.4 states that Pynguin was executed only once when answering RQ4, despite Pynguin being a stochastic evolutionary search with random type selection and a 5% probability of proxied execution. A single run provides no variance estimate, so the observed F1 differences (parameter 0.215 vs. HiTyper 0.104; return 0.387 vs. 0.194) may be within run-to-run noise. Repeated runs (e.g., 30, as in RQ2/RQ3) with confidence intervals, or a substantially weakened claim that does not appear in the abstract, are needed.
- [Abstract, Section 1, and Section 4.4, Table 2] The claim of 'up to 90.0% more branch coverage' (also given as 87.8% in the abstract) is not supported by the data. Table 2 reports a mean relative coverage of 90.0% for TypeHints-TypeTracing, where relative coverage is defined in Section 4.1.3 as (cov - min)/(max - min). That value means the configuration reaches 90% of the observed coverage range, not that it achieves 90% more coverage than a baseline. The actual mean branch coverage gain is 71.0% versus 67.7% for NoTypeHints (Section 4.4). The abstract and conclusions should be rephrased to report the relative-coverage metric accurately and the two numerical versions should be reconciled.
- [Section 4.5, Tables 4 and 5] The conclusion that 'using as much type information as possible yields the best results' for fault finding is not supported by the aggregate mutation scores. Table 4 shows TypeHints-TypeTracing with a mean mutation score of 24.2%, which is lower than TypeHints at 24.4%. Table 5 shows only a small positive effect size (0.508) for TypeHints-TypeTracing versus TypeHints, with 141 better but 137 worse modules. The paper should either report that the mutation-score benefit of combining type hints with type tracing is not consistently supported, or explain why the module-level effect size should be preferred over the mean mutation score for this conclusion.
minor comments (6)
- [Section 4.1.4 (RQ1 procedure)] The number of repetitions per probability setting in RQ1 is not stated explicitly. It should be confirmed that the 30-run policy described in Section 4.1.2 applies to every probability configuration used to tune the 5% value.
- [Abstract vs. full text] The abstract reports 'up to 87.8% more branch coverage,' while the introduction and conclusions report 'up to 90.0%.' These numbers should be unified and described as relative coverage rather than 'more branch coverage.'
- [Section 4.3, Figure 10] The differences in mean coverage across probability settings are very small (roughly 53.9% to 54.6%) and the reported effect sizes are around 0.5. A brief discussion of how stable the choice of 5% is across these near-ties would strengthen the RQ1 conclusion.
- [Section 4.1.2] The omega weights for type selection were chosen by hand without tuning. This is acknowledged as a limitation, but a sensitivity analysis of these weights would increase confidence in the RQ2 results.
- [Section 4.1.3] The definition of relative coverage is clear, but the paper should avoid using the word 'up to' together with a mean value; the 90.0% is a mean relative coverage, not a maximum increase.
- [Sections 4.4-4.6, general copyediting] There are several typos, including 'overead' in Section 4.4, 'qualitatiy' and 'constition' in Section 4.6, and 'Automatc' in the reference to Gruber et al. These should be corrected in a final copyedit.
Circularity Check
No circularity: the type-tracing evaluation is anchored to external ground truth and a separately tuned parameter, with only a minor non-load-bearing self-citation.
full rationale
The paper's derivation chain is self-contained and empirically anchored. RQ1 tuning of the proxy execution probability is conducted on DS1-Tuning and then fixed at 5% on DS2-Evaluation (Sections 4.1.1 and 4.3), so the headline coverage results are not fits of the tuned parameter. The type-selection weights in Sections 3.4 and 4.1.2 were chosen by hand ('we chose values that provided reasonable results for a manual small-scale evaluation'), not optimized against the reported RQ2 or RQ3 outcomes. Inferred type quality (RQ4) is measured against an external ground truth consisting of developer type hints extracted from DS2-Evaluation and typeshed (Sections 4.1.3 and 4.1.4), and the comparison uses external TypeEvalPy baseline tools; no inferred type is defined in terms of the target metric. The only notable weakness is that RQ4 executes Pynguin only once ('To ensure fairness toward the other tools, we executed Pynguin only once'), which is a statistical validity threat about variance rather than a circular reduction. The citations to the authors' previous Pynguin work describe the framework being extended, not a theorem that forces the results. No equation in the paper equals its input by construction, and no fitted parameter is relabeled as a prediction.
Assumptions & free parameters
free parameters (5)
- type_tracing_probability =
5%
- omega_ann =
10
- omega_none =
1
- omega_any =
5
- omega_union =
10
assumptions (4)
- domain assumption ObjectProxy forwards all Python-level operations transparently, so proxies reveal the same usage as the wrapped object.
- domain assumption isinstance checks are the dominant runtime type-check mechanism; type() checks are negligible.
- domain assumption Static attribute collection from __init__ assignments and class vars(), plus the inheritance-based attribute mapping, approximates the attributes available on instances.
- domain assumption Existing type annotations and merged typeshed annotations are correct enough to act as ground truth.
Cite this review
Pith. "Pith review of Combining Type Inference and Automated Unit Test Generation for Python." pith.science (2026). https://pith.science/paper/UVGVPYO2
@misc{pith2026250701477,
author = {Pith},
title = {Pith review of: Combining Type Inference and Automated Unit Test Generation for Python},
year = {2026},
howpublished = {\url{https://pith.science/paper/UVGVPYO2}},
note = {Machine review of arXiv:2507.01477}
}
read the original abstract
Automated unit test generation is an established research field that has so far focused on statically-typed programming languages. The lack of type information in dynamically-typed programming languages, such as Python, inhibits test generators, which heavily rely on information about parameter and return types of functions to select suitable arguments when constructing test cases. Since automated test generators inherently rely on frequent execution of candidate tests, we make use of these frequent executions to address this problem by introducing type tracing, which extracts type-related information during execution and gradually refines the available type information. We implement type tracing as an extension of the Pynguin test-generation framework for Python, allowing it (i) to infer parameter types by observing how parameters are used during runtime, (ii) to record the types of values that function calls return, and (iii) to use this type information to increase code coverage. The approach leads to up to 87.8 % more branch coverage, improved mutation scores, and to type information of similar quality to that produced by other state-of-the-art type-inference tools.
Figures
Figures from the paper (18 more)
Reference graph
Works this paper leans on
-
[1]
James H. Andrews, Lionel C. Briand, and Yvan Labiche. 2005. Is Mutation an Appropriate Tool for Testing Experiments?. In International Conference on Software Engineering (ICSE) . ACM, 402–411. doi:10.1145/1062455.1062530
arXiv 2005
-
[2]
Andrea Arcuri and Gordon Fraser. 2013. Parameter tuning or default values? An empirical investigation in search-based software engineering. Empirical Software Engineering 18, 3 (2013), 594–623. doi:10.1007/s10664-013-9249-9
-
[3]
Stefan Bucur, Johannes Kinder, and George Candea. 2014. Prototyping symbolic execution engines for interpreted languages. SIGARCH Comput. Archit. News 42, 1 (Feb. 2014), 239–254. doi:10.1145/2654822.2541977
arXiv 2014
-
[4]
José Campos, Yan Ge, Nasser Albunian, Gordon Fraser, Marcelo Eler, and Andrea Arcuri. 2018. An empirical evaluation of evolutionary algorithms for unit test suite generation. Information & Software Technology 104 (2018), 207–235. doi:10.1016/j.infsof.2018.08.010
-
[5]
Luca Cardelli. 2004. Type Systems
work page 2004
-
[6]
Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated Test Input Generation for Android: Are We There Yet?. In International Conference on Automated Software Engineering (ASE) . IEEE Computer Society, 429–440. doi:10.1109/ASE.2015.89
-
[7]
Arghavan Moradi Dakhel, Amin Nikanjam, Vahid Majdinasab, Foutse Khomh, and Michel C. Desmarais. 2024. Effective test generation using pre- trained Large Language Models and mutation testing. Information and Software Technology 171 (July 2024), 107468. doi:10.1016/j.infsof.2024.107468 Manuscript submitted to ACM Combining Type Inference and Automated Unit ...
arXiv 2024
-
[8]
Xuefeng Ding, Wanyu Huang, Ying Liu, Chen Wantao, and Ding Xuyang. 2016. Dynamic Symbolic Execution Tool for Python Programs. In 2016 International Conference on Intelligent Transportation, Big Data & Smart City (ICITBS) . 212–217. doi:10.1109/ICITBS.2016.88
Show all 65 references
-
[9]
Dwyer, and Mary Lou Soffa
Swaroopa Dola, Matthew B. Dwyer, and Mary Lou Soffa. 2021. Distribution-Aware Testing of Neural Networks Using Generative Models. In International Conference on Software Engineering (ICSE) . IEEE, 226–237. doi:10.1109/ICSE43902.2021.00032
2021
-
[10]
Nicolas Erni, Al-Ameen Mohammed Ali Mohammed, Christian Birchler, Pouria Derakhshanfar, Stephan Lukasczyk, and Sebastiano Panichella. 2024. SBFT Tool Competition 2024 - Python Test Case Generation Track. CoRR abs/2401.15189 (2024). arXiv:2401.15189
2024 arXiv
-
[11]
Gordon Fraser and Andrea Arcuri. 2013. Whole Test Suite Generation. IEEE Transactions on Software Engineering 39, 2 (2013), 276–291. doi:10.1109/ TSE.2012.14
2013
-
[12]
Liang Gong, Michael Pradel, Manu Sridharan, and Koushik Sen. 2015. DLint: Dynamically Checking Bad Coding Practices in JavaScript. In International Symposium on Software Testing and Analysis (ISSTA) . ACM, 94–105. doi:10.1145/2771783.2771809
2015
-
[13]
Luca Di Grazia and Michael Pradel. 2022. The Evolution of Type Annotations in Python: An Empirical Study. InJoint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE) . ACM, 209–220. doi:10.1145/3540250.3549114
2022
-
[14]
Martin Gruber, Muhammad Firhard Roslan, Owain Parry, Fabian Scharnböck, Phil McMinn, and Gordon Fraser. 2024. Do Automatc Test Generation Tools Generate Flaky Tests. In International Conference on Software Engineering (ICSE) . ACM, 47:1–47:12. doi:10.1145/3597503.3608138
2024
-
[15]
Mostafa Hassan, Caterina Urban, Marco Eilers, and Peter Müller. 2018. MaxSMT-Based Type Inference for Python 3. In International Conference on Computer Aided Verification (CA V) (Lecture Notes in Computer Science, Vol. 10982). Springer, 12–19. doi:10.1007/978-3-319-96142-2_2
2018 doi
-
[16]
Hellendoorn, Christian Bird, Earl T
Vincent J. Hellendoorn, Christian Bird, Earl T. Barr, and Miltiadis Allamanis. 2018. Deep Learning Type Inference. In Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE) . ACM, 152–162. doi:10.11...
2018 doi
-
[17]
Alex Holkner and James Harland. 2009. Evaluating the dynamic behaviour of Python applications. InAustralasian Computer Science Conference (ACSC) (CRPIT, Vol. 91). Australian Computer Society, 17–25. http://crpit.scem.westernsydney.edu.au/abstracts/CRPITV91Holkner.html
2009
-
[18]
Yue Jia and Mark Harman. 2011. An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering 37, 5 (2011), 649–678. doi:10.1109/TSE.2010.62
2011 doi
-
[19]
Ernst, Reid Holmes, and Gordon Fraser
René Just, Darioush Jalali, Laura Inozemtseva, Michael D. Ernst, Reid Holmes, and Gordon Fraser. 2014. Are Mutants a Valid Substitute for Real Faults in Software Testing?. In International Symposium on Foundations of Software Engineering (FSE) . ACM, 654–665. doi:10.1145/26358...
2014
-
[20]
Sebastian Kleinschmager, Stefan Hanenberg, Romain Robbes, Éric Tanter, and Andreas Stefik. 2012. Do Static Type Systems Improve the Maintain- ability of Software Systems? An Empirical Study. In International Conference on Program Comprehension (ICPC) . IEEE Computer Society, 1...
2012
-
[21]
Combining Type Inference and Automated Unit Test Generation for Python
Lukas Krodinger, Stephan Lukasczyk, and Gordon Fraser. 2025. Artifact for the paper "Combining Type Inference and Automated Unit Test Generation for Python" submitted to TOSEM 2025 . doi:10.5281/zenodo.15788696
2025 doi
-
[23]
Li Li, Jiawei Wang, and Haowei Quan. 2022. Scalpel: The Python Static Analysis Framework. CoRR abs/2202.11840 (2022). arXiv:2202.11840
2022 arXiv
-
[24]
Yun Lin, You Sheng Ong, Jun Sun, Gordon Fraser, and Jin Song Dong. 2021. Graph-based Seed Object Synthesis for Seach-Based Unit Testing. In Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE) . A...
2021
-
[25]
Stephan Lukasczyk and Gordon Fraser. 2022. Pynguin: Automated Unit Test Generation for Python. In International Conference on Software Engineering Companion (ICSE Companion) . IEEE/ACM, 168–172. doi:10.1145/3510454.3516829
2022
-
[26]
Stephan Lukasczyk, Florian Kroiß, and Gordon Fraser. 2020. Automated Unit Test Generation for Python. In International Symposium on Search Based Software Engineering (SSBSE) (Lecture Notes in Computer Science, Vol. 12420) . Springer, 9–24. doi:10.1007/978-3-030-59762-7_2
2020 doi
-
[27]
Stephan Lukasczyk, Florian Kroiß, and Gordon Fraser. 2023. An empirical study of automated unit test generation for Python. Empirical Software Engineering 28, 2 (2023), 36:1–36:46. doi:10.1007/s10664-022-10248-w
2023 doi
-
[28]
Donaldson
David MacIver and Alastair F. Donaldson. 2020. Test-Case Reduction via Test-Case Generation: Insights from the Hypothesis Reducer (Tool Insights Paper). In European Conference on Object-Oriented Programming (ECOOP) (Leibnitz International Proceedings in Informatics (LIPIcs), V...
2020 doi
-
[29]
David MacIver and Zac Hatfield-Dodds. 2019. Hypothesis: A new approach to property-based testing. Journal of Open Source Software 4, 43 (2019),
2019
-
[30]
Magnus Madsen. 2015. Static Analysis of Dynamic Languages . phdthesis
2015
-
[31]
Rabee Sohail Malik, Jibesh Patra, and Michael Pradel. 2019. NL2Type: Inferring JavaScript Function Types from Natural Language Information. In International Conference on Software Engineering (ICSE) . IEEE/ACM, 304–315. doi:10.1109/ICSE.2019.00045
2019
-
[32]
Mann and Donald R
Henry B. Mann and Donald R. Whitney. 1947. On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other.The Annals of Mathematical Statistics 18, 1 (1947), 50–60. doi:10.1214/aoms/1177730491
1947
-
[33]
Nevena Milojkovic, Mohammad Ghafari, and Oscar Nierstrasz. 2017. It’s Duck (Typing) Season!. In International Conference on Program Comprehen- sion (ICPC). IEEE Computer Society, 312–315. doi:10.1109/ICPC.2017.10 Manuscript submitted to ACM 36 Lukas Krodinger, Stephan Lukasczy...
2017 doi
-
[34]
Mir, Evaldas Latoskinas, Sebastian Proksch, and Georgios Gousios
Amir M. Mir, Evaldas Latoskinas, Sebastian Proksch, and Georgios Gousios. 2022. Type4Py: Practical Deep Similarity Learning-Based Type Inference for Python. In International Conference on Software Engineering (ICSE) . ACM, 2241–2252. doi:10.1145/3510003.3510124
2022
-
[35]
Milos Ojdanic, Aayush Garg, Ahmed Khanfir, Renzo Degiovanni, Mike Papadakis, and Yves Le Traon. 2023. Syntactic Versus Semantic Similarity of Artificial andReal Faults in Mutation Testing Studies.IEEE Transactions on Software Engineering 49, 7 (2023), 3922–3938. doi:10.1109/TS...
2023
-
[36]
Lahiri, Michael D
Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball. 2007. Feedback-Directed Random Test Generation. In International Conference on Software Engineering (ICSE) . IEEE Computer Society, 75–84. doi:10.1109/ICSE.2007.37
2007 doi
-
[37]
Annibale Panichella, Fitsum Meshesha Kifetew, and Paolo Tonella. 2018. Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets. IEEE Transactions on Software Engineering 44, 2 (2018), 122–158. doi:10.1109/TSE.2017.2663435
2018
-
[38]
Mike Papadakis, Donghwan Shin, Shin Yoo, and Doo-Hwan Bae. 2018. Are Mutation Scores Correlated with Real Fault Detection?. In International Conference on Software Engineering (ICSE) . ACM, 537–548. doi:10.1145/3180155.3180183
2018
-
[39]
Zvonimir Pavlinovic. 2019. Leveraging Program Analysis for Type Inference . phdthesis
2019
-
[40]
Karl Pearson. 1895. Note on Regression and Inheritance in the Case of Two Parents. In Proceedings of the Royal Society of London , Vol. 58. 240–242
-
[41]
Yun Peng, Cuiyun Gao, Zongjie Li, Bowei Gao, David Lo, Qirun Zhang, and Michael Lyu. 2022. Static Inference Meets Deep Learning: A Hybrid Type Inference Approach for Python. In International Conference on Software Engineering (ICSE) . ACM, 2019–2030. doi:10.1145/3510003.3510038
2022
-
[42]
Yun Peng, Chaozhen Wang, Wenxuan Wang, Cuiyun Gao, and Michael R. Lyu. 2023. Generative Type Inference for Python. In International Conference on Automated Software Engineering (ASE) . IEEE, 988–999. doi:10.1109/ASE56229.2023.00031
2023
-
[43]
Mauro Pezzè and Michal Young. 2007. Software testing and analysis - process, principles and techniques . Wiley
2007
-
[44]
Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press
2002
- [45]
-
[46]
Michael Pradel, Georgios Gousios, Jason Liu, and Satish Chendra. 2020. TypeWriter: Neural Type Prediction with Search-Based Validation. In Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE) . AC...
2020
-
[47]
Milanova, Martin Hirzel, and Julian Dolby
Ingkarat Rak-amnouykit, Daniel McCrevan, Ana L. Milanova, Martin Hirzel, and Julian Dolby. 2020. Python 3 Types in the Wild: A Tale of Two Type Systems. In ACM SIGPLAN International Symposium on Dynamic Languages (DLS) . ACM, 57–70. doi:10.1145/3426422.3426981
2020
-
[48]
Big Code
Veselin Raychev, Martin Vechev, and Andreas Krause. 2015. Predicting Program Properties from “Big Code”. In Symposium on Principles of Programming Languages (POPL). ACM, 111–124. doi:10.1145/2676726.2677009
2015
-
[50]
Gabriel Ryan, Siddhartha Jain, Mingyue Shang, Shiqi Wang, Xiaofei Ma, Murali Krishna Ramanathan, and Baishakhi Ray. 2024. Code-Aware Prompting: A Study of Coverage-Guided Test Generation in Regression Setting using LLM. Proceedings of the ACM on Software Engineering 1, FSE (Ju...
2024 doi
-
[51]
Samir Sapra, Marius Minea, Sagar Chaki, Arie Gurfinkel, and Edmund M. Clarke. 2013. Finding Errors in Python Programs Using Dynamic Symbolic Execution. In IFIP International Conference on Testing Software and Systems (Lecture Notes in Computer Science, Vol. 8254) . Springer, 2...
2013 doi
-
[52]
Sina Shamshiri, René Just, José Miguel Rojas, Gordon Fraser, Phil McMinn, and Andrea Arcuri. 2015. Do Automatically Generated Unit Tests Find Real Faults? An Empirical Study of Effectiveness and Challenges. In International Conference on Automated Software Engineering (ASE) . ...
2015 doi
-
[53]
Siek and Walid Taha
Jeremy G. Siek and Walid Taha. 2007. Gradual Typing for Objects. In European Conference on Object-Oriented Programming (ECOOP) (Lecture Notes in Computer Science, Vol. 4609). Springer, 2–27. doi:10.1007/978-3-540-73589-2_2
2007 doi
-
[54]
Dimitri Michel Stallenberg, Mitchell Olsthoorn, and Annibale Panichella. 2022. Guess What: Test Case Generation for Javascript with Unsupervised Probabilistic Type Inference. In International Symposium on Search Based Software Engineering (SSBSE) (Lecture Notes in Computer Sci...
2022 doi
-
[56]
Daniel Trübenbach, Sebastian Müller, and Lars Grunske. 2022. A Comparative Evaluation on the Quality of Manual and Automatic Test Case Generation Techniques for Scientific Software — A Case Study of a Python Project for Material Science Workflows. InInternational Workshop on S...
2022
-
[57]
András Vargha and Harold D. Delaney. 2000. A critique and improvement of the CL common language effect size statistics of McGraw and Wong. journaltitle of Educational and Behavioral Statistics 25, 2 (2000), 101–132. doi:10.3102/10769986025002101
2000 doi
-
[58]
Mir, Li Li, and Eric Bodden
Ashwin Prasad Shivarpatna Venkatesh, Samkutty Sabu, Jiawei Wang, Amir M. Mir, Li Li, and Eric Bodden. 2023. TypeEvalPy: A Micro-benchmarking Framework for Python Type Inference. CoRR abs/2312.16882 (2023). arXiv:2312.16882
2023 arXiv
-
[59]
Ashwin Prasad Shivarpatna Venkatesh, Jiawei Wang, Li Li, and Eric Bodden. 2023. Enhancing Comprehension and Navigation in Jupyter Notebooks with Static Analysis. In International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 391–401. doi:10.1109/...
2023
-
[60]
Păsăreanu, and Sarfraz Khurshid
Willem Visser, Corina S. Păsăreanu, and Sarfraz Khurshid. 2004. Test Input Generation with Java PathFinder. InInternational Symposium on Software Testing and Analysis (ISSTA). ACM, 97–107. doi:10.1145/1007512.1007526
2004
-
[61]
Stefan Wappler and Frank Lammermann. 2005. Using Evolutionary Algorithms for the Unit Testing of Object-Oriented Software. In Annual Conference on Genetic and Evolutionary Computation (GECCO) . ACM, 1053–1060. doi:10.1145/1068009.1068187
2005
- [62]
-
[63]
Jifeng Wu and Caroline Lemieux. 2024. QuAC: Quick Attribute-Centric Type Inference for Python. Reproduction Package for Article ‘QuAC: Quick Attribute-Centric Type Inference for Python‘ 8, OOPSLA2 (Oct. 2024), 343:2040–343:2069. doi:10.1145/3689783
2024 doi
-
[64]
Danni Xiao, Yimeng Guo, Yanhui Li, and Lin Chen. 2024. Optimizing Search-Based Unit Test Generation with Large Language Models: An Empirical Study. In Proceedings of the 15th Asia-Pacific Symposium on Internetware (Internetware ’24) . Association for Computing Machinery, New Y...
2024
-
[65]
Yanyan Yan, Yang Feng, Hongcheng Fan, and Baowen Xu. 2023. DLInfer: Deep Learning with Static Slicing for Python Type Inference. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE) . IEEE, Melbourne, Australia, 2009–2021. doi:10.1109/ICSE48619.2023.00...
2023
- [66]
-
[67]
Ruofan Yang, Xianghua Xu, and Ran Wang. 2025. LLM-enhanced evolutionary test generation for untyped languages. Automated Software Engineering 32, 1 (Feb. 2025), 20. doi:10.1007/s10515-025-00496-7 Manuscript submitted to ACM
2025 doi
-
[1891]
doi:10.21105/joss.01891
Reviewed August 6, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.