Supporting Source Code Annotations with Metadata-Aware Development Environment
Ján Juhár
DOI: http://dx.doi.org/10.15439/2019F161
Citation: Proceedings of the 2019 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 18, pages 411–420 (2019)
Abstract. To augment source code with high-level metadata with the intent to facilitate program comprehension, a programmer can use annotations. There are several types of annotations: either those put directly in the code or external ones. Each type comes with a unique workflow and inherent limitations. In this paper, we present a tool providing uniform annotation process, which also adds custom metadata-awareness for an industrial IDE. We also report an experiment in which we sought whether the created annotating support helps programmers to annotate code with comments faster and more consistently. The experiment showed that with the tool the annotating consistency was significantly higher but also that the increase in annotating speed was not statistically significant.
References
- T. D. LaToza and B. A. Myers, “Hard-to-answer questions about code,” in Evaluation and Usability of Programming Languages and Tools on - PLATEAU ’10. ACM Press, oct 2010. http://dx.doi.org/10.1145/1937117.1937125 pp. 1–6.
- V. Vranić, J. Porubän, M. Bystrický, T. Frt’ala, I. Polášek, M. Nosál’, and J. Lang, “Challenges in Preserving Intent Comprehensibility in Software,” Acta Polytechnica Hungarica, vol. 12, no. 7, pp. 57–75, 2015. http://dx.doi.org/10.12700/APH.12.7.2015.7.4
- B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk, “Feature location in source code: a taxonomy and survey,” Journal of Software: Evolution and Process, vol. 25, no. 1, pp. 53–95, jan 2013. http://dx.doi.org/10.1002/smr.567
- M. Sulír, M. Nosál’, and J. Porubän, “Recording concerns in source code using annotations,” Computer Languages, Systems and Structures, vol. 46, pp. 44–65, nov 2016. http://dx.doi.org/10.1016/j.cl.2016.07.003
- S. Baltes, P. Schmitz, and S. Diehl, “Linking sketches and diagrams to source code artifacts,” in Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2014. New York, New York, USA: ACM Press, 2014. doi: 10.1145/2635868.2661672 pp. 743–746.
- M. Nosál’, J. Porubän, and M. Nosál’, “Concern-oriented source code projections,” in Proceedings of the 2013 Federated Conference onComputer Science and Information Systems, Kraków, 2013, pp. 1541– 1544.
- W. Ji, T. Berger, M. Antkiewicz, and K. Czarnecki, “Maintaining feature traceability with embedded annotations,” in Proceedings of the 19th International Conference on Software Product Line - SPLC ’15. New York, New York, USA: ACM Press, 2015. http://dx.doi.org/10.1145/2791060.2791107 pp. 61–70.
- J. Juhár and L. Vokorokos, “Exploring code projections as a tool for concern management,” Acta Electrotechnica et Informatica, vol. 16, no. 3, pp. 26–31, 2016. http://dx.doi.org/10.15546/aeei-2016-0020
- K. Rástočný and M. Bieliková, “Metadata Anchoring for Source Code: Robust Location Descriptor Definition, Building and Interpreting,” in 24th International Conference on Database and Expert Systems Applications. Prague: Springer, Berlin, Heidelberg, 2013. http://dx.doi.org/10.1007/978-3-642-40173-2_30 pp. 372–379.
- M. P. Robillard and F. Weigand-Warr, “ConcernMapper: simple view-based separation of scattered concerns,” in Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange - eclipse ’05. New York, New York, USA: ACM Press, oct 2005. doi: 10.1145/1117696.1117710 pp. 65–69.
- M. Sulír, M. Bačíková, S. Chodarev, and J. Porubän, “Visual augmentation of source code editors: A systematic mapping study,” Journal of Visual Languages & Computing, vol. 49, pp. 46–59, dec 2018. http://dx.doi.org/10.1016/J.JVLC.2018.10.001
- D. Jemerov, “Implementing refactorings in IntelliJ IDEA,” in Proceedings of the 2nd Workshop on Refactoring Tools - WRT ’08. ACM Press, oct 2008. http://dx.doi.org/10.1145/1636642.1636655 pp. 1–2.
- P. Sommerlad, G. Zgraggen, T. Corbat, and L. Felber, “Retaining comments when refactoring code,” in Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA Companion ’08. New York, New York, USA: ACM Press, 2008. http://dx.doi.org/10.1145/1449814.1449817 p. 653.
- I. Salman, A. T. Misirli, and N. Juristo, “Are Students Representatives of Professionals in Software Engineering Experiments?” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. IEEE, may 2015. http://dx.doi.org/10.1109/ICSE.2015.82 pp. 666–676.
- A. T. T. Ying, J. L. Wright, S. Abrams, A. T. T. Ying, J. L. Wright, and S. Abrams, “An exploration of how comments are used for marking related code fragments,” in Proceedings of the 2005 workshop on Modeling and analysis of concerns in software - MACS ’05, vol. 30, no. 4. New York, New York, USA: ACM Press, 2005. http://dx.doi.org/10.1145/1083125.1083141 pp. 1–4.
- T. Mattis, P. Rein, S. Ramson, J. Lincke, and R. Hirschfeld, “Towards concept-aware programming environments for guiding software modularity,” Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience, pp. 36–45, 2017. doi: 10.1145/3167110
- W. Cazzola, A. Cisternino, and D. Colombo, “Freely annotating C#,” Journal of Object Technology, vol. 4, no. 10, pp. 31–48, 2005. doi: 10.5381/jot.2005.4.10.a2
- W. Cazzola and E. Vacchi, “@Java: Bringing a richer annotation model to Java,” Computer Languages, Systems and Structures, vol. 40, no. 1, pp. 2–18, 2014. http://dx.doi.org/10.1016/j.cl.2014.02.002
- C. Kästner, S. Apel, and M. Kuhlemann, “Granularity in software product lines,” in Proceedings of the 13th international conference on Software engineering - ICSE ’08. New York, New York, USA: ACM Press, 2008. http://dx.doi.org/10.1145/1368088.1368131 p. 311.
- B. Behringer, L. Kirsch, and S. Rothkugel, “Separating features using colored snippet graphs,” in Proceedings of the 6th International Workshop on Feature-Oriented Software Development - FOSD ’14. New York: ACM Press, 2014. http://dx.doi.org/10.1145/2660190.2660192 pp. 9–16.
- T. Cséri, Z. Szügyi, and Z. Porkoláb, “Rule-based assignment of comments to AST nodes in C++ programs,” in Proceedings of the Fifth Balkan Conference in Informatics - BCI ’12. New York, New York, USA: ACM Press, 2012. http://dx.doi.org/10.1145/2371316.2371381 pp. 291–294.
- M.-A. Storey, L.-T. Cheng, I. Bull, and P. Rigby, “Shared waypoints and social tagging to support collaboration in software development,” in Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work - CSCW ’06. New York, New York, USA: ACM Press, 2006. http://dx.doi.org/10.1145/1180875.1180906 pp. 195–198.
- M. Sulír and J. Porubän, “Exposing Runtime Information through Source Code Annotations,” Acta Electrotechnica et Informatica, vol. 17, no. 1, pp. 3–9, 2017. http://dx.doi.org/10.15546/aeei-2017-0001
- D. Asenov, P. Müller, and L. Vogel, “The IDE as a scriptable information system,” in Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering - ASE 2016. New York, New York, USA: ACM Press, 2016. http://dx.doi.org/10.1145/2970276.2970329 pp. 444–449.