- Michal Young (Chair)
- Stephen Fickas
- Chris Wilson
Non-functional requirements of typical applications tend to get less attention during software development compared to functional requirements. Software performance, in particular, is one that gets less attention during development, but ahead of shipping apparent performance ﬂaws must be ﬁxed. Dynamic software performance analysis attempts to assist developers locating performance ﬂaws or conﬁrm their understanding of the overall performance behavior.
We evaluate fundamental and recent performance analysis techniques. Moreover, we highlight the strengths and weaknesses of performance analysis tools in terms of efficiency, comprehensiveness, exploration and understandably. Finding inputs that trigger unanticipated performance ﬂaws is an area requiring more work. We review machine learning, genetic algorithms and fuzzing as the three major approaches used to ﬁnd special performance inputs. Machine learning techniques may be useful for finding data that triggers poor performance.