Визуальное будущее аналитики и энергонезависимая памятьВводную заметку июльского номера под названием «Визуальная аналитика: в поисках неизвестного» (Visual Analytics: Seeking the Unknown) написали приглашенные редакторы Марк Стрейт (Marc Streit) и Оливер Бимбер (Oliver Bimber). Сегодня существует много алгоритмических и математических решений для анализа крупных наборов данных, таких как биомолекулярные данные или исходный код сложных программных систем, — для получения новых знаний из этих данных требуется указать, что именно ищется: от кластеров пациентов с одной и той же генной экспрессией до ошибок в программных системах. Но что делать в тех случаях, когда неизвестно, что следует искать? Например, нерешенной остается проблема выявление геномных изменений и процессов, ведущих к возникновению конкретных разновидностей рака, но, поскольку у биологов отсутствуют требуемые подходы, они не могут разработать алгоритмы, должным образом анализирующие биомолекулярные данные.

Визуальная аналитика (visual analytics) — перспективная, быстро развивающаяся область, объединяющая преимущества графической визуализации и мощность аналитических умозаключений. Визуальная аналитика помогает обнаруживать новые и неизвестные знания путем нахождения связей, паттернов, трендов и аномалий в потенциально больших и сложных массивах данных. Поскольку уникальные способности аналитиков к осмыслению данных тесно связываются с методами интерактивной визуализации, визуальная аналитика может способствовать совершению открытий, которые по отдельности не могут сделать ни человек, ни компьютер.

Первую из пяти статей тематической подборки — «Инфраструктуры визуальной аналитики: от управления данными к исследованию данных» (Visual Analytics Infrastructures: From Data Management to Exploration) — написал Жан-Даниэль Фекете (Jean-Daniel Fekete). Одной из серьезных проблем визуальной аналитики является поддержка исследований Больших Данных и взаимодействий с ними. Выступая в этой роли, визуальная аналитика должна не только справляться с управлением данными и их анализом, но и удовлетворять специфические требования к исследованию данных. Сталкиваясь с большими объемами незнакомых данных, люди нуждаются в их общих описаниях, а также в возможности к переходу на более детальный уровень. Это облегчает поиск паттернов и корреляций, нахождение феноменов, эмпирических моделей и теорий, связанных с исследуемыми данными. С точки зрения разработчиков ПО, реализация приложения визуальной аналитики затрудняется тем, что в традиционных ИТ-инфраструктурах отсутствуют важные сервисы, требуемые человеческим когнитивным системам при обработке сложной информации (рис.1). Требования визуальной аналитики не удовлетворяются даже в самых новых средствах аналитики и управления данными. Для решения этих проблем необходимы работы, в результате которых визуальная аналитика сможет полностью справиться с поддержкой интерактивных исследований Больших Данных.

Рис. 1. Взаимосвязь информационной системы и аналитиков. Красные стрелки изображают управляющие механизмы; область, закрашенная синим, соответствует совместному использованию и распространению данных; а зеленая область представляет визуализацию как коммуникационную среду системы и аналитика
Рис. 1. Взаимосвязь информационной системы и аналитиков. Красные стрелки изображают управляющие механизмы; область, закрашенная синим, соответствует совместному использованию и распространению данных; а зеленая область представляет визуализацию как коммуникационную среду системы и аналитика

 

Группа проекта Aviz исследует когнитивные возможности людей, определяющие требования к исследованию данных, а также то, как следует изменить визуализацию информации, чтобы она отвечала этим требованиям. Двумя проблемами являются ограниченные возможности человеческого познания и возрастающее давление на программные системы со стороны данных. Основной причиной этого давления является несоответствие потребностям визуальной аналитики возможностей средств аналитики и управления данными. Устранение этого несоответствия будет полезно не только для инструментов визуальной аналитики, но и для аналитики и управления данными в целом.

Статью «Поддержка визуальной аналитики для анализа разведывательных данных» (Visual Analytics Support for Intelligence Analysis) представили Карстен Горг (Carsten Görg), Юн А Канг (Youn-ah Kang), Жичен Лью (Zhicheng Liu) и Джон Стаско (John Stasko). Анализ разведывательных данных стал ключевой областью применения визуальной аналитики с тех пор, как Министерство национальной безопасности США в 2004 году создало Национальный центр визуализации и аналитики (National Visualization and Analytics Center). В плане работ этого центра обозначались задачи, данные и аналитические сценарии, касающиеся в основном национальной безопасности и предотвращения террористических актов. Большая часть проблем, упомянутых в этом документе, так и осталась нерешенной, что, однако, не умаляет перспективнности технологии визуальной аналитики. Появилось несколько коммерческих инструментов визуальной аналитики для анализа разведывательных данных — в частности, средство Analyst’s Notebook в составе пакета от IBM i2, система nSpace компании Oculus и семейство систем компании Palantir. Однако для дальнейшего развития требуются углубленное понимание специфики анализа разведывательных данных и роли аналитиков, а также выяснение того, каким образом визуальная аналитика может помочь.

Масштабность, разнородность и сложность разведывательной информации вызывают потребность в привлечении к анализу больших когнитивных возможностей — данные часто представляются в виде повествовательных текстов, не поддающихся автоматическому анализу. Проблемными аспектами исследования являются стоимость просмотра текста, оценки его важности и выбора элементов, заслуживающих большего внимания; трудности генерации и проверки гипотез.

В период с 2008 по 2013 год авторы выполнили несколько проектов, посвященных анализу разведывательных данных и выявлению характеристик процесса анализа. Кроме того, была разработана система визуальной аналитики текстов Jigsaw, интегрирующая средства вычислительного анализа текстов с возможностями интерактивной визуализации для исследования коллекций неструктурированных и квазиструктурированных текстовых документов.

Авторами статьи «Визуализация и анализ крупномасштабных графов» (Large-Scale Graph Visualization and Analytics) являются Кван Лью Ма (Kwan-Liu Ma) и Крис Мюлдер (Chris Muelder). Растущая популярность сетевых приложений вызывает потребность в средствах эффективного анализа сложных наборов данных: «Википедия» включает миллионы статей, образующих сеть через перекрестные ссылки; Facebook связывает более миллиарда пользователей в сложную структуру друзей, игр, рекламных объявлений; и т. д. Эти и подобные им сети продолжают расширяться и усложняться, и для изучения их динамики простые статистические данные неэффективны, поэтому все чаще аналитики предпочитают применять визуализацию. Например, аналитики социальных сетей могут обнаружить особенности образования групп друзей, а анализ распределительной электрической сети может выявить, что в каждый момент требуется для усовершенствования инфраструктуры.

Визуализация графов (graph drawing) — область, возникшая полвека назад для визуализации структуры сетей. Одним из наиболее распространенных и интуитивно понятных представлений является диаграмма «узел – ребро», и хотя этот метод относительно прост и пригоден для визуализации небольших сетей, он неприменим для крупных и сложных сетей. Дополнительные проблемы возникают при работе с динамическими сетями (такими, как Facebook), которые разрастаются при образовании каждой новой дружеской связи и сокращаются, когда отношения прекращаются. Поскольку каждое добавление или удаление узла может воздействовать на более масштабные паттерны (например, кластеры), нахождение и понимание смысла небольших изменений могут обеспечить получение знаний о развитии сети в целом.

Визуализация и анализ графов требуют дальнейших исследований, и новые методы должны затрагивать все аспекты представления сетей: от фундаментальной проблемы размещения крупных графов до анализа графов и упрощения динамически изменяемых графов. Авторы выявили нерешенные проблемы и предложили пути к их решению.

Статью «Визуальный анализ текстовых потоков в реальном времени» (Real-Time Visual Analytics for Text Streams) представили Даниэль Кейм (Daniel Keim), Милош Крстажич (Milos Krstajic), Кристиан Рохрданц (Christian Rohrdantz) и Тобиас Шрек (Tobias Schreck). Ежедневно в киберпространство вводятся огромные объемы текстовых данных, генерируемые профессионалами (например, тексты новостей) или обычными пользователями через блоги, социальные сети или комментарии на сайтах. Большая часть генерируемого текста общедоступна, но значительная доля предназначена только для внутреннего использования. Например, доступ к ценной информации, получаемой при опросе пользователей интернет-магазина, может быть ограничен некоторой группой лиц или организаций. Кроме того, группы пользователей могут порождать важный контент при возникновении новых событий, появлении новых продуктов, услуг и компаний.

При должной обработке эти разнородные потоки текста позволяют обеспечить мгновенную обратную связь, отслеживать и совершенствовать бизнес-процессы. Полученные знания можно использовать для быстрого улучшения ситуации, избежав потери клиентов или подрыва репутации компании.

Теоретически в реальном времени можно обрабатывать любую информацию, но при обработке текстов возникают задержки — в них может присутствовать как относящаяся к делу, так и лишняя информация, а семантическая структура может отсутствовать. Для отбора релевантной информации и извлечения семантической структуры (события, темы, настроения и т. д.) аналитикам требуются методы автоматической обработки текстов. Независимо от извлеченной семантической структуры только люди могут осмыслить полученные результаты и сделать выводы, пригодные для принятия решений. Интерактивная визуализация может устранить разрыв между вычислительными методами и требованиями аналитиков — именно эта идея является движущей силой визуальной аналитики.

В исследовании, выполненном авторами, разработан подход к анализу текстовых потоков в соответствии с трендами, выявляемыми на основе анализа плотности. В ходе исследования обнаружено несколько проблем в области обработки и анализа текстов в реальном времени. Построена таксономия существующих методов обработки текстов с учетом возможных компромиссов между точностью и эффективностью.

Последнюю статью тематической подборки написал Ярке ван Вайк (Jarke van Wijk), она называется «Оценка: проблема визуальной аналитики» (Evaluation: A Challenge for Visual Analytics). Визуальная аналитика помогает людям понимать смысл разнородных данных большого объема благодаря интеграции нескольких методологий анализа данных, но достижение хороших результатов остается проблематичным. В целом в области визуальной аналитики отсутствуют убедительные модели и теории — визуальная аналитика еще не скоро станет зрелой технологией.

Важную роль в развитии этой области будут играть методы оценки качества артефактов визуальной аналитики, включая инструменты, методы, модели и теории. Качество затрагивает эффективность и результативность и включает такие аспекты, как удовлетворенность пользователей, производительность, простота использования, а также то, как данный артефакт вписывается в имеющиеся потоки работ. Результаты оценки важны для всех заинтересованных лиц: интеграторам и аналитикам нужно знать качество артефактов; разработчикам систем, опирающимся на использование методов визуальной аналитики, нужны критерии выбора конкретного набора методов. Кроме того, хорошие оценочные результаты могут помочь убедить интеграторов и пользователей использовать новые методы. Однако, невзирая на растущую важность визуальной аналитики, обеспечение должной оценки затруднительно. Обсуждению имеющихся проблем посвящена основная часть статьи.

Вне тематической подборки опубликованы две крупные статьи. Диана Кук (Diane Cook), Арон Крендал (Aaron Crandall), Брайан Томас (Brian Thomas) и Нараянан Кришнан (Narayanan Krishnan) представили статью «CASAS: умный дом в коробке» (CASAS: A Smart Home in a Box). В последнее десятилетие методы машинного обучения и технологии повсеместного компьютинга стали настолько зрелыми, что появилась возможность интегрированной автоматической поддержки повседневной среды обитания людей. Физическим воплощением такой системы является умный дом. Программное обеспечение опирается на данные сенсорной сети и методы искусственного интеллекта для получения знания о состоянии физической среды дома и его обитателей. На основе этого знания предпринимаются действия для достижения заданных целей. Многие исследователи отмечают исключительную важность потенциального использования технологии умных домов в таких приложениях, как мониторинг состояния здоровья людей и оптимизация энергопотребления, однако большинство имеющихся реализаций в основном ориентировано на лабораторные условия. Главные затруднения связаны с созданием полностью функциональной инфраструктуры умного дома.

Цель проекта CASAS (рис. 2) — разработка умного дома в коробке.

Рис. 2. Компоненты умного дома CASAS. Во время мониторинга состояния управление передается от физических компонентов к программным приложениям. Когда интеллектуальная среда инициирует действие, управление передается физическим компонентам. Каждый из уровней расширяем и готов к использованию
Рис. 2. Компоненты умного дома CASAS. Во время мониторинга состояния управление передается от физических компонентов к программным приложениям. Когда интеллектуальная среда инициирует действие, управление передается физическим компонентам. Каждый из уровней расширяем и готов к использованию

 

Последняя крупная статья июльского номера называется «Оптимальное распределение ресурсов с использованием MultiAmdahl» (Optimal Resource Allocation with MultiAmdahl), ее представили Цахи Зиденберг (Tsahee Zidenberg), Исаак Кесласси (Isaac Keslassy) и Ури Вейзер (Uri Weiser). В новых неоднородных мультипроцессорных кристаллах интегрируется большое число различных вычислительных блоков, включающих крупные ядра для последовательной обработки и несколько более мелких ядер для параллельной обработки, а также графические процессоры, вспомогательные процессоры (helper processor), сигнальные процессоры, программируемые логические матрицы (FPGA) и специализированные жестко скомпонованные схемы (application-specific hardware circuit). Все эти блоки, разработанные в расчете на конкретную рабочую нагрузку, могут настраиваться под заданное приложение, что применительно к этому приложению делает их более мощными, чем блоки общего назначения. Однако неоднородность не дается даром — доступные ресурсы кристалла ограниченны (площадь пластины, общая потребляемая мощность) и за них конкурируют все компоненты кристалла. Во фреймворке MultiAmdahl распределение ресурсов внутри кристалла трактуется как задача оптимизации, на входе которой рабочая нагрузка системы, характеристики разных блоков, доступные ресурсы кристалла и целевая функция. Для решения этой проблемы используются множители Лагранжа.

Энергонезависимая память

Тема августовского номера — новые технологии компьютерной памяти (Next-Generation Memory). Так же назвали свою вводную заметку приглашенные редакторы: Грег Этвуд (Greg Atwood), Су-Ик Чей (Soo-Ik Chae) и Саймон Шим (Simon S.Y. Shim). Технологии хранения данных, используемые в современных компьютерах, появились в 1970-е годы на заре становления индустрии полупроводников. Твердотельная память — статическая память (RAM), динамическая память (DRAM) и флэш-память (Electronically Programmable Read Only Memory, EPROM) — основывалась на транзисторных электронных устройствах, а механическая память (ленты и диски) — на магнитных накопителях. Эти две разновидности устройств хранения прожили долгую жизнь, причем в соответствии с законом Мура каждые два года удваивалась плотность записи и вдвое уменьшалась стоимость. Память является определяющим компонентом многих современных портативных устройств, ставших обязательной составляющей жизни людей. По мере того как продолжают возрастать объемы данных, которые должны быть мгновенно доступны миллионам пользователей, технология памяти становится и решением, и препятствием, побуждая индустрию пересматривать способы использования памяти. Одним из наилучших примеров этой тенденции является широкое внедрение твердотельных накопителей (Solid-State Drive, SSD).

Быстрое наращивание плотности записи и падение стоимости стали возможны благодаря постоянному уменьшению размеров элементов. К сожалению, это масштабирование ограничено законами физики — в современных 20-нанометровых многоуровневых ячейках (MultiLevel Cell, MLC) состояние памяти сохраняется всего лишь несколькими десятками электронов. Для использования такой памяти в системах требуются все более сложные устройства управления. К счастью, возможность современных средств производства работать с материалами на атомном уровне совместно с развитием теоретических основ устройств хранения данных открывают пути к новым достижениям в этой области.

Первая статья тематической подборки называется «Флэш-память NAND: проблемы и возможности» (NAND Flash Memory: Challenges and Opportunities), ее написали Ян Ли (Yan Li) и Хандкер Квадер (Khandker Quader). Со времени появления на рынке в 1987 году флэш-памяти NAND ее относительно низкая стоимость, компактность, бесшумность, скорость и прочность привели к широкому использованию в мобильных платформах и отказу от жестких дисков во многих клиентских и корпоративных приложениях. В последние годы разработчики смогли успешно масштабировать двумерную флэш-память NAND (2D NAND) к 20-нанометровой технологии, но дальнейшее масштабирование может стать проблемой. Хотя новые альтернативы, такие как трехмерная резисторная память с произвольным доступом (3D resistive RAM, ReRAM), нацелены на замену 2D NAND, прочные позиции этой технологии на рынке устройств хранения данных и привлекательность низкого энергопотребления не позволят легко ее вытеснить. При наличии этих серьезных преимуществ флэш-память NAND может частично вытеснить DRAM, и эксперты ожидают существенного расширения ее использования в мобильных, корпоративных и клиентских продуктах. По прогнозам аналитиков Gartner, в ближайшие пять лет число используемых накопителей SSD утроится, а емкость SSD возрастет в среднем в четыре-пять раз.

Широкое распространение флэш-памяти приведет к дальнейшему уменьшению ее стоимости (рис. 3), однако миниатюризация устройств флэш-памяти NAND ставит перед системами управления проблему поддержки надежности при сохранении проблемы пониженной износоустойчивости. Для поддержки надежности флэш-памяти NAND масштаба менее 19 нм потребуются новые алгоритмы организации памяти и систем управления ею. Много исследований посвящено сегодня архитектуре памяти, ее надежности, потребляемой мощности и высокоскоростным интерфейсам ввода-вывода, а в ряде проектов проблемы масштабирования двумерной флэш-памяти NAND решаются за счет перехода к трехмерным ячейкам и использования других технологий.

Рис. 3. Стоимость гигабайта флэш-памяти NAND с учетом коэффициента масштабирования. В последние годы исторические темпы масштабирования NAND замедлились (пунктирная красная линия), в то время как спрос на флэш-память NAND подпитывается впечатляющим ростом рынка SSD.
Рис. 3. Стоимость гигабайта флэш-памяти NAND с учетом коэффициента масштабирования. В последние годы исторические темпы масштабирования NAND замедлились (пунктирная красная линия), в то время как спрос на флэш-память NAND подпитывается впечатляющим ростом рынка SSD.

 

Авторы статьи «Какое будущее у технологий резистентной памяти?» (What Lies Ahead for Resistance-Based Memory Technologies?) — Юн-Жон Сон (Yoon-Jong Song), Гитае Жеон (Gitae Jeong), Ин-Гиу Бейк (In-Gyu Baek) и Жундал Чой (Jungdal Choi). Устройства памяти быстро приближаются к технологическому пределу возможности масштабирования, что стимулирует интерес с новым технологиям. В традиционной памяти, такой как DRAM и флэш-память NAND, используется емкость электрического заряда, сохраняемого в ячейке памяти, и при сокращении объема устройства хранения приходится учитывать возможность неконтролируемого падения емкости в ячейке уменьшенного размера. Некоторые исследователи пытаются решить эту проблему путем использования новых архитектур — например, флэш-памяти NAND с вертикальной компоновкой (vertical NAND). Другие разрабатывают новые устройства резистентной памяти, такой как память на основе фазовых переходов (phase-change RAM, PRAM), магнитная память с произвольным доступом (magnetic RAM, MRAM) и резистентная память (resistive RAM, ReRAM). Эти разновидности энергонезависимой памяти быстрее емкостной памяти и легче масштабируются к размерам, меньшим 20 нм. У каждой из новых разновидностей памяти имеется свой сегмент рынка. MRAM демонстрирует наилучшие скоростные характеристики, что делает эту память энергонезависимой альтернативой DRAM, а PRAM и ReRAM быстрее флэш-памяти. Для лучшего понимания возможных вариантов использования памяти производители полупроводниковых устройств должны оценивать ключевые характеристики и существующие технологические процессы этих трех новых видов памяти, обзор возможностей которых приводится в статье.

Статью «Преобразование клиентской системы хранения при использовании энергонезависимой памяти» (The Nonvolatile Memory Transformation of Client Storage) написали Эмбер Хаффман (Amber Huffman) и Дейл Джунманн (Dale Juenemann). Внедрение твердотельных накопителей в серийные компьютерные системы приводит к изменению облика клиентских систем хранения данных: появляются новые интерфейсы с устройствами хранения данных, ориентированные на использование энергонезависимой памяти (nonvolatile memory, NVM), и новые решения кэширования, расширяющие достоинства NVM для более широкого круга пользователей за более доступную цену. На уровне аппаратных интерфейсов интерфейс Serial ATA (SATA) заменяется последовательным интерфейсом PCI Express (PCIe) для обеспечения более высокой производительности. Для раскрытия всего потенциала NVM в индустрии специфицирован программный интерфейс NVM Express (NVMe), оптимизированный для работы с SSD через PCI. Интерфейс NVMe был разработан с нуля с учетом всех особенностей NVM для получения надежного решения с низким уровнем задержки.

На уровне системы хранения исследователи борются с проблемой высокой удельной стоимости (в расчете на гигабайт) флэш-памяти NAND по сравнению с традиционными жесткими дисками. Для достижения производительности, аналогичной производительности SSD, за доступную цену требуются механизмы кэширования, масштабируемые до емкости в несколько гигабайтов.

Статью «Как энергонезависимая память изменит программные системы» (How Persistent Memory Will Change Software Systems) представил Анируд Бадам (Anirudh Badam). Принято считать, что быстрая и энергозависимая основная память адресуется с точностью до байта, а внешняя энергонезависимая память — с точностью до блока. Однако новые технологии энергонезависимой памяти скоро заставят во многом отказаться от этих представлений, в частности, обещается, что энергонезависимая память будет сочетать возможность байтовой адресации и скорость DRAM с энергонезависимостью дисковой и флэш-памяти, обеспечивая при этом большую емкость и лучшую энергоэффективность.

В последнее десятилетие накопители на основе флэш-памяти NAND привели к революционным изменениям в индустрии хранения данных — сокращая на два порядка задержку ввода-вывода по сравнению с магнитными дисками, SSD изменяют способы использования приложениями внешней памяти. Многие прототипы энергонезависимой памяти сулят привести к аналогичным преобразованиям подсистем основной памяти, обеспечивая энергонезависимость и потенциальную емкость, на порядок большую допустимой емкости DRAM, при сохранении того же уровня задержки. Байтовая адресация очень хороша для файловых систем и СУБД, однако для использования свойства энергонезависимости памяти потребуются изменения в управлении виртуальной памятью. Исследователи уже изучают системы основной и внешней памяти, в которых используется энергонезависимая память. Эксперименты в Microsoft Research показывают, что системы, основанные на флэш-памяти, обладают многими недостатками, свойственными и прототипам на энергонезависимой памяти.

Последнюю статью тематической подборки под названием «Реорганизация, сокращение, повторное использование: реструктуризация стека ввода-вывода для будущих систем хранения данных» (Refactor, Reduce, Recycle: Restructuring the I/O Stack for the Future of Storage) написали Стивен Свэнсон (Steven Swanson) и Адриан Колфилд (Adrian Caulfield). Создание в 1956 году первого накопителя на жестких магнитных дисках коренным образом изменило способы хранения данных в компьютерных системах, но с тех пор разработчики были вынуждены бороться с недостаточной производительностью систем хранения данных, которая сильно отстает от производительности основной памяти, процессоров и сетей. Эта реальность оказала сильное влияние на эволюцию компьютерной аппаратуры, системного и прикладного ПО — в частности, низкая производительность аппаратуры хранения данных привела к тому, что производительность программ управления системой хранения (локальных и удаленных файловых систем, драйверов аппаратуры хранения данных, сетей хранения данных, СУБД и систем поддержки виртуальной памяти) несущественна для общей производительности системы. Появление быстрой энергонезависимой памяти, такой как флэш-память и память на основе фазовых переходов (phase-change memory, PCM), полностью изменяет отношение к производительности систем хранения данных — от разработчиков теперь требуется переосмысление роли ПО. Задержки и потребление энергии в системах хранения по вине программного обеспечения станут причиной столь больших расходов, что будут вынуждать переделывать эти системы.

В существующих дисковых системах ПО играет важную роль для повышения производительности — например, тщательное планирование операций доступа к внешней памяти или более интеллектуальное управление буферным пулом баз данных может существенно сократить число и стоимость операций ввода-вывода. Но на выполнение всего этого кода тратятся время и энергия. С другой стороны, для дисковых систем расходы на ПО мизерны по сравнению с расходами на аппаратуру — например, для доступа к четырехкилобайтному блоку стандартного диска на программный стек Linux приходятся всего 0,3% задержки и 0,4% энергопотребления. Однако переход к NVM изменяет положение — при таком же четырехкилобайтном доступе на программное обеспечение приходятся уже 70% задержек и 87,7% энергопотребления. Это означает, что использование существующих программных стеков для работы с внешней памятью при переходе к новым технологиям неэффективно. Требуется переосмыслить роль и структуру программного обеспечения и аппаратуры в новых системах хранения — авторы статьи выявили принципы эффективного использования NVM.

Вне тематической подборки опубликована статья «Анализ бинарного кода» (Binary Code Analysis), авторы которой — Кайпин Лью (Kaiping Liu), Хи Бен Куан Тан (Hee Beng Kuan Tan) и Ксу Чен (Xu Chen). Ключевая задача кибербезопасности состоит в выявлении уязвимостей программного обеспечения и обнаружении вредоносного кода, однако, если исходный текст программы недоступен (всегда — в случае вредоносных программ, обычно — в случае программных систем), исследователи безопасности вынуждены анализировать бинарный код. Методы анализа бинарного кода делятся на статические и динамические. Статический анализ заключается в исследовании программы без ее запуска для получения общих характеристик программы, являющихся ее инвариантными свойствами. Динамический анализ состоит в исследовании программы на основе конкретных трасс выполнения. Проблемой анализа бинарного кода является неразличимость данных и кода. Кроме того, поскольку бинарный код лишен явных абстракций (например, абстракции функции), структуру программы можно вывести только на основе команд передачи управления. Тем не менее исследователи разработали несколько методов анализа бинарного кода, обзору которых и посвящена статья.

До новой встречи, Сергей Кузнецов, kuzloc@ispras.ru .