Cited by 27Software Engineering ResearchLogic, programming, and type systemsComputational Physics and Python Applications

The DOI matches its Crossref record.

Quantifying the Transition from Python 2 to 3: An Empirical Study of Python Applications

Malloy, Brian A., Power, James F.·2017·2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)

Abstract

Background: Python is one of the most popular modern programming languages. In 2008 its authors introduced a new version of the language, Python 3.0, that was not backward compatible with Python 2, initiating a transitional phase for Python software developers. Aims: The study described in this paper investigates the degree to which Python software developers are making the transition from Python 2 to Python 3. Method: We have developed a Python compliance analyser, PyComply, and have assembled a large corpus of Python applications. We use PyComply to measure and quantify the degree to which Python 3 features are being used, as well as the rate and context of their adoption. Results: In fact, Python software developers are not exploiting the new features and advantages of Python 3, but rather are choosing to retain backward compatibility with Python 2. Conclusions: Python developers are confining themselves to a language subset, governed by the diminishing intersection of Python 2, which is not under development, and Python 3, which is under development with new features being introduced as the language continues to evolve.

Overview

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1109/esem.2017.45

Cites

Statistics

Verification

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

Citations

Cites

Still being checked.

Research works printed but not linked: 26

  1. 10.1109/MITP.2005.120 · DOI
  2. gee, 0, Python 2 7 to be maintained until 2020
  3. coghlan, 0, Python 3 Q&A
  4. cannon, 0, Porting Python 2 code to Python 3
  5. urma, 2017, Programming language evolution, Univ of Cambridge Computer Laboratory Tech Rep UCAM-CL-TR-902
  6. sipser, 2012, Introduction to the Theory of Computation, Cengage Learning
  7. malloy, 2002, Testing C++ compilers for ISO language conformance, Dr Dobbs Journal, 71
  8. malloy, 2003, Progression toward conformance for C++ language compilers, Dr Dobbs Journal, 54
  9. 10.1145/2908080.2908081 · DOI
  10. 10.1109/APSEC.2015.51 · DOI
  11. malloy, 0, Extending automated grammar convergence to the generation and verification of multiple parser versions, [under review]
  12. 10.5381/jot.2014.13.3.a1 · DOI
  13. 10.1109/SATE.2016.10 · DOI
  14. 10.18293/SEKE2015-097 · DOI
  15. 10.1145/2897695.2897697 · DOI
  16. 10.1109/ICSME.2016.25 · DOI
  17. 10.1007/978-3-642-00255-7_17 · DOI
  18. 10.1201/9781315314334 · DOI
  19. 10.1145/2717124.2717125 · DOI
  20. 10.1145/2810146.2810148 · DOI
  21. ma, 2017, How do developers fix cross-project correlated bugs?, International Conference on Software Engineering
  22. 10.1109/ICSM.2015.7332471 · DOI
  23. 10.1145/1985441.1985446 · DOI
  24. 10.1109/APSEC.2010.46 · DOI
  25. 10.1145/1072997.1073000 · DOI
  26. 10.1007/3-540-45251-6_32 · DOI

Cited by

  • WILDS: A Benchmark of in-the-Wild Distribution Shifts

    Koh, P. W., Sagawa, S., Marklund, H., Xie, S. M., Zhang, M., Balsubramani, A., Hu, W., Yasunaga, M., Phillips, R. L., Gao, I., et al. (2020) · arXiv · doi:10.48550/arxiv.2012.07421 · Cited by 518

    “A second source of shifts is programming languages, which includes adaption across different domain-specific languages (DSLs) (e.g., for robotic environments) (Shin et al., 2019) and different versions of languages (e.g., Python 2 and 3) (Malloy and Power, 2017).”

See all 27

Metadata

Authors
Malloy, B. A., & Power, J. F.
Affiliations
Clemson University (US)
Venue
2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
Publisher
IEEE
Published
2017-11
Pages
314-323
ISSN
1938-6451 (ISSN-L)
OpenAlex
W2774266864
Cited by
27
References
0
Citations by year
2026: 2 · 2025: 2 · 2024: 2 · 2023: 1 · 2022: 3 · 2021: 8 · 2020: 5 · 2019: 1 · 2018: 3
FWCI
1.89
Type
conference paper
Language
en
Open access
closed
Locations
  • Proceedings of the ... ACM-IEEE International Symposium on Empirical Software Engineering and Measurement/International Symposium on Empirical Software Engineering and Measurement (publishedVersion)
  • Maynooth University ePrints and eTheses Archive (Maynooth University) (acceptedVersion)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Software › Logic, programming, and type systems
  • Physical Sciences › Computer Science › Software › Computational Physics and Python Applications
Keywords
Python 3, backward compatibility, language evolution, language subset, software development practices

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review

How to cite

Cite CoChat for the checks on this page, and the paper for its own findings.

This page
CoChat. (2026). Citation check: Quantifying the Transition from Python 2 to 3: An Empirical Study of Python Applications. https://app.cochat.ai/papers/10.1109/esem.2017.45
The paper
Malloy, B. A., & Power, J. F. (2017). Quantifying the Transition from Python 2 to 3: An Empirical Study of Python Applications. 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). https://doi.org/10.1109/esem.2017.45