Optimization in Software Engineering – A Pragmatic Approach

by   Guenther Ruhe, et al.

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 engineering problems along the whole life-cycle. To facilitate its more comprehensive and more effective usage, a checklist for a guided process is described. The chapter uses a running example Asymmetric Release Planning to illustrate the whole process. A Return-on-Investment analysis is proposed as part of the problem scoping. This helps to decide on the depth and breadth of analysis in relation to the effort needed to run the analysis and the projected value of the solution.


page 4

page 6


Challenges in Survey Research

While being an important and often used research method, survey research...

The Evolution of Empirical Methods in Software Engineering

Empirical methods like experimentation have become a powerful means to d...

On Gender, Ethnicity, and Culture in Empirical Software Engineering Research

This note highlights the importance of investigating diversity aspects i...

Investigating the potential impact of values on requirements and software engineering

This paper describes an investigation into value-based software engineer...

How PHP Releases Are Adopted in the Wild?

This empirical paper examines the adoption of PHP releases in the the co...

Making Sense of the World: Models for Reliable Sensor-Driven Systems

Sensor-driven systems are increasingly ubiquitous: they provide both dat...

Bad Smells in Software Analytics Papers

CONTEXT: There has been a rapid growth in the use of data analytics to u...