Developers of Web-based software have access to large amounts of runtime data. In theory, this data could be invaluable to guide development-time decision making. However, in practice, today´s monitoring solutions are geared towards operational tasks, and getting insights that are actionable for developers remains difficult.In this problem area, three ideas form the core of the project:Developer-targeted visualization: we conduct research on methods to integrate runtime data (e.g., response time) directly with standard software development tools, for instance by annotating program source code with execution times, thereby making this data more easy to use.Runtime data prediction: in addition, we also envision AI-based black box performance prediction algorithms and tools that allow the data-driven estimation of the impact of small, not yet deployed, changes.Automated code improvement: finally, we develop methods to suggest suitable alternative implementations for predicted problems. We use search-based methods to iteratively generate functionally identical alternatives using known improvements of inefficient code patterns, which are then evaluated using local performance testing and canary releases.As part of my previous work, I have already laid the ground work for visualization and AI-based runtime data prediction. In the project, we will improve on this previous work, and iteratively extend it towards the ultimate goal of automated code improvement based on runtime data.
Docent vid Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for People, Architecture, Requirements and Traceability
Funding Chalmers participation during 2019–2023