The field of programming languages and software development is witnessing significant advancements, driven by the need for improved performance, reliability, and usability. One notable trend is the adoption of modern C++ features, such as C++20 modules, which aim to address the limitations of traditional header-based interfaces. Another area of focus is the development of more efficient and effective tools for Python development, including static analysis techniques for detecting type errors and automated unit test generation. The use of Rust-compatible bindings toolchains is also being explored as a means of optimizing critical sections in Python. Furthermore, researchers are working on improving the robustness of current Python refactoring tools to ensure the correctness of automated code transformations. Overall, these developments are expected to have a significant impact on the field, enabling developers to create more efficient, reliable, and maintainable software systems. Noteworthy papers in this area include:
- A study on converting large mathematical software packages to C++20 modules, which reports a reduction in compile time for the converted library itself.
- An evaluation of Rust-compatible bindings toolchains for Python, which achieves state-of-the-art performance with no concern for API compatibility.
- A proposal for a static analysis technique to detect type errors introduced by refactoring implementations for Python, which uncovered 29 bugs across four refactoring types.
- A novel type-aware test generation technique for automatically detecting Python type errors, which can detect 22-29 more benchmarked type errors than four state-of-the-art techniques.