CBI и сообщество
Содержание:
1. Принципы работы;
2. Установка, запуск и работа;
3.CBI и сообщество (Вы читаете данный раздел).
Целью проекта CBI декларируется привлечение широких масс пользователей к поиску ошибок в ПО. Однако нельзя сказать, что за прошедшие годы проект приобрел массовую популярность. И проблема даже не в том, что инструментированные программы запускают не очень много людей; самое главное препятствие к популяризации проекта - отсутствие разработчиков, которые бы инструментировали свои приложения, а затем анализировали собираемые данные. При наличии подобных людей вопрос увеличения охвата пользователей можно было бы решить достаточно просто.
Например, разработчики дистрибутивов могли бы помещать в альфа- или бета-версии своих продуктов пакеты, инструментированные CBI. Ведь предварительные версии дистрибутивов подвергаются тщательному тестированию, работа входящих в них приложений проверяется многими пользователями по различным сценариям, что позволяет выявить существенную долю проблем. При этом никогда не помешает дополнительная автоматизация, которая помогла бы ускорить устранение ошибок, что в свою очередь способствовало бы приближению срока выпуска финальной версии дистрибутива или хотя бы сокращению числа известных ошибок.
Однако сейчас единственный источник приложений, инструментированных с помощью CBI, - это сайт самого проекта. Здесь предлагаются всего девять приложений, предназначенных для 32-битной версии Fedora. Прямо скажем, охват невелик - современные дистрибутивы содержат тысячи приложений и библиотек. Но стоит ли ожидать большего охвата от самих авторов CBI? Ведь для полноценной работы с трассами необходимо хорошо ориентироваться в коде исследуемого приложения; да и не под силу небольшой группе людей анализировать трассы тысяч программ.
В общем, проекту CBI не помешало бы участие разработчиков приложений и дистрибутивов. В чем же загвоздка? Код CBI открыт, так что можно самостоятельно собрать все нужные программы и даже развернуть собственное хранилище трасс. Процесс инструментирования программ далек от идеала и поддерживает только программы на языке C, но его можно освоить, и на достаточно большом количестве программ он уже успешно работает.
Основная проблема связана с анализом трасс. Трассы сами по себе не указывают на ошибку - они всего лишь могут дать ключи к решению проблемы, но этими ключами еще надо уметь воспользоваться.
Помимо знакомства с кодом программы анализ трасс требует хорошего понимания принципов работы CBI - иначе никакой особой пользы, кроме последовательности вызова функций, повлекшей к появлению ошибки, извлечь не получится. Однако эту информацию можно получить и с помощью стандартных средств отладки. В то же время не очень понятно, насколько полезной окажутся дополнительные данные, полученные от CBI. Конечно, некоторое количество ошибок авторы проекта обнаружили, но нельзя сказать, что они осуществили какой-то прорыв в области отладки.
Наконец, детальный анализ трасс - занятие кропотливое и занимает достаточно много времени. Наверное, проанализировав сотни трасс одной программы, можно приноровиться делать все гораздо быстрее, но поможет ли это при анализе трасс других приложений -сложный вопрос. Согласитесь, не очень хочется тратить недели на изучение инструментария, а потом днями сидеть и разбирать трассы, чтобы в итоге за год найти первопричину двух-трех ошибок. Вполне возможно, гораздо больше ошибок можно было бы выявить традиционными методами.
Так что сегодня CBI стоит рассматривать скорее как еще один вспомогательный инструмент, а не как основное средство отладки и поиска ошибок. Определенная польза от CBI несомненно есть, но в целом этот инструмент достаточно сложен в использовании. Энтузиасты могут с ним поэкспериментировать, но к массовому использованию он не готов. И большой вопрос, будет ли готов когда-нибудь, поскольку никаких подвижек в этом направлении не наблюдается.
1. Принципы работы;
2. Установка, запуск и работа;
3.
Целью проекта CBI декларируется привлечение широких масс пользователей к поиску ошибок в ПО. Однако нельзя сказать, что за прошедшие годы проект приобрел массовую популярность. И проблема даже не в том, что инструментированные программы запускают не очень много людей; самое главное препятствие к популяризации проекта - отсутствие разработчиков, которые бы инструментировали свои приложения, а затем анализировали собираемые данные. При наличии подобных людей вопрос увеличения охвата пользователей можно было бы решить достаточно просто.
Например, разработчики дистрибутивов могли бы помещать в альфа- или бета-версии своих продуктов пакеты, инструментированные CBI. Ведь предварительные версии дистрибутивов подвергаются тщательному тестированию, работа входящих в них приложений проверяется многими пользователями по различным сценариям, что позволяет выявить существенную долю проблем. При этом никогда не помешает дополнительная автоматизация, которая помогла бы ускорить устранение ошибок, что в свою очередь способствовало бы приближению срока выпуска финальной версии дистрибутива или хотя бы сокращению числа известных ошибок.
Однако сейчас единственный источник приложений, инструментированных с помощью CBI, - это сайт самого проекта. Здесь предлагаются всего девять приложений, предназначенных для 32-битной версии Fedora. Прямо скажем, охват невелик - современные дистрибутивы содержат тысячи приложений и библиотек. Но стоит ли ожидать большего охвата от самих авторов CBI? Ведь для полноценной работы с трассами необходимо хорошо ориентироваться в коде исследуемого приложения; да и не под силу небольшой группе людей анализировать трассы тысяч программ.
В общем, проекту CBI не помешало бы участие разработчиков приложений и дистрибутивов. В чем же загвоздка? Код CBI открыт, так что можно самостоятельно собрать все нужные программы и даже развернуть собственное хранилище трасс. Процесс инструментирования программ далек от идеала и поддерживает только программы на языке C, но его можно освоить, и на достаточно большом количестве программ он уже успешно работает.
Основная проблема связана с анализом трасс. Трассы сами по себе не указывают на ошибку - они всего лишь могут дать ключи к решению проблемы, но этими ключами еще надо уметь воспользоваться.
Помимо знакомства с кодом программы анализ трасс требует хорошего понимания принципов работы CBI - иначе никакой особой пользы, кроме последовательности вызова функций, повлекшей к появлению ошибки, извлечь не получится. Однако эту информацию можно получить и с помощью стандартных средств отладки. В то же время не очень понятно, насколько полезной окажутся дополнительные данные, полученные от CBI. Конечно, некоторое количество ошибок авторы проекта обнаружили, но нельзя сказать, что они осуществили какой-то прорыв в области отладки.
Наконец, детальный анализ трасс - занятие кропотливое и занимает достаточно много времени. Наверное, проанализировав сотни трасс одной программы, можно приноровиться делать все гораздо быстрее, но поможет ли это при анализе трасс других приложений -сложный вопрос. Согласитесь, не очень хочется тратить недели на изучение инструментария, а потом днями сидеть и разбирать трассы, чтобы в итоге за год найти первопричину двух-трех ошибок. Вполне возможно, гораздо больше ошибок можно было бы выявить традиционными методами.
Так что сегодня CBI стоит рассматривать скорее как еще один вспомогательный инструмент, а не как основное средство отладки и поиска ошибок. Определенная польза от CBI несомненно есть, но в целом этот инструмент достаточно сложен в использовании. Энтузиасты могут с ним поэкспериментировать, но к массовому использованию он не готов. И большой вопрос, будет ли готов когда-нибудь, поскольку никаких подвижек в этом направлении не наблюдается.