SOUP означает программное обеспечение неизвестной (или неопределенной ) родословной (или происхождения ), и является термином, часто используемым в контексте критически важных для безопасности и связанных с безопасностью систем, таких как медицинское программное обеспечение . SOUP — это программное обеспечение, которое не было разработано с использованием известного процесса или методологии разработки программного обеспечения , или которое имеет неизвестные или не имеет никаких свойств, связанных с безопасностью. [1]
Часто инженерные проекты сталкиваются с экономическим или иным давлением, вынуждающим внедрять SOUP в свои высокоинтегрированные системы . [ необходима ссылка ]
Проблема с SOUP заключается в том, что на него нельзя положиться при выполнении функций, связанных с безопасностью, и он может помешать другому программному обеспечению, оборудованию или прошивке выполнять их функции, связанные с безопасностью. Таким образом, проблема SOUP заключается в изоляции частей системы, связанных с безопасностью, от SOUP и его нежелательных эффектов. [2]
SOUP теперь является определенным термином («Программное обеспечение неизвестного происхождения») в некоторых правилах по медицинским устройствам через стандарт IEC 62304:2006 «Программное обеспечение медицинских устройств – процессы жизненного цикла программного обеспечения» . Использование SOUP не запрещено, но необходимы дополнительные элементы управления и необходимо учитывать риск. Конкретные практики, которые следует соблюдать при использовании SOUP как части медицинского устройства , могут включать обзор процесса разработки программного обеспечения поставщика, использование статического анализа программы поставщиком, артефакты проектирования и руководство по безопасности. [3]