~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 4DE049AEDA353961ED516B3D15F7D4BF__1686952920 ✰
Заголовок документа оригинал.:
✰ Software archaeology - Wikipedia ✰
Заголовок документа перевод.:
✰ Программная археология — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Software_archaeology ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/4d/bf/4de049aeda353961ed516b3d15f7d4bf.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/4d/bf/4de049aeda353961ed516b3d15f7d4bf__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 08:57:58 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 17 June 2023, at 01:02 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Программная археология — Википедия Jump to content

Программная археология

Из Википедии, бесплатной энциклопедии

Археология программного обеспечения или археология исходного кода — это исследование плохо документированных или недокументированных устаревших реализаций программного обеспечения в рамках обслуживания программного обеспечения . [1] [2] Программная археология, названная по аналогии с археологией , [3] включает обратное проектирование программных модулей и применение различных инструментов и процессов для извлечения и понимания структуры программы и восстановления проектной информации. [1] [4] Археология программного обеспечения может выявить дисфункциональные командные процессы, в результате которых были созданы плохо спроектированные или даже неиспользуемые программные модули, а в некоторых случаях может быть обнаружен намеренно запутанный код. [5] Этот термин используется уже несколько десятилетий. [6]

Археология программного обеспечения продолжает оставаться темой обсуждения на последних конференциях по разработке программного обеспечения. [7]

Техники [ править ]

Семинар по археологии программного обеспечения на конференции OOPSLA (Объектно-ориентированное программирование, системы, языки и приложения) 2001 года выявил следующие методы археологии программного обеспечения, некоторые из которых специфичны для объектно-ориентированного программирования : [8]

  • Языки сценариев для создания статических отчетов и фильтрации результатов диагностики.
  • Текущая документация на HTML-страницах или вики.
  • Синоптический анализ сигнатур, статистический анализ и визуализации программные инструменты
  • Инструменты обратного проектирования
  • Трассировка на уровне операционной системы с помощью truss или strace.
  • Поисковые системы и инструменты для поиска ключевых слов в исходных файлах
  • IDE просмотр файлов
  • модульного тестирования Платформы , такие как JUnit и CppUnit.
  • Создание документации API с использованием таких инструментов, как Javadoc и doxygen.
  • Отладчики

В более общем плане Энди Хант и Дэйв Томас отмечают важность контроля версий , управления зависимостями , инструментов индексирования текста, таких как GLIMPSE и SWISH-E , и «[рисования] карты, когда вы начинаете исследовать». [8]

Как и настоящая археология, программная археология включает в себя исследовательскую работу, направленную на понимание мыслительных процессов своих предшественников. [8] На семинаре OOPSLA Уорд Каннингем предложил метод синоптического анализа сигнатур, который давал общее представление о программе, показывая только знаки препинания, такие как точки с запятой и фигурные скобки . [9] В том же духе Каннингем предложил просматривать программы шрифтом в 2 пункта, чтобы понять общую структуру. [10] Еще одним методом, выявленным на семинаре, было использование инструментов аспектно-ориентированного программирования , таких как AspectJ, для систематического внедрения кода трассировки без прямого редактирования устаревшей программы. [8]

Методы сетевого и временного анализа могут выявить закономерности совместной деятельности разработчиков устаревшего программного обеспечения, что, в свою очередь, может пролить свет на сильные и слабые стороны создаваемых программных артефактов. [11]

Майкл Розлог из Embarcadero Technologies описал археологию программного обеспечения как шестиэтапный процесс, который позволяет программистам отвечать на такие вопросы, как «Что я только что унаследовал?» и «Где страшные участки кода?» [12] Эти шаги, аналогичные шагам, определенным на семинаре OOPSLA, включают использование визуализации для получения визуального представления дизайна программы, использование показателей программного обеспечения для поиска нарушений дизайна и стиля, использование модульного тестирования и профилирования для поиска ошибок и узких мест в производительности, а также сбор проектной информации, полученной в процессе. [12] Археология программного обеспечения также может быть услугой, предоставляемой программистам внешними консультантами. [13]

В популярной культуре [ править ]

Профессия « программист-археолог » занимает видное место в Вернора Винджа научно-фантастическом романе 1999 года «Глубина в небе» . [14]

См. также [ править ]

Ссылки [ править ]

  1. ^ Перейти обратно: а б Роблес, Грегорио; Гонсалес-Бараона, Хесус М.; Херраиз, Израиль (2005). «Эмпирический подход к археологии программного обеспечения» (PDF) . Стендовые материалы Международной конференции по сопровождению программного обеспечения .
  2. ^ Эмблер, Скотт В. «Анализ устаревших гибких систем и интеграционное моделирование» . www.agilemodeling.com . Проверено 20 августа 2010 г. Без точной документации или доступа к знающим людям последним средством может стать анализ исходного кода устаревшей системы... Эту попытку часто называют археологией программного обеспечения.
  3. ^ Мойер, Брайон (4 марта 2009 г.). «Археология программного обеспечения: модернизация старых систем» (PDF) . Журнал встраиваемых технологий .
  4. ^ Хопкинс, Ричард; Дженкинс, Кевин (2008). «5. Мифический Метачеловек» . Поедание ИТ-слона: переход от разработки с нуля к действующей технологии . Аддисон-Уэсли. п. 93. ИСБН  978-0-13-713012-2 .
  5. ^ Спинеллис, Диомидис ; Гусиос, Георгиос (2009). «2. Повесть о двух системах § Отсутствие сплоченности» . Красивая архитектура . О'Рейли. п. 29. ISBN  978-0-596-51798-4 .
  6. ^ Раннее обсуждение Грасс, Джудит Э. (зима 1992 г.). «Археология объектно-ориентированного дизайна с CIA ++» (PDF) . Вычислительные системы . 5 (1).
  7. ^ Например, «32-я Международная конференция ACM/IEEE по программной инженерии» . Май 2010. .
  8. ^ Перейти обратно: а б с д Хант, Энди ; Томас, Дэйв (март – апрель 2002 г.). «Археология программного обеспечения» (PDF) . Программное обеспечение IEEE . 19 (2): 20–22. дои : 10.1109/52.991327 .
  9. ^ Каннингем, Уорд (2001). «Опрос сигнатур: метод просмотра незнакомого кода» . Заявление о позиции семинара, Археология программного обеспечения: понимание больших систем, OOPSLA 2001 .
  10. ^ Кук, Джон Д. (10 ноября 2009 г.). «Программная археология» . Стремление .
  11. ^ де Соуза, Клейдсон; Фрелих, Джон; Дуриш, Пол (2005). «В поисках источника: исходный код программного обеспечения как социальный и технический артефакт» (PDF) . Материалы Международной конференции ACM SIGGROUP 2005 г. по поддержке групповой работы . стр. 197–206. дои : 10.1145/1099203.1099239 . ISBN  1595932232 .
  12. ^ Перейти обратно: а б Розлог, Михаил (28 января 2008 г.). «Археология программного обеспечения: что это такое и почему это должно волновать разработчиков Java?» . java.sys-con.com.
  13. ^ Шарвуд, Саймон (3 ноября 2004 г.). «В поисках утраченного кода» . ЗДНет .
  14. ^ Рис, Гарет (12 июня 2013 г.). «Археология программного обеспечения и технический долг» .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 4DE049AEDA353961ED516B3D15F7D4BF__1686952920
URL1:https://en.wikipedia.org/wiki/Software_archaeology
Заголовок, (Title) документа по адресу, URL1:
Software archaeology - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)