LINUX.ORG.RU
ФорумTalks

О надежности ПО

 ,


3

4
  • 4 июня 1996 года европейская ракета-носитель Ariane 5 развалилась на части на 39 секунде полета из-за ошибки в ПО (64bit float -> 16bit int). ущерб — 7 млрд. вечнозеленых;
  • февраль 1991 года, ракета Patriot промахнулась мимо цели из-за ошибки округления, успела пролететь 500 метров. ущерб — 28 убитыми, сотня ранеными;
  • 1987 год, медицинский ускоритель Therac-25 переоблучал пациентов с онкологическими заболеваниями из-за race condition. ущерб — несколько смертей;
  • 1991 год, нефтяная платформа Sleipner A затонула после землетрясения силой 3 балла из-за ошибки в программе моделирования. ущерб — 700 млн.

А какие есть еще истории глобальных факапов, произошедших из-за ошибки в программном обеспечении?

★★★★★

Ответ на: комментарий от Polugnom

Типа, дописал в лицензии «absolutely no warranty» и сразу ни в чем не виноват?

А когда лицензия стала выше законов государственных?

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Мальчик, мир не черно-белый. Формальная верификация работы врача вообще невозможно принципиально. Даже если все все сделали правильно пациент может умереть. А если дает ошибку программа значит кто-то из программистов налажал (не обязательно непосредственный разработчик данной проги). Самый эффективный способ устранения лажи - устранение тех, кто допускает лажу.

мальчик, мир не красно-зелёный ☺

Я не знаю, как оно у врачей, а у программистов ошибки практически всегда возникают не внутри модуля, а МЕЖДУ модулями.

мимо цели из-за ошибки округления

ну и кто тут виноват? Тот, кто делал либу вычислений, или тот, кто её использовал не так, как думал тот, кто её делал? Правильно делить на ноль не умеет ни один из калькуляторов. И кстати, неправильный результат можно получить даже при правильных вычислениях. Я уже вчера приводил пример: 3*⅓ < 1, если считать в двоичной системе, и если даже правильно округлять. И с этим ничего не поделать.

drBatty ★★
()
Ответ на: комментарий от drBatty

а у программистов ошибки практически всегда возникают не внутри модуля, а МЕЖДУ модулями.

Быдлокодеры не умеют в отладку?

Тот, кто делал либу вычислений, или тот, кто её использовал не так, как думал тот, кто её делал?

Д'Артаньяны не умеют читать документацию?


Я уже вчера приводил пример: 3*⅓ < 1, если считать в двоичной системе, и если даже правильно округлять.

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

DNA_Seq ★★☆☆☆
()
Последнее исправление: DNA_Seq (всего исправлений: 2)
Ответ на: комментарий от DNA_Seq

Это не имеет отношения к делу. Речь о том, что врачи примерно такую же ответственность несут, как и обсуждаемые тут программисты.

Назначают что попало, гробят здоровье людей - и единицы случаев в год, когда несут ответственность.

А маски-шоу в операционной - это не по врачебной части, а по учету/ворью/налогам

zgen ★★★★★
()
Ответ на: комментарий от zgen

«Примерно такую же»? Мальчик, ты с какой планеты? Сердце для пересадки желательно извлечь сразу после смерти донора, а лучше прямо в момент смерти. Но если хирург вырежет сердце за миллисекунду до того, как пациент умрет сам, то по законам РФ он убийца.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Но если хирург вырежет сердце за миллисекунду до того, как пациент умрет сам, то по законам РФ он убийца.

А кто его проверит то? Мертвый донор заяву в прокуратуру не напишет, а каждый труп проверять никому не надо.

Такую же - это никакую.

zgen ★★★★★
()
Последнее исправление: zgen (всего исправлений: 1)
Ответ на: комментарий от zgen

Мертвый донор заяву в прокуратуру не напишет

А родственники пишут. Даже если извлечение было проведено чисто.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

а у программистов ошибки практически всегда возникают не внутри модуля, а МЕЖДУ модулями.

Быдлокодеры не умеют в отладку?

а как ты проверишь ВСЕ варианты? Это в принципе невозможно. При отладке всё будет работать, а в железе, при_других_ условиях, всё сдохнет. Это самое обычное дело, причём при анализе видно, что КАЖДЫЙ модуль повёл себя адекватно, но вот состояние их СОЧЕТАНИЯ было непредусмотренным. ЕМНИП математики это уже доказали, что программу невозможно отладить.

Д'Артаньяны не умеют читать документацию?

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

Я уже вчера приводил пример: 3*⅓ < 1, если считать в двоичной системе, и если даже правильно округлять.

Ну это вообще детская отмазка. Точности четырех знаков после запятой на практике более чем достаточно чтобы ракета мимо не пролетела.

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

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

это ты не подумав сказал. Подумай, что случится, если ракете потребуется на лету решить уравнение x²==2, и она будет решать его с такой бесконечной точностью?

drBatty ★★
()
Ответ на: комментарий от drBatty

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

в квотезы !

i_gnatenko_brain ★★★★
()
Ответ на: комментарий от drBatty

а как ты проверишь ВСЕ варианты? Это в принципе невозможно. При отладке всё будет работать, а в железе, при_других_ условиях, всё сдохнет.

Это называется кривая архитектура. Садись, ты профнепригоден.

в документации всего не напишешь, а даже если и напишешь

Короче, Д'Артаньянство в чистом виде.

Подумай, что случится, если ракете потребуется на лету решить уравнение x²==2, и она будет решать его с такой бесконечной точностью?

А зачем ракете бесконечная точность?

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Это называется кривая архитектура. Садись, ты профнепригоден.

Спасибо профессор. Вы не подскажете, где разрабатывают _прямую_ архитектуру. Мне интересна именно _разработка_, если я поучиться захочу, я к вам приду. А то, куда не плюнь, везде быдлоархитекторы командуют быдлокодерами.

А зачем ракете бесконечная точность?

не знаю. За то знаю, что твой подход «мы тупо увеличим точность!» говорит лишь о твоей «профпригодности».

drBatty ★★
()
Ответ на: комментарий от namezys

Врач несет ответственность в случае, если он забил на инструкции

врачам уже написали инструкции на все случаи жизни? Где можно их почитать?

drBatty ★★
()
Ответ на: комментарий от DNA_Seq

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

Тут дело не в точности вычислений, а в точности исходных данных, а это к программированию не имеет отношения. Man некорректные задачи и регуляризация по Тихонову.

dave ★★★★★
()
Ответ на: комментарий от i_gnatenko_brain

Насколько я знаю, причинение смерти животному юридически считается чисто материальным вредом.

Ну и по поводу зарплаты разница есть. Насчёт размера не знаю, но ветеринария коммерциализирована, поэтому устанавливает её размер не Путин.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от drBatty

За то знаю, что твой подход «мы тупо увеличим точность!»

Ты вообще читать умеешь? Марш обратно в школу, начиная с первого класса.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Ttt

но ветеринария коммерциализирована, поэтому устанавливает её размер не Путин.

Только лечение кошечек-собащек. А например эпидемиологический контроль лежит угадай на ком. Парадокс постсоветского «капитализма» - чем больше ответственности тем меньше денег.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Ты вообще читать умеешь?

твои посты — увы нет

Марш обратно в школу, начиная с первого класса.

не. Я в твою школу не пойду, а то там меня тривиальные уравнения с бесконечной точностью считать заставят. :)

drBatty ★★
()

Где-то книга была на эту тему...

urxvt ★★★★★
()

Из -за ошибки автоматический погрузчик слетел с рельса и снёс опорную балку склада, хз сколько там ущерба

Satou ★★★★
()
Ответ на: комментарий от drBatty

врачам уже написали инструкции на все случаи жизни? Где можно их почитать?

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

namezys ★★★★
()
Ответ на: комментарий от Ttt

работает на каком-то сельскохозяйственном предприятии.

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

Формальная верификация работы врача вообще невозможно принципиально. Даже если все все сделали правильно пациент может умереть.

Да какая там «верификация». Разуй глаза, 80% врачей в среднестатистической государственной поликлинике — троечники и недоумки, которым к тому же еще и западло вникать в проблемы посетителей за свою мизерную зарплату. Не вызывает ни малейших сомнений, что эти люди совершают во время своей врачебной деятельности массу ошибок, ставят неверные диагнозы, назначают неправильное лечение.

У меня пример перед глазами — девчонка из параллельного класса умерла от менингита, пока врачи лечили ее от воспаления легких. Естественно, никто за это в тюрьму не сел.

Manhunt ★★★★★
()
Ответ на: комментарий от DNA_Seq

Это как раз случай, много ответственности - мало денег.

Но виновато в этом, скорее всего, руководство и владельцы предприятия. На себя у них деньги, как правило, находятся. Ну или ситуация на рынке. Но не непосредственно верховные власти.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от Ttt

Ttt ты вроде в школе последний раз менее 10 лет назад был...

Почему анатомию человека проходил мимо? я вот сходу вспомнил 2 из 3х функций аппендикса у человека а потом открыл посмотреть http://ru.wikipedia.org/wiki/Аппендикс_человека#.D0.A4.D1.83.D0.BD.D0.BA.D1.8...

Spider_xp
()
Ответ на: комментарий от Polugnom

absolutely no warranty

Так пишут только в опенсорсе - тут никто никого не нанимал, никто никому не обязан. А так - фирма-исполнитель несет всю ответственность.

aidan ★★★★
()
Ответ на: комментарий от aidan

Так пишут только в опенсорсе - тут никто никого не нанимал, никто никому не обязан. А так - фирма-исполнитель несет всю ответственность.

Почитай еулу к какому-нибудь шиндошсу на досуге, узнаешь много интересного.

PolarFox ★★★★★
()
Ответ на: комментарий от aidan

absolutely no warranty

Так пишут только в опенсорсе - тут никто никого не нанимал, никто никому не обязан. А так - фирма-исполнитель несет всю ответственность.

Бугагаг. Можешь чем-нибудь подтвердить свои фантазии насчет «всей ответственности»?

в опенсорсе - тут никто никого не нанимал

Не нанимал? А программа типа сама материализовалась в хранилище версий, программисты за нее зарплаты не получали? Ну-ну.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)

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

Deathstalker ★★★★★
()
Ответ на: комментарий от Manhunt

Бугагаг. Можешь чем-нибудь подтвердить свои фантазии насчет «всей ответственности»?

Кто-то нанимает компанию для написания софта для электростанции. Подрядчик несет ответственность прописанную в договоре. В чем проблема?

Не нанимал? А программа типа сама материализовалась в хранилище версий, программисты за нее зарплаты не получали? Ну-ну.

Я что-то пропустил и все разработчики фосса стали оплачиваемыми? За зарплатой обращатся в местную ячейку Гитхаба?

aidan ★★★★
()
Ответ на: комментарий от aidan

Подрядчик несет ответственность прописанную в договоре.

Прописывают сроки исправления ошибок в зависимости от их критичности, и на том ответственность заканчивается. Если софт не под конкретного заказчика разработан, а продается многим разным покупателям, то может быть еще money back прописан. За всеми остальными «компенсациями» — добро пожаловать в страховую компанию. А ответственность за гибель людей и прочие непоправимые катастрофы ни одна вменяемая софтверная компания на себя не возьмет.

В чем проблема?

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

Я что-то пропустил и все разработчики фосса стали оплачиваемыми?

Львиная доля — оплачиваемые фулл-тайм сотрудники софтверных компаний. Сюрприз?

За зарплатой обращатся в местную ячейку Гитхаба?

За зарплатой обращаться в google, redhat, ibm, yandex, и далее по списку.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)
Ответ на: комментарий от Manhunt

А ответственность за гибель людей и прочие непоправимые катастрофы ни одна вменяемая софтверная компания на себя не возьмет.

Производитель гвоздей не берет на себя ответственность за развалившийся дом, это дело компании-строителя. Здесь так же между разработчиками и клиентами стоят люди заказавшие и внедрившие его.

Львиная доля — оплачиваемые фулл-тайм сотрудники софтверных компаний. Сюрприз?

Они пишут софт для своего работодателя, других людей их кодом пользоваться не заставляют. Это из разряда «Если я выложил на сайте рецепт яда и кто-то им отравился, то виноват я или он?».

aidan ★★★★
()
Ответ на: комментарий от Manhunt

Разуй глаза, 80% врачей в среднестатистической государственной поликлинике — троечники и недоумки

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Ttt

Но виновато в этом, скорее всего, руководство и владельцы предприятия.

Цель капиталиста - минимизация издержек. Если можно платить 20-30 тысяч, 70-100 никто платить не будет. Вот в непроизводственной сфере (ака офисы) ситуация другая.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Polugnom

Типа, дописал в лицензии «absolutely no warranty» и сразу ни в >чем не виноват?

Да, не согласен не используй и пиши/заказывай своё.

Dron ★★★★★
()
Ответ на: комментарий от DNA_Seq

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

То есть ты согласен с тем, что врачи за свои ошибки практически никогда ответственности не несут?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от aidan

Производитель гвоздей не берет на себя ответственность за развалившийся дом, это дело компании-строителя. Здесь так же между разработчиками и клиентами стоят люди заказавшие и внедрившие его.

То есть от своих слово про то, что «фирма-исполнитель несет всю ответственность» применительно к разработчикам софта — ты отказываешься?

Они пишут софт для своего работодателя, других людей их кодом пользоваться не заставляют.

Таки они наняты за деньги, и работодатель получает их софт точно на тех же условиях: absolutely no warranty.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

Буквально в этом году Корея (вроде) отказалась от апдейта винды на своих ракетах из-за бсода - считается?

bvn13 ★★★★★
()
Ответ на: комментарий от Manhunt

То есть ты согласен с тем, что врачи за свои ошибки практически никогда ответственности не несут?

Если факт ошибки доказан то несут.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от Manhunt

Предлагаете наказывать без суда и следствия? К тому же деятельность врачей лицензируется и за косяки лицензию отбирают легко и просто. И даже просто за отсутствие практики в течении некоторого времени.

DNA_Seq ★★☆☆☆
()
Последнее исправление: DNA_Seq (всего исправлений: 2)
Ответ на: комментарий от Polugnom

Типа, дописал в лицензии «absolutely no warranty» и сразу ни в чем не виноват?

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

gag ★★★★★
()
Ответ на: комментарий от Quasar

Polugnom> Типа, дописал в лицензии «absolutely no warranty» и сразу ни в чем не виноват?

Да. Перекладывание ответственности на того, кто программу задействовал в решении.

Dron

Да, не согласен не используй и пиши/заказывай своё.

Подобные заявления действительны не всегда. Например, в Германии кое-какие пункты скандально известной MS EULA просто недействительны, хотя пользователь и вынужден как бы «согласиться» с ней.

gag ★★★★★
()

Хорошо, что мне не дадут писать такие серьезные вещи

fero ★★★★
()
Ответ на: комментарий от drBatty

Никогда не слыхал про пояса шахидов с цементом.

fero ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.