Для получения триального ключа
заполните форму ниже
Team License (базовая версия)
Enterprise License (расширенная версия)
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Бесплатная лицензия PVS-Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

>
>
PVS-Studio - дополнительная страховка м…

PVS-Studio - дополнительная страховка медицинского программного обеспечения

20 Мар 2018

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

0564_Medic_ru/image1.png

После моей публикации "Для повышения надежности и безопасности банковского программного обеспечения используйте PVS-Studio" наш список клиентов пополнился несколькими компаниями, создающими соответствующий софт. Статья неожиданно получилась удачной и эффективной. Ни я, ни коллеги не ожидали, что от неё будет такая отдача. Видимо статьи действуют намного сильнее, когда я рассуждаю не про ошибки вообще, а говорю про определенный класс программного обеспечения. Теперь меня заставляют написать статьи, охватывающие другие сферы программного обеспечения.

Эта статья ориентирована на команды разработчиков, создающих программы для медицинского оборудования. Надеюсь, они не останутся равнодушными и проверят свой код с помощью PVS-Studio. Надеюсь также, что ряд из них после этого пополнит список наших клиентов по направлению "Медицина".

0564_Medic_ru/image2.png

Давайте вспомним два известных случая, когда ошибки в программах, связанных с медициной, стали поводом для печальных новостей.

0564_Medic_ru/image3.png

Во-первых, это череда трагических событий, к которым привели ошибки в аппарате лучевой терапии Therac-25. С июня 1985 года по январь 1987 года этот аппарат стал причиной как минимум шести передозировок радиации, некоторые пациенты получили дозы в десятки тысяч рад. Как минимум двое умерли непосредственно от передозировок. Причиной трагедий были ошибки в программном обеспечении аппарата, а принципиальной проблемой была неверная стратегия обеспечения безопасности.

0564_Medic_ru/image5.png

Во-вторых, ошибки в программном обеспечении могут причинять вред и косвенно. Например, баги в программном обеспечении для МРТ-сканеров ставят под сомнение 40 000 научных исследований. В течение нескольких десятилетий нейробиологи и когнитивные психологи использовали для анализа данных фМРТ статистические программы AFNI, SPM и FSL. Как выяснилось, из-за некорректных алгоритмов эти программы могут возвращать до 70% ложноположительных результатов вместо предполагаемых 5%.

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

Причем, разработчик несёт ответственность не только за собственный код, но и за код используемых библиотек. Совершенно реальна ситуация, когда из-за ошибки в third-party библиотеке возникнут артефакты при создании изображения/видео и это внесёт путаницу при постановке диагноза.

Это не абстрактная теоретическая проблема. Я сам сталкивался с ситуацией, когда при переносе программы на 64-битную систему начала проявляться ошибка, приводящая к неправильной обработке МРТ-данных. К счастью, ошибка проявляла себя очень явно: отсутствовал большой фрагмент изображения. Однако ошибка может быть не столь заметной и заключаться в неправильном отображении каких-то мелких деталей, и обнаружить её будет гораздо сложнее.

0564_Medic_ru/image6.png

Подробнее про эту ошибку я писал в статье "Как 10 лет назад начинался проект PVS-Studio". Именно эта и некоторые другие 64-битные ошибки легли в основу создания инструмента Viva64, который затем превратился в статический анализатор кода PVS-Studio.

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

0564_Medic_ru/image7.png

Я фантазёр и такие ошибки допускают только студенты в курсовых работах? Ха! Прошу уделить немного времени и ознакомиться с моей статьёй "Зло живёт в функциях сравнения". После неё вы начнёте разделять мою озабоченность.

Я предлагаю всем читающим начать использовать статический анализатор кода PVS-Studio. Да, этот анализатор, как и любой другой инструмент, не гарантирует отсутствие в программах ошибок. Однако он станет дополнительной линей обороны на поле сражения с багами. Он поможет обнаружить большое количество ошибок на самых ранних этапах разработки и, возможно, поможет сохранить чьё-то здоровье.

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

И последний вопрос, на который я дам ответ. Почему я не написал эту статью сразу после статьи про безопасность банковского ПО? Разработка программного кода для медицинской сферы - это часто программирование различных микроконтроллеров. Я ждал, когда наш анализатор будет адаптирован к анализу кода для встраиваемых устройств. И теперь у меня появился повод: "Статический анализатор кода PVS-Studio 6.22 адаптирован для ARM-компиляторов (Keil, IAR)".

Спасибо всем за внимание и предлагаю скачать и начать использовать анализатор кода PVS--Studio. Полезные ссылки:

  • Страница с описанием PVS-Studio
  • Скачать PVS-Studio для Windows
  • Скачать PVS-Studio для Linux
  • Примечание: скоро станет доступна версия PVS-Studio для macOS
  • Документация. Как запустить PVS-Studio в Linux
  • Примеры проверки различных открытых проектов
  • Пишите нам в поддержку по любым вопросам, мы быстро отвечаем и поможем настроить анализатор для проверки ваших проектов

Популярные статьи по теме
Комментарии в коде как вид искусства

Дата: 04 Май 2022

Автор: Сергей Хренов

Приветствую всех программистов, а также сочувствующих. Кто из нас хотя бы раз в жизни не оставлял комментарии в коде? Был ли это ваш код, а может, чужой? Что за комментарии вы написали: полезные или …
Visual Studio 2022 стильно и свежо. История о её поддержке в PVS-Studio

Дата: 15 Фев 2022

Автор: Николай Миронов

Кажется, анонс Visual Studio 2022 был только недавно, и вот она уже вышла. Это означало ровно одно – поддержать данную IDE нужно в ближайшем релизе PVS-Studio. О том, с какими сложностями пришлось ст…
Лучшие срабатывания статического анализатора

Дата: 29 Окт 2021

Автор: Максим Звягинцев

У всех, кто запускал статический анализатор в первый раз на большом проекте, был небольшой шок по поводу сотен, тысяч или даже десятков тысяч предупреждений. Как-то грустно становится после такого. Т…
Зачем нужна техническая поддержка и как в ней не выгореть?

Дата: 01 Сен 2021

Автор: Николай Миронов

Не всем нравится работать в поддержке. Огромное количество людей выгорает на ней. Так может не стоит вообще её иметь? Какую выгоду она несёт? Можно ли как-то не выгорать от поддержки? Попробуем найти…
Как делался новый дизайн сайта PVS-Studio

Дата: 04 Июн 2021

Автор: Инна Пристягина

Сайту PVS-Studio в этом году исполнится 15 лет. Это солидный возраст для любого интернет-ресурса. Далёкий 2006-й в России был признан годом гуманитарных наук. В июне появилась никому не знакомая тогд…

Комментарии (0)

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