DynamicSpotter is a framework for measurement-based, automatic detection of software performance problems in Java-based enterprise software systems. DynamicSpotter combines the concepts of software performance anti-patterns with systematic experimentation.
DynamicSpotter utilizes the concept of hierarchically structuring performance problems in order to automate the search for recurring performance problems by systematically executing measurement experiments. The high level approach behind DynamicSpotter is the figure below. DynamicSpotter takes a hierarchy of symptoms, performance problem and root causes as input. For each node of that hierarchy, performance experts define a heuristic responsible to decide on the existence of the corresponding problem. To this end, a heuristic executes a series of experiments, observes certain performance metrics and analyzes them to make a decision. Traversing the problem hierarchy and applying corresponding heuristics for each performance problem of the hierarchy, DynamicSpotter generates a detection result report. The report states for each node in the hierarchy whether the corresponding problem exists in the SUT and, where appropriate, points to the root cause and location in the SUT of a detected problem.
Alexander Wert, Jens Happe and Lucia Happe. Supporting swift reaction: Automatically Uncovering Performance Problems by Systematic Experiments. In Proceedings of the 26th International Conference on Software Engineering (ICSE’13), San Francisco, CA, USA, May 18-26, 2013.
Alexander Wert, Marius Oehler, Christoph Heger and Roozbeh Farahbod. Automatic Detection of Performance Anti-patterns in Inter-component Communications. In Proceedings of the 10th International Conference on the Quality of Software Architectures (QoSA’14), Lille, France, June 30 – July 4, 2014.
DynamicSpotter is licensed under the Apache License, Version 2.0