Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| mdd:predictingmethodcrashes [2026/08/29 07:53] – Bulk sync migration user | mdd:predictingmethodcrashes [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Predicting Method Crashes with Bytecode Operations ====== | ||
| + | Sunghun Kim, Thomas Zimmermann, Rahul Premraj, Nicolas Bettenburg, and Shivkumar Shivaji. 2013. Predicting method crashes with bytecode operations. In Proceedings of the 6th India Software Engineering Conference (ISEC '13). ACM, New York, NY, USA, 3-12. DOI=http:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Описание ===== | ||
| + | |||
| + | Современные системы мониторинга работы процессов* затрачивают большие вычислительные мощности. Например, | ||
| + | Корнем зла производительности систем мониторинга является анализ всего программного продукта целиком. Сокращение области потенциальной опасности увеличило бы скорость работы таких систем на порядок. | ||
| + | Авторы статьи исследовали возможность определения crash-prone(падение подобным) и non-crash-prone(без падений подобным) методов по байткоду. Проверка результата на байткодах AspectJ[2] и Eclipse[3] показала, | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | В данной работе исследуется возможность предсказания методов программы, | ||
| + | |||
| + | В качестве подопытных использовались последовательности операций в байткоде программ. Кажется интуитивным, | ||
| + | |||
| + | ===== Методы, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Рисунок 1(Figure 1) показывает в общих чертах построение классификатора для предсказания crash-prone и non-crash-prone методов. Этап А изображает, | ||
| + | |||
| + | Stake trace содержит множество фреймов(frame) отображающих детали падения. Авторы статьи считали упавшим методом тот, который находился в верхушке списка вызовов(call stack). Для рисунка 2(figure 2) таким методом является readClassInfo. | ||
| + | {{ : | ||
| + | |||
| + | Crash-prone методом считался тот, который упал хотя бы раз. Для AspectJ получилось 209 уникальных методов, | ||
| + | |||
| + | ===== Извлечение фич ===== | ||
| + | |||
| + | Пункт B рисунка 1 соответствует извлечению фич. Первым шагом на этом пути является определение кода упавшего метода. Тривиальная на первый взгляд задача является недооценённой. Проблемами на пути к её решению являются большое количество версий продуктов, | ||
| + | |||
| + | Для извлечения фич из найденных участков байткода строились n-граммы из последовательностей определенной длины базовых блоков. Базовым блоком считалась последовательность операторов байткода, | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== Ссылки ===== | ||
| + | |||
| + | [1] http:// | ||
| + | |||
| + | [2] https:// | ||
| + | |||
| + | [3] http:// | ||