DOI: 10.17586/2226-1494-2019-19-6-1079-1085


N. V. Vanyasin, I. G. Sidorkina, V. I. Polyakov

Read the full article  ';
Article in Russian

For citation:
Vanyasin N.V., Sidorkina I.G., Polyakov V.I. Integrated environment architecture for software development with structured editing support. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2019, vol. 19, no. 6, pp. 1079–1085 (in Russian). doi: 10.17586/2226-1494-2019-19-6-1079-1085

Subject of Research. The paper presents research of software development tools. The study analyzes existing integrated software development environments with structured editing support. We consider the design process and experimental testing of the modified integrated development environment architecture. Method. Analysis of the existing integrated software development environments with structured editing support was performed and their shortcomings were identified. A development environment architecture was proposed. It provides the development of system prototype for such problems as circular translation from textual representation of source code to intermediate one and vice versa, the lack of functionality (compared to classical development environments), design complexity of new development environments with structured editing support. Main Results. In this architecture design we have proposed to abandon the textual representation of the source code at all stages of software development. As a result, the circular translation has been eliminated, the number of system components has been reduced, and development environment performance has been increased. The created prototype of development environment with support for structured editing has tested experimentally the effectiveness of the proposed architecture modification. Experiments have been carried out including comparison of compilation speed of software projects and the speed of automatic source code refactoring.Practical Relevance. The proposed solution can be used by organizations engaged in the industrial software development and by creators of new software development environments.

Keywords: structured editing, development environments, integrated development environments, software development, syntax-oriented editors, intermediate source code representation, performance optimization

Acknowledgements. This work was supported by the RFBR Grant No. 17-07-00700/19.

  1. Knyazeva M.A., Timchenko V.A. Structural programs editors in the high-level programming languages and generator of structural programs’ models within the knowledge bank of programs’ re-organization. Artificial Intelligence Scientific and theoretical journal, 2005, no. 4, pp. 200–208. (in Russian)
  2. Muchnik T.G. A language-adjustable structure editor with means of semantic control. Programming and Computer Software. 1990. vol. 16, no. 2, pp. 39–47.
  3. Fowler M. Projectional editing. 2008. Available at: (accessed: 23.03.2019).
  4. Aleksandrov S.Yu. Syntax-oriented editors:  functionality and architecture: Preprint № 3. Novosibirsk, IPMCE Academy of Sciences of the Soviet Union, 1987, 35 p. (in Russian)
  5. Voelter M., Siegmund J., Berger T., Kolb B. Towards user-friendly projectional editors // Lecture Notes in Computer Science, 2014, vol. 8706, pp. 41–61.
  6. Charles Simonyi, Magnus Christerson, Shane Clifford, «Intentional Software», an OOPSLA 2006 paper. Available at: (accessed: 23.03.2019).
  7. Reps T., Teitelbaum T. The synthesizer generator. ACM SIGSOFT Software Engineering Notes, 1984, vol. 9, no 3, pp. 42–48. doi: 10.1145/390010.808247
  8. Grachev D.A., Laptev V.V. Semantic IDE as a learning environment and web service. Mathematical Methods in Technics and Technologies-ММТТ, 2013, no. 9-1, pp. 131–135. (in Russian)
  9. Aho A.V., Lam M.S., Sethi R., Ullman J.D. Compilers: principles, techniques, and tools. 2nd ed., Pearson Addison Wesley, 2007, 1009 p.
  10. Vanyasin N.V. Semantic code editing in intelligent IDEs. Cybernetics and programming, 2017, no. 1, pp. 61–68. doi: 10.7256/2306-4196.2017.1.18881 (in Russian)
  11. Vaniasin N.V., Sidorkina I.G. Semantic source code editing in Integrated Development Environments. Economics, Management, Information and Technology, 2018, vol. 5, no. 2, pp. 48–53.
  12. Clark T. A general architecture for heterogeneous language engineering and projectional editor support. arXiv preprint, 2015, arXiv:1506.03398.
  13. Roedy G. Source code in database (Java source code SCID-style browser/editor). Available at: (accessed: 23.03.2019).
  14. Uvarov A.N. Inversion of control and dependency injection. Simvol nauki, 2016, no. 10-1, pp. 28–32. (in Russian)
  15. Nemolochnov O.F., Zykov A.G., Poliakov V.I., Sidorov A.V. Structuring of programs and computational processes on the set of linear and conventional vertices. Scientific and Technical Bulletin of St. Petersburg State University of Information Technologies, Mechanics and Optics, 2005, vol. 5, no. 3, pp. 207–212. (inRussian)
  16. Grishentsev A., Korobeynikov A. Convergence improving of the finite difference method by interim solution calculating. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2012, vol. 12, no. 3, pp. 124–127. (in Russian)
  17. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. AddisonWesley Professional, 1994, 416 p.
  18. Hempel B., Lubin J., Lu G., Chugh R. DEUCE: a lightweight user interface for structured editing. Proc. of the 40th International Conference on Software Engineering (ICSE 2018), 2018, pp. 654–664. doi: 10.1145/3180155.3180165
  19. Martin R.C. Clean code: A handbook of agile software craftsmanship. Prentice Hall, Inc., 2008, 462 p.

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Copyright 2001-2020 ©
Scientific and Technical Journal
of Information Technologies, Mechanics and Optics.
All rights reserved.