Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Господа, есть у кого что сказать по этому поводу? Я имею в виду, практическое применение вот этих волшебных слов на предприятии. Чтобы было понятно, о чем я спрашиваю, вот ссылка http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf "Методы верификации программного обеспечения" p.s. я считаю, что это в целом очередное словоблудие. А вот на некоторых предприятиях для начальников ИТ это уже головная боль, в том смысле, что сверху по голове стучат этой верификацией, а как это правильно оформляется - х.з. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 18:39 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Целиком трактат не асилил, полистал немного, но так понимаю что речь о тестировании кода. ИМХО - надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 19:34 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kdv, на какого ни будь родственника открывается фирма, которая занимается верификацией кода по надуманным правилам, которые естественно никому не сообщаются, работников айти-отдела обязывают все итоговые патчи проводить через неё для получения ЦУ, вот и всё. Естественно, ответственности эта фирма не несёт никакой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 19:39 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), ничего не понял. Точнее понял что надо формальности соблюсти в какой-то бюрократии. ИМХО методики прикрывания жоп руководителей ИТ отделов не тема для данного форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 19:47 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Dima T, а что непонятного? сначала спускают что должна быть какая-то фигня, потом скажут что вы нефига не можете и придётся завести вот такой контрактик и "парни вам всё подробно разжуют". всем деньги нужны, но абсолютно согласен, коррупционные схемы и им подобные лучше обсуждать не в этой ветке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2018, 23:46 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kdvГоспода, есть у кого что сказать по этому поводу? Я имею в виду, практическое применение вот этих волшебных слов на предприятии. Чтобы было понятно, о чем я спрашиваю, вот ссылка http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf "Методы верификации программного обеспечения" p.s. я считаю, что это в целом очередное словоблудие. А вот на некоторых предприятиях для начальников ИТ это уже головная боль, в том смысле, что сверху по голове стучат этой верификацией, а как это правильно оформляется - х.з. Документ хороший. Годный. Несколько улыбнула отсылка к Rational Rose но в целом ок. О чем это все. Всё я нечитал. Нет времени и по диагонали. Очень часто кастомер сам требует подключения внешних инструментов верификации. В основном это требования Security и Compliance. Для банковского аутсорсинга это требование. Часто issue от SonarQube или Veracode класса security имеет статус блокера и требует срочного решения. Поэтому вопрос - "что есть сказать" это вопрос вчерашнего дня. Вопрос сегодняшний - это как это использовать. И как правильно использовать с выгодой для себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 00:27 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kdvГоспода, есть у кого что сказать по этому поводу? Я имею в виду, практическое применение вот этих волшебных слов на предприятии.Просмотрел список литературы. Ни одной нормативной ссылки. Таким образом, в работе изложено частное мнение автора, которое ни к чему не обязывает, ни от чего не защищает и ничего не даёт. P.S. Хотя ссылка на работу Маркова, опубликованную в известиях императорской академии наук в 1907 году, это - да, это внушает и демонстрирует высокий уровень эрудиции и, вероятно, образованности автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 02:15 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
maytonВ основном это требования Security и Compliance. Для банковского аутсорсинга это требование. Часто issue от SonarQube или Veracode класса security имеет статус блокера и требует срочного решения.При всём уважении, но, наверное, статус такой не потому, что эти инструменты делали клёвые парни, а потому, что эти инструменты соответствуют каким-то спецификация каких-нибудь PCI-DSS (или как их там) и, весьма вероятно, прошли требуемую сертификацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 02:19 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonВ основном это требования Security и Compliance. Для банковского аутсорсинга это требование. Часто issue от SonarQube или Veracode класса security имеет статус блокера и требует срочного решения.При всём уважении, но, наверное, статус такой не потому, что эти инструменты делали клёвые парни, а потому, что эти инструменты соответствуют каким-то спецификация каких-нибудь PCI-DSS (или как их там) и, весьма вероятно, прошли требуемую сертификацию? 1) Не только карточных продуктов но и банковской деятельности в целом. Это ведь не только карточки. 2) Насчет конкретных ISO и прочих документов я точно не скажу. Надо искать. Скорее всего ISO содержит общие слова касающиеся организации процессов. А Sonar и Veracode - это уже конкретные программные продукты которые где-то в стеке разработки решают какой-то один пункт из организации процессов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:29 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Разумеется, ISO, как и любой стандарт, "содержит общие слова". "Но есть ньюанс". Если об организации известно, что она сертифицирована по ISO-/ГОСТ-XXXX, то "все заинтересованные" прекрасно понимают, о чём идёт речь. Если же будет заявлено, что "мы проводим верификацию кода по методичке классного парня", то, в лучшем случае, окружающие недоумённо пожмут плечами. Типа, рады за вас и всё такое. Следовательно, если владельцу бизнеса или архитектору проекта вожжа под хвост попала, то в правилах разработки может быть прописана разная ерунда разной степени обоснованности. Будет ли толк от этих прописей - вопрос совершенно отдельный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 10:00 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Речь идёт не о толке а скорее о минимизации рисков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 10:04 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Риски бывают разные. От самых чувствительных (административный и уголовный кодексы) частное мнение какого-то перца - ни разу не защищает. P.S. Давным-давно юрист конторы в которой я работал сказала примерно следующее: "Комментарии в Консультанте/Гаранте вещь, конечно, хорошая, но в суд надо идти с НПА, а не с частным мнением (даже) профессионального юриста". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 10:11 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
почитайте лучше это: 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 11:01 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
tip78почитайте лучше это: 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками улыбнуло, в таких рамках умрёт практически любой кровавый интерпрайз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 11:28 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)tip78почитайте лучше это: 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками улыбнуло, в таких рамках умрёт практически любой кровавый интерпрайз когда ориентируешься на что-то ГЛОБАЛЬНО крутое, то все попутные мелочи становятся гораздо проще например, поставишь цель - $ярд и как-то уже пофиг, айфон у тебя или xiaomi. Кеды или сапоги из крокодила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 23:24 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)tip78почитайте лучше это: 10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками улыбнуло, в таких рамках умрёт практически любой кровавый интерпрайз Я-бы откоментил некоторые выдержки. Нужно сильно ограничивать ветвления и условия. Не использовать goto, setjmp или longjmp, не использовать прямую или косвенную рекурсию. Я привык использовать рекурсию при работе с файловой системой и древовидными структурами данных. Не совсем понятно как можно не использовать рекурсию. Возможножно NASA подразумевает под этим некий узкий круг задач. А если трансформировать рекурсию в FSM с очередью (Queue) то вряд-ли это увеличит надежность ПО. Ну .. с точки зрения цены сопровождения такого кода. Любая функция должна уместиться на одном стандартном листе бумаги, одно выражение на строку и одна строка на определение. Обычно это означает, что функция не должна быть длиннее 60 строк. 60 строк для чего? Ассемблер что-ли? Я-бы уменьшил до 7-14 строк если речь идет о ЯВУ. Должно быть не более двух ассертов на функцию. Ассерты используются для проверки аномальных условий, которые не могут произойти при реальном запуске. Ассерты не должны содержать сайд-эффектов, и по формату должны быть Boolean-тестами. Когда ассерт падает, должно запуститься специальное действие по восстановлению, например, возврат условия падения обратно в вызывающую функцию. Если проверяющая программа доказывает, что ассерт никогда не фейлится или никогда не удовлетворяется, то правило считается нарушенным. (Нельзя обойти это правило с помощью бессмысленных “assert(true)”). Здесь - непонятно. Если ассерт никогда не фейлится то я считаю что все ОК и оставляю его в покое. Пускай себе будет в отладочной версии кода. Или в тексте не совсем корректный перевод. Использование указателей должно быть ограничено. Допустимо не больше одного уровня разыменования. Операторы разыменования не должны быть скрыты в макро определениях или внутри typedef. Указатели на функции запрещены. Почему указатели не функции запрещены? Это полезный механизм полиморфизма. Или они его принципиально не используют? На что заменяют? (Речь идет о Си). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 23:43 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
mayton, тема real-time программ уже разжёвывалась же несколько раз. никаких указателей, никаких динамических выделений памяти, никакой рекурсии только то, для чего можно статически высчитать время выполнения и затраченные ресурсы. при таком раскладе вся даже чуть-чуть "оптимистично-настроенная логика" идёт лесом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 00:21 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
maytonДолжно быть не более двух ассертов на функцию. Ассерты используются для проверки аномальных условий, которые не могут произойти при реальном запуске. Ассерты не должны содержать сайд-эффектов, и по формату должны быть Boolean-тестами. Когда ассерт падает, должно запуститься специальное действие по восстановлению, например, возврат условия падения обратно в вызывающую функцию. Если проверяющая программа доказывает, что ассерт никогда не фейлится или никогда не удовлетворяется, то правило считается нарушенным. (Нельзя обойти это правило с помощью бессмысленных “assert(true)”). Здесь - непонятно. Если ассерт никогда не фейлится то я считаю что все ОК и оставляю его в покое. Пускай себе будет в отладочной версии кода. Или в тексте не совсем корректный перевод. Если именно статический анализатор может именно доказать , что ассерт никогда не фейлится - то это лишний ассерт - в нем либо константа, либо перед ним всегда выполняется такая же проверка (или более обобщенная проверка включающая данную проверку). Плюс тут перевод неверный, правильный начинается с: Правило 5: Плотность assert-ов в коде должна быть не менее двух assert-ов на каждую функцию. В этом контексте становится понятно, для чего пишут про "assert(true)" и про "никогда не фейлится или всегда выполняется" - чтобы не добавляли недостающие 2 assert-а тупыми "assert(true)". Меня смущает другое, выше написано, что ассерт не должен всегда не происходить . А затем пишут: "Assert-ы должны использоваться для проверки аномальных условий, которые никогда не должны происходить при реальных запусках. " Если никогда происходить не должен, то он всегда будет не происходить, но всегда не происходить он тоже не должен. Выделенное противоречило бы друг другу, если бы не было приписка "при реальных запусках" (that should never happen in real-life executions). Но нет определения что такое "при реальных запусках" или есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 01:24 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
Вася УткинМеня смущает другое, выше написано, что ассерт не должен всегда не происходить . А затем пишут: "Assert-ы должны использоваться для проверки аномальных условий, которые никогда не должны происходить при реальных запусках. " Имхо, всё логично. Ассерты должны накрывать ситуации, которые в рамках программы технически возможны, а в рамках реальности - нет. Скажем, int32 переменная "скорость" технически способна иметь значение 1'000'000 км/с, но практически при реальном запуске такого происходить не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 12:52 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
kdvГоспода, есть у кого что сказать по этому поводу? Я имею в виду, практическое применение вот этих волшебных слов на предприятии. Чтобы было понятно, о чем я спрашиваю, вот ссылка http://www.ict.edu.ru/ft/005645/62322e1-st09.pdf "Методы верификации программного обеспечения" p.s. я считаю, что это в целом очередное словоблудие. А вот на некоторых предприятиях для начальников ИТ это уже головная боль, в том смысле, что сверху по голове стучат этой верификацией, а как это правильно оформляется - х.з. Нормальное наукообразное описание комплексного подхода для надежной разработки (по диагонали даже еще и неполное). Лишнюю для себя воду - вычеркнуть. Например, Весь Хабр залит рекламой и примерами применения статического анализатора кода. Я для себя бы - взял и прогнал по своим софтинам. А дальше посмотрел на результат. Главное - в доказательства правильности алгоритмов не влезть =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 14:28 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
SiemarglГлавное - в доказательства правильности алгоритмов не влезть =) Прочитайте Дейкстру он как раз очень любил доказывать правильность программ. Можно в комментариях прописать инварианты циклов, входные и выходные параметры. Если всё аккуратно сделать - вот оно и доказательство ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 17:52 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
unregesteredSiemarglГлавное - в доказательства правильности алгоритмов не влезть =) Прочитайте Дейкстру он как раз очень любил доказывать правильность программ.Я читал.unregesteredМожно в комментариях прописать инварианты циклов, входные и выходные параметры. Если всё аккуратно сделать - вот оно и доказательство )Это не доказательство,а только Design by contract - тоже кусочек мозаики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 22:57 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
unregesteredSiemarglГлавное - в доказательства правильности алгоритмов не влезть =) Прочитайте Дейкстру он как раз очень любил доказывать правильность программ. Можно в комментариях прописать инварианты циклов, входные и выходные параметры. Если всё аккуратно сделать - вот оно и доказательство ) Я думаю что между кодом и каментом будет некая.. Натяжка :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 23:30 |
|
||
|
верификация и валидация кода
|
|||
|---|---|---|---|
|
#18+
maytonunregesteredпропущено... Прочитайте Дейкстру он как раз очень любил доказывать правильность программ. Можно в комментариях прописать инварианты циклов, входные и выходные параметры. Если всё аккуратно сделать - вот оно и доказательство ) Я думаю что между кодом и каментом будет некая.. Натяжка :) Конечно, про комменты прозевал - примитив. Должны быть или ассерты или нативная поддержка DbC языком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 23:38 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39619165&tid=1340147]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 167ms |

| 0 / 0 |
