The field of software engineering is moving towards greater emphasis on self-adaptive software systems, automated program repair, and code improvement practices. There is a growing recognition of the need to educate students and professionals in these areas, with a focus on hands-on learning and industry-relevant technologies. Researchers are exploring innovative approaches to software optimization, defect reduction, and test case prioritization, with promising results. Notably, the use of evolutionary search and bytecode diversity are showing potential in improving software development efficiency and effectiveness. Some noteworthy papers in this area include:
- RePurr, which introduces an automated repair approach for block-based programs, demonstrating the feasibility of APR in such programs.
- Code Improvement Practices at Meta, which reveals a range of practices used for continual improvement of the codebase, resulting in substantial improvements in quality and speed.
- Empirically Evaluating the Use of Bytecode for Diversity-Based Test Case Prioritisation, which shows that bytecode diversity improves fault detection and is 2-3 orders of magnitude faster than traditional approaches.