Automating Software Re-Engineering Introduction to the ISoLA 2024 Track
摘要
Formal approaches to software analysis and development tend to focus on greenfield scenarios or to look at some piece of given software as a static object. Dynamic evolution of software is a much more common and relevant issue, and its importance keeps growing. Key drivers are: (i) The advent of innovative execution platforms, including massively parallel and re-configurable hardware; (ii) emerging norms and regulations demanding software being re-engineered to comply with stricter legislation, new quality requirements, or ethical standards; (iii) the role of software in science (“in silico” now surpasses the more traditional “in vitro” / “in vivo” research methods); (iv) novel application scenarios for existing software (blockchain, micro-services, IoT, etc.), fueled by the digitalization of everything; (v) the growing importance of simulations as a tool to model, understand, and predict complex, dynamic behavior, specifically with a feedback loop to obtain a digital twin. Software refactoring, parallelization, and adaptation have become central activities in the value chain: Automating them can realize huge gains. Formal approaches to software modeling and analysis are poised to make a substantial contribution, because they are fundamentally concerned with automation and correctness. We invited researchers with an active interest in the automation of software re-engineering: People working on formal foundations, on tools, as well as practitioners of re-engineering. A special focus was to look at re-engineering of simulation software, digital twins, and of applications in IoT scenarios.