Optimization in Software Engineering -- A Pragmatic Approach
Guenther Ruhe

TL;DR
This paper provides a pragmatic overview of how optimization techniques are applied in software engineering, emphasizing practical usage, decision support, and validation across the software development lifecycle.
Contribution
It offers a comprehensive overview of pragmatic optimization practices in software engineering, including a process checklist and a case study example.
Findings
Optimization supports decision-making in software engineering.
A checklist facilitates effective optimization application.
Return-on-Investment analysis guides problem scope and effort.
Abstract
Empirical software engineering is concerned with the design and analysis of empirical studies that include software products, processes, and resources. Optimization is a form of data analytics in support of human decision-making. Optimization methods are aimed to find the best decision alternatives. Empirical studies serve both as a model and as data input for optimization. In addition, the complexity of the models used for optimization trigger further studies on explaining and validating the results in real-world scenarios. The goal of this chapter is to give an overview of the as-is and of the to-be usage of optimization in software engineering. The emphasis is on pragmatic use of optimization, and not so much on describing the most recent algorithmic innovations and tool developments. The usage of optimization covers a wide range of questions from different types of software…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
