Efficient and Accurate Software Pattern Detection

  • Authors:
  • Niklas Pettersson;Welf Lowe

  • Affiliations:
  • Vaxjo University, Sweden;Vaxjo University, Sweden

  • Venue:
  • APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Pattern detection is part of many solutions to software engineering problems. Unfortunately, it is a hard problem in itself in both theory and practice. Both exact and approximative approaches have been used earlier to increase efficiency. We propose a novel method to improve the performance of pattern detection, which is in many cases both exact and efficient. It is based on the idea of filtering information from the program representation (graphs), which is unnecessary for detecting a particular pattern. This makes the remaining program representation graph planar, in many cases, thus allowing for linear pattern detection. We evaluate our approach experimentally: we detect six design patterns in six software systems. Filtering leads to planar program representation graphs in 14 out of 36 cases. For most of the remaining graphs, filtering makes the graphs almost planar and gives a significant reduction of the graph size, which speeds up existing heuristics.