Work

Integrating user knowledge into design pattern detection

Year: 2015
Type: dissertation
Abstract: Design pattern detection is useful for a range of software comprehension and maintenance\ntasks. Tools that rely on static or dynamic analysis alone can produce\ninaccurate results, especially for patterns that rely on the run-time information.\nSome tools provide facilities for the developer to refine the results by adding their\nown knowledge. Currently, however, the ability of tools to accommodate this knowledge\nis very limited; it can only pertain to the detected patterns and cannot provide\nadditional knowledge about the source code, or about its behaviour. In this thesis,\nwe propose an approach to combine existing pattern detection techniques with\na structured feedback mechanism. This enables the developer to refine the detection\nresults by feeding-in additional knowledge about pattern implementations and\nsoftware behaviour. The motivation is that a limited amount of user input can complement\nthe automated detection process, to produce results that are more accurate.\nTo evaluate the approach we applied it to a selection of openly available software\nsystems. The evaluation was carried in two parts. First, an evaluation case study\nwas carried out to detect pattern instances in the selected systems with the help\nof the user knowledge. Second, a user study of a broader range of expert users of\ndesign patterns was conducted in order to investigate the impact of their knowledge\non the detection process, and to see whether it is realistic that the user can identify\nuseful knowledge for the detection process. The evaluation results indicate that\nthe proposed approach can yield a significant improvement in the accuracy whilst\nrequiring a relatively small degree of user input from the developer. Moreover, the\nresults show that expert users can supplement the design pattern detection process\nwith a useful feedback that can enhance the detection of design pattern instances in\nthe source code.
Source: Figshare
Language: English
Open Access status: green
OpenAlex ID: W2283174080
Cites: 5
Cited by:
Related to: 10