Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Context-Based Model for Concern Markup of a Source Code

https://doi.org/10.15514/ISPRAS-2016-28(2)-4

Abstract

In this paper we describe our approach to representing concerns in an interface of an IDE to make navigation across crosscutting concerns faster and easier. Concerns are represented as a tree of an arbitrary structure, each node of the tree can be bound to a fragment of code. It allows one to quickly locate fragments in the source code and makes switching between software development tasks easier. We describe a model which specifies data structures used to store the information about these code fragments and algorithms used to find the code fragment in original or modified source code. The model describes the information about code fragments as a set of contexts. Another important feature of the model is language independency. The model supports different programming, mark-up, DSL-languages and any structured text, such as a documentation. Main goal is to keep concern tree consistent with evolving source code. Search algorithm is designed to work with a modified source code, where the code fragment may change. The model is implemented as a tool, which supports different programming languages and integrates into different editors and integrated development environments. Source code analysis is performed by a set of lightweight parsers. In case of significant changes if the code fragment may be not found automatically the tool helps a programmer to find one by suggesting possible places in the source code based on the stored information.

About the Authors

M. S. Malevannyy
Don State Technical University
Russian Federation


S. S. Mikhalkovich
Southern Federal University
Russian Federation


References

1. M. Eaddy, A. Aho, and G. C. Murphy, “Identifying, assigning, and quantifying crosscutting concerns” in Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques, ser. ACoM ’07. Washington, DC,USA: IEEE Computer Society, 2007, p. 2. DOI: 10.1109/ACOM.2007.4.

2. A. J. Ko, B. A. Myers, M. J. Coblenz, and H. H. Aung, “An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks” IEEE Trans. Softw. Eng., vol. 32, no. 12, pp. 971-987, Dec. 2006. DOI: 10.1109/TSE.2006.116.

3. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, “An overview of AspectJ” in Proceedings of the 15thEuropean Conference on Object-Oriented Programming, ser. ECOOP’01. London, UK, UK: Springer-Verlag, 2001, pp. 327-353. (http://dl.acm.org/citation.cfm?id=646158.680006)

4. D. Batory, V. Singhal, J. Thomas, S. Dasari, B. Geraci, and M. Sirkin, “The genvoca model of software-system generators” IEEE Softw., vol. 11, no. 5, pp. 89-94, Sep. 1994. DOI: /10.1109/52.311067.

5. D. Batory, J. N. Sarvela, and A. Rauschmayer, “Scaling step-wise refinement” in Proceedings of the 25th International Conference on Software Engineering, ser. ICSE ’03. Washington, DC, USA:IEEE Computer Society, 2003, pp. 187-197. (http://dl.acm.org/citation.cfm?id=776816.776839).

6. S. Apel, C. Kastner, and C. Lengauer, “Featurehouse: Language independent, automated software composition” in Proceedings of the31st International Conference on Software Engineering, ser. ICSE ’09.Washington, DC, USA: IEEE Computer Society, 2009, pp. 221-231. DOI: 10.1109/ICSE.2009.5070523.

7. I. Schaefer, L. Bettini, F. Damiani, and N. Tanzarella, “Delta-oriented programming of software product lines” in Proceedings of the 14th International Conference on Software Product Lines: Going Beyond, ser. SPLC’10. Berlin, Heidelberg: Springer-Verlag, 2010, pp. 77-91. (http://dl.acm.org/citation.cfm?id=1885639.1885647).

8. W. Harrison and H. Ossher, “Subject-oriented programming: A critique of pure objects” in Proceedings of the Eighth Annual Conference on Object-oriented Programming Systems, Languages, and Applications, ser. OOPSLA ’93. New York, NY, USA: ACM, 1993, pp. 411-428. DOI: 10.1145/165854.165932.

9. M. C. Chu-Carroll, J. Wright, and A. T. T. Ying, “Visual separation of concerns through multidimensional program storage” in Proceedings of the 2nd International Conference on Aspect oriented Software Development, ser. AOSD ’03. New York, NY, USA: ACM, 2003, pp. 188-197. DOI: 10.1145/643603.643623.

10. A. Bragdon, R. Zeleznik, S. P. Reiss, S. Karumuri, W. Cheung, J. Kaplan, C. Coleman, F. Adeputra, and J. J. LaViola, Jr., “Code bubbles: A working set-based interface for code understanding and maintenance” in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ser. CHI ’10. New York, NY, USA: ACM, 2010, pp. 2503-2512. DOI: 10.1145/1753326.1753706.

11. S. Chiba, M. Horie, K. Kanazawa, F. Takeyama, and Y. Teramoto, “Do we really need to extend syntax for advanced modularity?” in Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development, ser. AOSD ’12. New York, NY, USA: ACM, 2012, pp. 95-106. DOI: 10.1145/2162049.2162061.

12. C. Kästner, S. Apel, and M. Kuhlemann, “Granularity in software product lines” in Proceedings of the 30th International Conference on Software Engineering, ser. ICSE ’08. New York, NY, USA: ACM, 2008, pp. 311-320. DOI: 10.1145/1368088.1368131.

13. M. Malevannyy and S. Mikhalkovich, [Implementation of support of aspects in integrated development environments], in Sovremennye informatsionnye tekhnologii: tendentsii i perspektivy razvitiya: materialy konferentsii [Modern information technologies: tendencies and perspectives of evolution], 2015, pp. 351-353 (in Russian).

14. M. P. Robillard and F. Weigand-Warr, “Concernmapper: Simple view-based separation of scattered concerns” in Proceedings of the 2005OOPSLA Workshop on Eclipse Technology eXchange, ser. eclipse ’05.New York, NY, USA: ACM, 2005, pp. 65-69. DOI: 10.1145/1117696.1117710.

15. M. Malevannyy, [Lightweight parsing and its application in development environment]. Informatizatsiya i svyaz’ [Informatization and communication], vol. 3, pp. 89-94, 2015, (in Russian).

16. ANSI C grammar. (http://www.quut.com/c/ANSIC-grammar-y.html)

17. PascalABC.NET. (in Russian). http://pascalabc.net/

18. V. Levenshtein, “Binary codes capable of correcting deletions, insertions and reversals” Soviet Physics - Doklady, vol. 10, no. 8, pp. 707-710,1965, (in Russian).

19. R. A. Wagner and M. J. Fischer, “The string-to-string correction problem” J. ACM, vol. 21, no. 1, pp. 168-173, Jan. 1974. DOI: 10.1145/321796.321811.

20. I. V. Bondarev, Y. V. Belyakova, and S. S. Mikhalkovich, [System pascalabc.net 10 years of evolution], in ”XX Nauchnaya konferentsiya Sovremennye informatsionnye tekhnologii: tendentsii i perspektivy razvitiya. Materialy konferentsii [XX Scientific conference Modern information technologies: tendencies and perspectives of evolution¨], 2013, pp.69-71, (in Russian).


Review

For citations:


Malevannyy M.S., Mikhalkovich S.S. Context-Based Model for Concern Markup of a Source Code. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2016;28(2):63-78. https://doi.org/10.15514/ISPRAS-2016-28(2)-4



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)