Интернет магазин китайских планшетных компьютеров



Компьютеры - SourceAnalyzer - Функционал

11 мая 2011


Оглавление:
1. SourceAnalyzer
2. Функционал



  • Разбор исходного кода и построение графа вызовов функций в нескольких форматах:
    • Внутренний — удобный для работы программы
    • Текстовый — предназначенный для изучения графа вызова человеком в текстовом редакторе
    • Графический — визуализация графа вызовов посредством использования языка «dot» и представления в формате SVG
  • Поиск дочерних и родительских функций.
  • Объединение графов вызовов функций получаемых при «раздельной компиляции» отдельных файлов с исходниками.
  • Обновление графов вызовов функций.

Применение

Проблема рационального использования ресурсов стоит перед человеком не только в области добычи природных ископаемых. С развитием технологий появилось понятие «машинное время», то есть то время, в которое компьютер выполняет некоторую полезную задачу. Простой машин может обернуться серьезными экономическими потерями. Еще более ценно рабочее время человека, в нашем случае программиста. В идеале программист должен постоянно писать код, причем сразу правильный. Но это невозможно, поэтому тестирование программных продуктов очень важно. С точки зрения работодателя тестирование это потери как человеко-часов, так и машинного времени, которое можно было бы использовать иначе. Тестирование больших продуктов может занимать очень много времени. Очевидно, что необходимо это время сокращать. Одно из существующих решений данной проблемы состоит в том, что тестировать надо лишь то, что было так или иначе затронуто изменениями. Например, программист изменил функцию А. Ее тестировать надо обязательно. Но эту функцию используют другие функции, и, значит, тестировать надо и их. Даже если таких функций много, объем тестирования сократится. Остается только получить эти зависимости. Для этого можно построить полный граф вызовов функций и выделить из него только те, что были затронуты изменениями. А потом запустить только нужные тесты. SourceAnalyzer может быть успешно использован для:

  • Построение графа вызовов функций
  • Анализ межмодульных зависимостей


Просмотров: 1949


<<<