Какие-либо инструменты статического анализа, которые помогают обнаруживать ошибки процессора? - PullRequest
2 голосов
/ 06 августа 2010

Наша команда много лет управляла базой кода на встроенном процессоре с прямым порядком байтов (10+). Как правило, мы не удосужились рассмотреть проблемы с порядком байтов при разработке и обслуживании этого встроенного кода.

Скоро мы переместим эту кодовую базу с процессора с прямым порядком байтов на процессор с прямым порядком байтов.

Нам любопытно, если у кого-то есть опыт работы с каким-либо конкретным статическим анализом или другими инструментами, которые помогут с этим переходом. Мы нашли этот полезный документ от Intel, который поможет нам начать:

http://www.intel.com/design/intarch/papers/endian.pdf

Спасибо!

Ответы [ 3 ]

3 голосов
/ 09 августа 2010

На самом деле я не упомянул никаких конкретных инструментов в своей статье.Это должно было дать читателю мысли о том, как подойти к проблеме.Общие правила, изложенные в документе Intel, хороши, однако они очень универсальны и, следовательно, могут упустить множество конкретных вещей, которые могут быть применены при пользовательских проверках для кодовой базы отдельного клиента и стандартных правил кодирования.Эти проверки в документе Intel (в основном) могут быть реализованы в Статическом анализе SDK Coverity и Checker Studio Klocwork.Я уверен, что DMS Semantic Designs также будет чрезвычайно эффективен в этом обнаружении :).Расширяемость до инструмента статического анализа очень важна: проблемы кодирования могут быть очень тонкими, и любое готовое обнаружение «из коробки» потенциально может быть очень шумным.Желательно также иметь анализ, чувствительный к потоку / пути, так как обработка с прямым порядком байтов может / часто защищается с помощью средств защиты / условий, основанных (возможно) на статически анализируемых / обнаруживаемых условиях--carl

3 голосов
/ 08 августа 2010

Коллега из Code Integrity Solutions, Карл Эк, недавно написал статью «Обнаружение проблем с порядком байтов с помощью инструментов статического анализа» для доктора Доббса: http://www.drdobbs.com/windows/226000073.

1 голос
/ 27 октября 2010

Klocwork представила анализ Endian в своем последнем выпуске (раскрытие: я работаю там). Полный межпроцедурный анализ для обеспечения наличия точек трансформации при отправке / получении из / в сеть или хост. Технический технический документ, который объясняет это более подробно.

http://www.klocwork.com/resources/endian-deadlock-multicore-challenges/

Удачи! -Brendan

...