Leveraging Program Comprehension with Concern-oriented Source Code Projections

In this paper we briefly introduce our concern-oriented source code projections that enable looking at same source code in multiple different ways. The objective of this paper is to discuss projection creation process in detail and to explain benefits of using projections to aid program comprehension. We achieve this objective by showing a case study that illustrates using projections on examples. Presented case study was done using our prototypical tool that is implemented as a plugin for NetBeans IDE. We briefly introduce the tool and present an experiment that we have conducted with a group of students at our university. The results of the experiment indicate that projections have positive effect on program comprehension.

[1]  Ján Kollár,et al.  Genetic evolution of programs , 2014, Central European Journal of Computer Science.

[2]  James Dean Palmer,et al.  Reimagining literate programming , 2009, OOPSLA Companion.

[3]  Ján Kollár Formal Processing of Informal Meaning by Abstract Interpretation , 2014, IDT/IIMSS/STET.

[4]  Kim Mens,et al.  Using intentional source-code views to aid software maintenance , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[5]  Éric Tanter,et al.  Programming with Ghosts , 2013, IEEE Software.

[6]  Michael Desmond,et al.  Fluid Source Code Views , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[7]  Jaroslav Porubän,et al.  Concern-oriented source code projections , 2013, 2013 Federated Conference on Computer Science and Information Systems.

[8]  Martin P. Robillard,et al.  Concern graphs: finding and describing concerns using structural program dependencies , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[9]  Mira Mezini,et al.  Separation of Concerns with Procedures, Annotations, Advice and Pointcuts , 2005, ECOOP.

[10]  G. Lommerse,et al.  The visual code navigator: an interactive toolset for source code investigation , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[11]  Markus Völter Implementing feature variability for models and code with projectional language workbenches , 2010, FOSD '10.