The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Intel открыл код системы машинного обучения ControlFlag для выявления ошибок в коде , opennews (ok), 24-Окт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


52. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 25-Окт-21, 10:34 
>>была выявлена незамеченная статическими анализаторами ошибка при использовании элемента структуры "s->keepon", который имел числовой тип, но сравнивался с булевым значением TRUE.
> А в чем проблема если язык это позволяет?

Ну, как-бы, если числовое, то там может быть, например, не только 0 и 1, а например, и 2, 3 и т.д. А сравнение, насколько я понял, происходило, с конкретным TRUE (например 1).

Ответить | Правка | Наверх | Cообщить модератору

59. "Intel открыл код системы машинного обучения ControlFlag для ..."  –1 +/
Сообщение от Sw00p aka Jerom (?), 25-Окт-21, 12:03 
>Ну, как-бы, если числовое, то там может быть

ну и как быть? на что заменить? если там сравнение двух чисел, пихнет 2 или 3 результат сравнения будет ложным, к чему это приведет - проблема программиста.

Ответить | Правка | Наверх | Cообщить модератору

60. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 25-Окт-21, 12:32 
>>Ну, как-бы, если числовое, то там может быть
> ну и как быть? на что заменить? если там сравнение двух чисел,
> пихнет 2 или 3 результат сравнения будет ложным, к чему это
> приведет - проблема программиста.

Например заменить на "!= 0", уже, как минимум, будет нечто похожее тому посылу, который был изначально в коде.

Ответить | Правка | Наверх | Cообщить модератору

63. "Intel открыл код системы машинного обучения ControlFlag для ..."  –1 +/
Сообщение от Sw00p aka Jerom (?), 25-Окт-21, 13:27 
так TRUE и есть 1, то есть число, типа булеан как такогого в сях нет. Типы, только в голове у програсмиста.
Ответить | Правка | Наверх | Cообщить модератору

64. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 25-Окт-21, 13:39 
> так TRUE и есть 1, то есть число, типа булеан как такогого
> в сях нет.

к сожалению, или к счастью, тип _Bool уже есть, причём, если не путаю, ещё со времён C99.

Но тут вопрос в другом, чисто логически если "s->keepon" числовой, то там вряд ли будет интересовать значения "1" и "не 1", а скорее, имхо конечно, будет интересовать значения "0" и "не 0".

Ответить | Правка | Наверх | Cообщить модератору

67. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Sw00p aka Jerom (?), 25-Окт-21, 16:05 
> к сожалению, или к счастью, тип _Bool уже есть, причём, если не
> путаю, ещё со времён C99.

Это макрос разворачивающийся в 0 и 1 целочисленную.

> Но тут вопрос в другом, чисто логически если "s->keepon" числовой, то там
> вряд ли будет интересовать значения "1" и "не 1", а скорее,
> имхо конечно, будет интересовать значения "0" и "не 0".

тут без разницы, от 0 отталкиваемся или от 1. Таким же макаром, можно за TRUE считать любое целое положительное число большее чем 0, а за FALSE меньшее (отрицательное) или равное 0. И если в "s->keepon = 2" то проблем нет, расцениваем как TRUE. И с точки зрения анализатора ворнингов тут не должно быть, если компилятор допустил такое.


Ответить | Правка | Наверх | Cообщить модератору

70. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 25-Окт-21, 16:56 
>> к сожалению, или к счастью, тип _Bool уже есть, причём, если не
>> путаю, ещё со времён C99.
> Это макрос разворачивающийся в 0 и 1 целочисленную.

не совсем, это тип. В который может разворачиваться bool, если включить через stdbool.h

>> Но тут вопрос в другом, чисто логически если "s->keepon" числовой, то там
>> вряд ли будет интересовать значения "1" и "не 1", а скорее,
>> имхо конечно, будет интересовать значения "0" и "не 0".
> тут без разницы, от 0 отталкиваемся или от 1. Таким же макаром,
> можно за TRUE считать любое целое положительное число большее чем 0,
> а за FALSE меньшее (отрицательное) или равное 0. И если в
> "s->keepon = 2" то проблем нет, расцениваем как TRUE. И с
> точки зрения анализатора ворнингов тут не должно быть, если компилятор допустил
> такое.

TRUE не может иметь несколько значений (1, 2 и т.д.), потому-как вот он-то как-раз макрос, и разворачивается в одно значение (1), а FALSE тоже макрос, который тоже разворачивается в одно значение, равное (0).

Ответить | Правка | Наверх | Cообщить модератору

73. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Sw00p aka Jerom (?), 25-Окт-21, 18:36 
> TRUE не может иметь несколько значений (1, 2 и т.д.), потому-как вот
> он-то как-раз макрос, и разворачивается в одно значение (1), а FALSE
> тоже макрос, который тоже разворачивается в одно значение, равное (0).

Дело не во многозначности TRUE, а в неявном приведении int к bool (который и разворачивается в int) во время сравнения в Сях. В строгой (сильной) типизации такое сравнение компилятор не пропустил бы.

Ответить | Правка | Наверх | Cообщить модератору

74. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Sw00p aka Jerom (?), 25-Окт-21, 18:41 
суть в том, что почему анализатор считает ошибкой то, что для компилятора норма? Зачем анализатор требует строгости типов от языка не со строгой типизацией?
Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

82. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 26-Окт-21, 08:37 
> суть в том, что почему анализатор считает ошибкой то, что для компилятора
> норма? Зачем анализатор требует строгости типов от языка не со строгой
> типизацией?

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

Ответить | Правка | Наверх | Cообщить модератору

84. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Sw00p aka Jerom (?), 26-Окт-21, 11:48 
>можно будет ещё раз посмотреть и сказать себе - да

если это подобие ИИ, еще нужно пройтись в обратном порядке по пути принятия решения, там же не тупо патрн метчинг, а это еще так себе проблема. Глупо ведь, скормить на обучение весь код с гитхаба и принимать решение парламентским большинством, должна быть экспертная (людская) оценка дана сначала, а это в свою очередь порождает вопросы, как породил у меня, в случае требования строгости типов при сравнении в языке где нет строгой типизации и есть неявное их приведение.

Ответить | Правка | Наверх | Cообщить модератору

87. "Intel открыл код системы машинного обучения ControlFlag для ..."  +/
Сообщение от Совершенно другой аноним (?), 26-Окт-21, 12:30 
>>можно будет ещё раз посмотреть и сказать себе - да
> Глупо ведь, скормить на обучение весь код с
> гитхаба и принимать решение парламентским большинством, должна быть экспертная (людская)
> оценка дана сначала, а это в свою очередь порождает вопросы, как
> породил у меня, в случае требования строгости типов при сравнении в
> языке где нет строгой типизации и есть неявное их приведение.

Там у них для обучения предлагается три Dataset-а, 100M, 450M и 9G. Возможно в Dataset-ы отобраны экспертами (по крайней мере людьми из Intel-а) особо качественные проекты, так-что парламентского большинства не будет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру