ABSTRACT
In modern Integrated Development Environments and development tools there is a functionality, which requires saving a binding to some code fragments in order to provide an ability to quickly navigate to these fragments and modify them. Most tools enable this kind of navigation only for one programming language and save minimum information, that is enough to perform a jump to the code fragment. The paper describes a model of a binding to the code, which is aimed to work with different languages and to support robust binding even if the code was modified. We provide a description of data being saved, which specifies a certain code fragments as well as algorithms, which use the data to find the location of the code fragments. The analysis of the tool based on the model on two large software projects proves that the model provides robust enough binding to the source code.
- Ko, A. J., Myers, B.A., Coblenz, M.J., Aung, H. An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks. IEEE TSE. (2006), 971--987.Google Scholar
- Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J, Griswold, W.G. An Overview of AspectJ. ECOOP 2001 --- Object-Oriented Programming, (2001), 327--354.Google Scholar
- Apel, S., Castner, C., Lengauer, C. FeatureHouse: Language-Independent, Automated Software Composition. Proc. Int'l Conf. Software Engineering, (2009), 221--231.Google ScholarDigital Library
- Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N. Delta-oriented Programming of Software Product Lines. Proceedings of the International Software Product Line Conference, (2010), 77--91. Google ScholarCross Ref
- Kästner, C., Apel, S., Kuhlemann, M. Granularity in Software Product Lines. Proceedings of the 30th international conference on Software engineering, (2008), 311--320. Google ScholarDigital Library
- Chiba, S., Horie, M., Kanazawa, K., Takeyama, F., Teramoto, Y. Do we really need to extend syntax for advanced modularity? Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development, (2012), 95--106. Google ScholarDigital Library
- Bragdon, A., Zeleznik, R., Reiss, S.P., Karumuri, S., Cheung, W., Kaplan, J, Coleman, C., Adeputra, F., LaViola Jr, J.J. Code Bubbles: A Working Set-based Interface for Code Understanding and Maintanence. Proceedings of the 28th International Conference on Human Factors in Computing Systems (2010).Google ScholarDigital Library
- Robillard, F.W. and Warr, M.P. ConcernMapper: simple view-based separation of scattered concerns. Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, (2005), 65--69. Google ScholarDigital Library
- Malevannyy, M.S. and Mikhalkovich, S.S. Aspect markup of a source code for quick navigating a project. Proceedings of the 11th Central & Eastern European Software Engineering Conference in Russia, (2015). Google ScholarDigital Library
- Bondarev, IV, V. Belyakov, Mikhalkovich SS PascalABC.NET Programming System - 10 years of development. (Rostov n / D 2013), XX Scientific Conference "Modern Information Technologies: Trends and Prospects". Conference proceedings, 69--71.Google Scholar
- Malevanny, MS Lightweight parsing and its use for functions development environment. Informatization and Communication, 3 (2015).Google Scholar
- Goloveshkin, AV, Malevanny, MS, Mikhalkovich, SS Integrated development environment with support for grammar development of aspect marking. Modern Information Technologies: Trends and Prospects: Materials Conference (2015), 138--140.Google Scholar
- Malevanny, MS and Mikhalkovich, SS Search Model reference points for Aspect markup. Proceedings of the IB school Simonenko, 2 (2015), 216--229.Google Scholar
- ANSI C grammar. http://www.quut.com/c/ANSIC-grammar-y.html.Google Scholar
- Levenstein, VI Binary codes with correction for deletions, insertions and substitutions of characters. Reports of the USSR Academy of Sciences, 163.4 (1965), 845--848.Google Scholar
- Wagner, R. A. and Fischer, M. J. The string-to-string correction problem. Journal of the ACM, 21, 1 (1974), 168--173. Google ScholarDigital Library
Recommendations
Aspect markup of a source code for quick navigating a project
CEE-SECR '15: Proceedings of the 11th Central & Eastern European Software Engineering Conference in RussiaThe approach to simplify working with crosscutting concerns by adding a tool to an integrated development environment which enables marking up aspects in the source code is proposed. We consider aspects as sets of related fragments of code, spread ...
On the Use of Clone Detection for Identifying Crosscutting Concern Code
In systems developed without aspect-oriented programming, code implementing a crosscutting concern may be spread over many different parts of a system. Identifying such code automatically could be of great help during maintenance of the system. First of ...
Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics
It has been advocated that Aspect-Oriented Programming (AOP) is an effective technique to improve software maintainability through explicit support for modularising crosscutting concerns. However, in order to take the advantages of AOP, there is a need ...
Comments