
Почему будущее кодирования может выглядеть как виртуальный город
16 июня 2025 г.Таблица ссылок
Аннотация и I. Введение
II Подход
А. Архитектурный дизайн
B. Доказательство реализации концепции
Iii. Представленные сценарии использования
IV Дизайн эксперимента и демография
А. Участники
B. Целевая система и задача
C. Процедура
V. Результаты и обсуждение
VI Связанная работа
VII. Выводы и будущая работа, признание и ссылки
VI Связанная работа
Близость кода часто не четко подчеркивается в публикациях SV, но следует из упоминаний зрителей кода в самом тексте. Следовательно, существует множество исследовательских подходов, которые используют встроенные зрители кода в SV, такие как города кодов [34]. Это также относится к более поздним и часто совместно используемым подходам виртуальной реальности [37] - [41]. Другие публикации представляют различные варианты использования для встроенного SV в редакторах кода, таких как просмотр зависимостей [42] или наброски [43], [44]. Немногие подходы позволяют разработчикам изменять исходный код с помощью встроенных редакторов кода [45]. Из -за ограничений пространства мы не можем рассмотреть и обсуждать все связанные подходы [8], [10], [11], но сосредоточились ниже на том, что мы считаем наиболее сопоставимой работой.
В 2015 году, Balogh et. AL представила утонченную версию своего инструмента Codemetropolis [9]. Их подход использует статический анализ исходного кода программных систем и визуализирует результат как 3D -код City. Связанный рендеринг достигается с использованием модной версии видеоигры Minecraft. Благодаря многопользовательскому режиму Minecraft, Code City также можно исследовать совместно. В целом, Codemetropolis и Explorviz делятся аспектами сотрудничества и интеграции редактора кодов. Однако эти функции реализуются по -разному в каждом случае. Например, в Codemetropolis пользователи перемещаются по тому же экземпляру данного кодового города, используя перспективу от первого лица. Они могут видеть аватары сотрудников и взаимодействовать на основе ограничений Minecraft. В Explorviz сотрудничество достигается с использованием совместных функций SV, например, общих всплывающих окон. Что касается интеграции редактора кода, то и Codemetropolis, и Explorviz предоставляют расширение, чем можно установить в коде Eclipse и VS соответственно. В этом контексте оба расширения предоставляют сопоставимый набор функций, например, открытый класс Java в SV. Тем не менее, наше расширение также может внедрить SV в фактический редактор кода, тогда как подход Metropolis может использоваться только в качестве внешнего SV, который ссылается на редактор кода (см. Раздел II-A).
VII. Выводы и будущая работа
В этой статье мы представили архитектурный дизайн нашего подхода для совместного, проксимального кодового динамического программного обеспечения в редакторах кода. Основная идея состоит в том, чтобы связать совместные SVS непосредственно с исходным кодом, который находится в стадии разработки в редакторе кода и наоборот. Мы прототипировали этот подход в нашем SV Tool Explorviz. Результатом является расширение кода VS, которое либо встраивает трехмерные программные города в редакторе кода, либо действует как шлюз между редактором кода и внешним SV. Поэтому мы напрямую связываем поведение времени выполнения с соответствующими элементами программы, например, методы Java. Пользователи могут совместно изучить SV из своего редактора кода, используя синхронизированные программные города и совместные функции SV, например, общие всплывающие окна. В дополнение к реализации, мы набросили три предполагаемых сценария использования.
Мы провели первоначальное исследование пользователя для сбора первых отзывов о воспринимаемой полезности и воспринимаемой удобстве использования нашего подхода. Результаты показывают, что большинство участников обычно воспринимают подход как полезный и пригодный для использования. В этом контексте участники оценили редактор кода и SV как одинаково полезные при решении задач по пониманию программы. Измеренное время, проведенное в каждом инструменте, то есть редактор SV и кода, указывает, что участники действительно используют SV в качестве дополнительного инструмента.
В будущем мы будем реализовать полезные функции и усовершенствования. Кроме того, мы планируем повторить эксперимент с профессиональными разработчиками.
Подтверждение
Авторы хотели бы поблагодарить Малте Хансена и Леннарта Идельера за их вклад в реализацию и оценку некоторых функций, представленных в этой статье.
Ссылки
[1] X. Xia, L. Bao, D. Lo, Z. Xing, A.E. Hassan и S. Li, «Понимание измерения программы: крупномасштабное полевое исследование с профессионалами», IEEE Transactions on Software Engineering, vol. 44, нет. 10, стр. 951–976, 2018. DOI: 10.1109/tse.2017.2734091
[2] Р. Тиаркс, «Что на самом деле делают программисты по техническому обслуживанию: обсервационное исследование», Softwaretechnik-Trends, vol. 31, нет. 2, 2011. [Онлайн]. Доступно: https://dl.gi.de/handle/20.500.12116/40982
[3] А. Дж. Ко, Б. А. Майерс, М. Дж. Кобленц и Х. Х. Аунг, «Исследовательское исследование того, как разработчики ищут, связывают и собирают соответствующую информацию во время задач по обслуживанию программного обеспечения», IEEE Transactions on Software Engineering, vol. 32, нет. 12, с. 971–987, 2006. DOI: 10.1109/tse.2006.116
[4] M. Sensalire и P. Ogao, «Визуализация объектно -ориентированного программного обеспечения: к точке справки для разработки инструментов для промышленности», в процессах 4 -го международного семинара IEEE по визуализации программного обеспечения для понимания и анализа, 2007. DOI: 10.1109/Vissof.2007.4290696 с. 26–29.
[5] С. Бассиль и Р. Келлер, «Инструменты визуализации программного обеспечения: опрос и анализ», в материалах 9 -го международного семинара по пониманию программы (IWPC 2001), 2001. DOI: 10.1109/WPC.2001.921708 с. 7–17.
[6] Х. М. Кинле и Х. А. Мюллер, «Требования инструментов визуализации программного обеспечения: литературное обследование», в процессах 4 -го международного семинара IEEE по визуализации программного обеспечения для понимания и анализа, 2007. DOI: 10.1109/vissof.2007.4290693 с. 2–9.
[7] М. Ланца и С. Дукасс, «Полиметрические представления - легкий визуальный подход к обратной инженерии», IEEE Transactions on Software Engineering, Vol. 29, нет. 9, с. 782–795, сентябрь 2003 г. DOI: 10.1109/tse.2003.1232284
[8] R. Lintern, J. Michaud, M.-A. Starey и X. Wu, «Подключение визуализации: опыт интеграции инструмента визуализации с Eclipse», в процессах 1-го симпозиума ACM по визуализации программного обеспечения (Softvis 2003), Ser. Softvis ’03. Ассоциация вычислительной техники, 2003. DOI: 10.1145/774833.774840 с. 47 - FF.
[9] G. Balogh, A. Szabolics и A. Beszedes, «Codemetropolis: Eclipse над городом исходного кода», в процессе 15 -й Международной рабочей конференции IEEE по анализу исходного кода и манипуляции (SCAM 2015), 2015, с. 271–276.
[10] М. Сул «М. Бак», С. Чодарев и Дж. Поруб «Ан», «Визуальная августа редакторов исходного кода: систематическое исследование картирования», Journal of Visual Languages & Computing, Vol. 49, с. 46–59, 2018. DOI: 10.1016/j.jvlc.2018.10.001
[11] Z. Kurbatova, Y. Golubev, V. Kovalenko и T. Bryksin, «Платформа IntelliJ: структура для создания плагинов и данных программного обеспечения для майнинга», в процессах 36 -й Международной конференции IEEE/ACM по автоматической разработке программного обеспечения (ASEW 2021). 14–17.
[12] C. Knight и M. Munro, «Понимание с [в] визуализациях виртуальной среды», в материалах 7 -го международного семинара по пониманию программы, 1999. DOI: 10.1109/wpc.1999.7777333 с. 4–11.
[13] Р. Веттель и М. Ланца, «Визуализация программных систем как города», в процессах 4 -го международного семинара IEEE по визуализации программного обеспечения для понимания и анализа, 2007. DOI: 10.1109/vissof.2007.4290706 с. 92–99.
[14] А. Краузе-Глау и В. Хассельбринг, «Масштабируемая совместная визуализация программного обеспечения как услуга: короткая отрасль и опыт работы», в материалах 10-й Международной конференции IEEE по облачной технике (IC2E 2022), 2022. DOI: 10.1109/IC2E55432.2022.00026 с. 182–187.
[15] M. Sensalire, P. Ogao и A. Telea, «классификация желательных функций инструментов визуализации программного обеспечения для корректирующего обслуживания», в процессах 4 -го симпозиума ACM по визуализации программного обеспечения (Softvis 2008), Ser. Softvis ’08. Нью -Йорк, Нью -Йорк, США: Ассоциация по компьютерной технике, 2008. DOI: 10.1145/1409720.1409734 с. 87–90.
[16] А. Краузе-Глау, М. Бадер и В. Хассельбринг, «Совместная визуализация программного обеспечения для понимания программы», в материалах 10-й рабочей конференции IEEE по визуализации программного обеспечения (Vissoft 2022), 2022. DOI: 10.1109/Vissoft55257.2022.00016 с. 75–86.
[17] W. Hasselbring, A. Krause и C. Zirkelbach, «Explorviz: Исследование визуализации, понимания и сотрудничества программного обеспечения», «Программное обеспечение», Vol. 6, ноябрь 2020 года. DOI: 10.1016/j.simpa.2020.100034
[18] C. Zirkelbach, A. Krause и W. Hasselbring, «Модуляризация программного обеспечения для исследовательского программного обеспечения для совместной разработки с открытым исходным кодом», в процессе 9 -й Международной конференции по передовым совместным сетям, системам и приложениям (Colla 2019), Juni 2019, с. 1–7. [Онлайн]. Доступно: https://www.thinkmind.org/index. php? View = article & articleid = colla 2019 1 10 50005
[19] A. Krause, C. Zirkelbach, W. Hasselbring, S. Lenga, and D. Kroger, ¨ “Microservice decomposition via static and dynamic analysis of the monolith,” in Companion Proceedings of the 17th IEEE International Conference on Software Architecture (ICSA-C 2020), 2020. DOI: 10.1109/ICSA-C50368.2020.00011 pp. 9–16.
[20] F. Fittkau, A. Krause и W. Hasselbring, «Изучение городов программного обеспечения в виртуальной реальности», в процессах 3 -й рабочей конференции IEEE по визуализации программного обеспечения (Vissoft 2015), 2015. DOI: 10.1109/Vissoft.2015.7332423 с. 130–134.
[21] А. Краузе-Глау, М. Хансен и В. Хассельбринг, «Понимание программы совместной программы посредством визуализации программного обеспечения в расширенной реальности», Information and Software Technology, vol. 151, с. 107007, 2022. doi: 10.1016/j.infsof.2022.107007
[22] Дж. Бьюкен, С. Г. Макдонелл и Дж. Ян, «Эффективная команда по борьбе с гибким программным обеспечением: методы и цели», «В процессах 13 -го Международного симпозиума ACM/IEEE на эмпирическом разработке программного обеспечения и измерениях (ESEM 2019), 2019. DOI: 10.1109/ESEM.2019.8870189 PP. 1–11.
[23] P. Rodeghero, T. Zimmermann, B. Houck и D. Ford, «Пожалуйста, включите свои камеры на: Удаленное включение разработчиков программного обеспечения во время пандемии», в процессах 43-й IEEE/ACM International Conference по разработке программного обеспечения: Программная инженерия на практике (ICSE-SEIP 2021), 2021. DOI: 10.1109/ICSE-SEIP51211.202121.2021.2021.2021.2021.202136136131313131313.2021361361.2021. С. 41–50.
[24] А. Джу, Х. Сайнани, С. Келли и К. Герциг, «Примерное исследование в области адаптации в командах программного обеспечения: задачи и стратегии», в материалах 43 -й Международной конференции IEEE/ACM по разработке программного обеспечения (ICSE 2021), 2021. DOI: 10.1109/ICSE43902.2021.00063 PP. 613–6233.
[25] Т. Баум, Х. Лессманн и К. Шнайдер, «Выбор процесса обзора кода: опрос о состоянии практики», в области улучшения программного процесса, ориентированного на продукт, Vol. 10611. Springer, 2017. DOI: 10.1007/978-3-319-69926-4 9 с. 111–127.
[26] L. Dong, H. Zhang, L. Yang, Z. Weng, X. Yang, X. Zhou и Z. Pan, «Обследование болей и лучших практик обзора кода», в «Слушаниях 28-й конференции по разработке программного обеспечения в Азии-Тихоокеанском регионе» (APSEC 2021), 2021. DOI: 10.1109/APSEC53868.20211.000555555.4811111111111111111111111111111. 482–48111.
[27] L. Merino, M. Ghafari, C. Anslow и O. Nierstrasz, «Систематический обзор литературы оценки визуализации программного обеспечения», Journal of Systems and Software, Vol. 144, нет. C, p. 165–180, октябрь 2018 года. DOI: 10.1016/j.jss.2018.06.027
[28] Д. Фейтельсон, «Соображения и подводные камни для снижения угроз для обоснованности контролируемых экспериментов по пониманию кода», Emprical Software Engineering, vol. 27, 11 2022. DOI: 10.1007/S10664-022- 10160-3
[29] М. Д. Галл, В. Р. Борг и Дж. П. Галл, Образование, исследование, введение. Лонгман, 1996.
[30] A. Krause-Glau и W. Hasselbring, «Дополнительные данные для: совместная, проксимальная динамическая визуализация программного обеспечения в коде в редакторах кода», 2023. [Online]. Доступно: https://doi.org/10.5281/zenodo. 8111133
[31] Д. Фалесси, Н. Юристо, С. Вон, Б. Турхан, Дж. Мунк, А. Джэдличка, «и М. Ойво», «Эмпирические эксперты по разработке программного обеспечения по использованию студентов и специалистов в экспериментах», Эмпирический Softw. Engg., Vol. 23, нет. 1, с. 452–489, февраль 2018 года. DOI: 10.1007/S10664-017-9523-3
[32] С. Ф. Кэмерер и Р. М. Хогарт, «Влияние финансовых стимулов в экспериментах: обзор и рамки производства капитала», журнал риска и неопределенности, Vol. 19, нет. 1, с. 7–42, 1999. DOI: 10.1023/A: 1007850605129
[33] Л. Коэн, Л. Манион и К. Моррисон, Методы исследования в области образования. Routledge, 2017.
[34] Р. Веттель, М. Ланца и Р. Роббес, «Программные системы как города: контролируемый эксперимент», в процессах 33 -й Международной конференции по разработке программного обеспечения (ICSE 2011), 2011. DOI: 10.1145/1985793.1985868 с. 551–560.
[35] Ф. Гальперин, Р. Кошке и М. Стейнбек, «Визуализация запахов кода: таблицы или города кода? Контролируемый эксперимент», в «Слушаниях 10 -й рабочей конференции IEEE по визуализации программного обеспечения» (Vissoft 2022), 2022. DOI: 10.1109/Vissoft55257.2022.00014 Pp.
[36] J. Siegmund, «Понимание программы: прошлое, настоящее и будущее», в материалах 23 -й Международной конференции IEEE по анализу программного обеспечения, эволюции и реинжинирингу (Saner 2016), Vol. 5, 2016. DOI: 10.1109/SANER.2016.35 с. 13–20.
[37] Р. Кошке и М. Стейнбек, «См. Ваши клоны с вашими товарищами по команде», в процессах 15 -го международного семинара IEEE по клонам программного обеспечения (IWSC 2021), 2021. DOI: 10.1109/IWSC53727.2021.00009 с. 15–21.
[38] R. Oberhauser и C. Lecon, «Гейгрифицированная виртуальная реальность для понимания структуры программного кода», Международный журнал виртуальной реальности, Vol. 17, нет. 2, с. 79–88, январь 2017 г. DOI: 10.20870/ijvr.2017.17.2.2894
[39] P. Khaloo, M. Maghoumi, E. Taranta, D. Bettner и J. Laviola, «Кодовый парк: новый инструмент визуализации трехмерного кода», в материалах 5 -й рабочей конференции IEEE о визуализации программного обеспечения (Vissoft 2017), 2017. DOI: 10.1109/Vissoft.2017.10 с. 43–53.
[40] A. Hori, M. Kawakami и M. Ichii, «Кодовая домик: инструмент визуализации кода VR», в процессе 7 -й рабочей конференции по визуализации программного обеспечения (Vissoft 2019), 2019. DOI: 10.1109/Vissoft.2019.00018 с. 83–87.
[41] L. Merino, M. Ghafari, C. Anslow и O. nierstrasz, «CityVR: визуализация Gameful Software», в Материалах 33 -й Международной конференции IEEE по техническому обслуживанию и эволюции программного обеспечения (ICSME 2017), 2017. DOI: 10.1109/ICSME.2017.70 с. 633–637.
[42] К. Боровский, Б. Балис и Т. Орцеховски, «Графический приятель - интерактивный инструмент для просмотра и визуализации кодовой зависимости», в материалах 10 -й рабочей конференции IEEE по визуализации программного обеспечения (Vissoft 2022), 2022. DOI: 10.1109/Vissoft55257.2022.00023 Pp. 152–156.
[43] L. Lichtschlag, L. Spychalski и J. Bochers, «Codegraffiti: использование нарисованных вручную наброски, связанных с кодовыми базами в навигационных задачах», в процессах симпозиума IEEE 2014 года на визуальных языках и человеческом вычислении (VL/HCC), 2014. DOI: 10.1109/vlhc.2014448888888888888888888. 65–68.
[44] C. Kurtz, «Гестальт кода: инструмент визуализации программного обеспечения для людей», в расширенных рефератах по человеческим факторам в вычислительных системах (Chi 2011). Нью -Йорк, Нью -Йорк, США: Ассоциация по компьютерной технике, 2011. DOI: 10.1145/1979742.1979518 с. 929–934.
[45] J. Dominic, B. Tubre, C. Ritter, J. Houser, C. Smith и P. Rodeghero, «Программирование удаленной пар в виртуальной реальности», «В процессах 36 -й Международной конференции IEEE по обслуживанию и эволюции программного обеспечения» (ICSME 2020), 2020. DOI: 10.1109/ICSME4690.2020.00046 с. 406–417.
Авторы:
(1) Александр Краузе-Глау, Группа по разработке программного обеспечения, Университет Киля, Киль, Германия (akr@informatik.uni-kiel.de);
(2) Вильгельм Хассельбринг, Группа по разработке программного обеспечения, Университет Киля, Киль, Германия (wha@informatik.uni-kiel.de).
Эта статья есть
Оригинал