Эти проверки помогают вам подготовить свою модель к анализу Simulink® Design Verifier™. Когда вы осуществляете проверку Simulink Design Verifier, Model Advisor проверяет лицензию Simulink Design Verifier.
Для получения дополнительной информации о Model Advisor смотрите Осуществленные Проверки Model Advisor (Simulink) и Автоматизируйте Выполнение Проверки Model Advisor (Simulink Check).
ID проверки: mathworks.sldv.compatibility
Идентифицируйте элементы, которые не поддерживает анализ Simulink Design Verifier.
Эта проверка оценивает вашу модель для совместимости с Simulink Design Verifier.
Условие | Рекомендуемое действие |
---|---|
Несовместимый |
Избегайте использования следующих неподдерживаемых программных функций или блоков Simulink в компоненте модели или компоненте модели, который вы хотите анализировать: |
Частично совместимый |
|
Совместимый | Simulink Design Verifier может анализировать вашу модель. |
ID проверки: mathworks.sldv.deadlogic
Идентифицируйте логику, которая остается неактивной в процессе моделирования.
Эта проверка идентифицирует фрагменты вашей модели, которые остаются неактивными в процессе моделирования.
Можно запустить более детальный анализ, который идентифицирует и мертвую логику и активную логику с помощью поиска ошибок проектирования Simulink Design Verifier. Для получения дополнительной информации смотрите, Обнаруживают Мертвую логику, Вызванную Неправильным Значением.
В соответствии с рекомендациями этих увеличений проверки вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений, а также код, который выполняет CERT C и стандарты CWE
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. См.:
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Мертвая логика найдена в модели | Simulink Design Verifier доказал, что они решение и результаты условия не могут произойти и являются мертвой логикой в модели. Мертвая логика может также быть побочным эффектом заданных ограничений на параметры или задала минимальные и максимальные ограничения на входные порты. В редких случаях мертвая логика может следовать из приближений, выполняемых Simulink Design Verifier. Возможно, что существуют цели, которые не решил этот анализ. Чтобы расширить результаты этого анализа, используйте поиск ошибок проектирования Simulink Design Verifier, чтобы также идентифицировать активную логику. Из Редактора Simulink выберите Analysis> Design Verifier> Options. В панели Design Error Detection выберите Dead logic и Identify active logic. |
Мертвая логика, не найденная в модели | Simulink Design Verifier не нашел мертвую логику в модели. Возможно, что существуют цели, которые не решил этот анализ. Чтобы расширить результаты этого анализа, используйте поиск ошибок проектирования Simulink Design Verifier, чтобы также идентифицировать активную логику. Из Редактора Simulink выберите Analysis> Design Verifier> Options. В панели Design Error Detection выберите Dead logic и Identify active logic. |
MISRA C:2012: правило 2.1
CERT C, MSC07-C
CWE, CWE-561
Осуществите проверки Model Advisor (Simulink)
Безопасные стандарты кодирования (Embedded Coder)
ID проверки: mathworks.sldv.arraybounds
Обнаруживает операции что доступ вне границ индекса массива
Эта проверка обнаруживает экземпляры из связанного доступа к массиву в Simulink Design Verifier.
В соответствии с рекомендациями этих увеличений проверки вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений, а также код, который выполняет CERT C, CWE, стандарты ISO/IEC TS 17961.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Из связанного доступа к массиву, найденного в модели |
Чтобы просмотреть условия, которые вызывают из связанного доступа к массиву, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
MISRA C:2012: правило 18.1
ISO/IEC TS 17961: 2013, invptr
CERT C, ARR30-C
CWE, CWE-118
Безопасные стандарты кодирования (Embedded Coder)
ID проверки: mathworks.sldv.divbyzero
Обнаруживает ошибки деления на нуль в вашей модели
Эта проверка идентифицирует операции в вашей модели то деление на нуль причины ошибки.
В соответствии с рекомендациями этих увеличений проверки вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений, а также код, который выполняет CERT C, CWE, стандарты ISO/IEC TS 17961.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Деление на нуль найдено в модели |
Чтобы просмотреть условия, которые вызывают деление на нуль, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
MISRA C:2012: директива 4.1
ISO/IEC TS 17961: 2013, дайвер
CERT C, INT33-C и FLP03-C
CWE, CWE-369
Безопасные стандарты кодирования (Embedded Coder)
Обнаружьте ошибки целочисленного переполнения и деления на нуль
ID проверки: mathworks.sldv.integeroverflow
Обнаруживает ошибки переполнения данных целочисленной или фиксированной точки в вашей модели
Эта проверка идентифицирует операции, которые превышают область значений типа данных для операций целочисленной или фиксированной точки.
В соответствии с рекомендациями этих увеличений проверки вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений, а также код, который выполняет CERT C, CWE, стандарты ISO/IEC TS 17961.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Целочисленное переполнение найдено в модели |
Чтобы просмотреть условия, которые вызывают целочисленное переполнение, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
MISRA C:2012: директива 4.1
ISO/IEC TS 17961: 2013, intoflow
CERT C, INT30-C и INT32-C
CWE, CWE-190
Безопасные стандарты кодирования (Embedded Coder)
Обнаружьте ошибки целочисленного переполнения и деления на нуль
ID проверки: mathworks.sldv.infnan
Обнаруживает Неличный и NaN значения с плавающей точкой в вашей модели
Эта проверка обнаруживает случаи неличных и NaN значения с плавающей точкой в вашей модели.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Неличный и NaN значения с плавающей точкой найдены в модели | Чтобы просмотреть условия, которые вызывают вхождение неличных и NaN значения с плавающей точкой, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
ID проверки: mathworks.sldv.subnormal
Обнаруживает субнормальные значения с плавающей точкой в вашей модели
Эта проверка обнаруживает случаи субнормальных значений с плавающей точкой в вашей модели.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Субнормальные значения с плавающей точкой найдены в модели | Чтобы просмотреть условия, которые вызывают вхождение субнормальных значений с плавающей точкой, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
ID проверки: mathworks.sldv.minmax
Обнаружьте сигналы, которые превышают заданные минимальные и максимальные значения
Этот анализ проверяет заданные минимальные и максимальные значения (области значений проекта) на промежуточных сигналах в модели и на выходных портах. Если анализ обнаруживает, что сигнал превышает область значений проекта, результаты идентифицируют, где в модели ошибки произошли.
В соответствии с рекомендациями этих увеличений проверки вероятность генерации MISRA C:2012 совместимый код для встраиваемых приложений, а также код, который выполняет CERT C и стандарты CWE.
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. Смотрите
Также смотрите Несовместимости Указателя с Автоматическим Блокированием. |
Нарушение минимума и/или максимума найдено в модели |
Чтобы просмотреть условия, которые вызывают нарушение, создайте модель тестовой обвязки. Когда вы симулируете обвязку, входные параметры реплицируют ошибку. Нажмите View test case в отчете Model Advisor. |
MISRA C:2012: директива 4.1
CERT C, API00-C
CWE, CWE-628
Безопасные стандарты кодирования (Embedded Coder)
Проверяйте на заданные нарушения минимального и максимального значения
ID проверки: mathworks.sldv.dsmaccessviolations
Обнаружьте нарушения прав доступа хранилища данных в своей модели.
Эта проверка обнаруживает эти нарушения прав доступа хранилища данных:
Чтение перед записью
Запись после чтения
Запись после записи
Результат | Рекомендуемое действие |
---|---|
Не пройдено, несовместимая модель | Разрешите несовместимость модели. См.:
|
Нарушения прав доступа хранилища данных найдены | В отчете Model Advisor нажмите View test case. Программное обеспечение создает модель тестовой обвязки, и блок Signal Builder отображает тест, который реплицирует ошибку. |