Автор: Пользователь скрыл имя, 07 Ноября 2011 в 21:11, статья
В статье были рассмотрены некоторые определения программных ошибок и подходы к их классификации. Анализ различных вариантов классификации показал, что работа по классификации программных ошибок далека от завершения. Имеющиеся варианты классификации больше похожи на перечень возможных проблем, а не на продуманную схему систематизации знаний в этой области. По ходу описания существующих классификаций намечены некоторые пути их совершенствования.
«Баг - Маленький зверёк, обитает обычно в программистах и в моске некоторых юзверей (естественно, если у них есть моск). Чем больше багов, тем злее программист. В процессе программирования баги переносятся из организма программиста посредством рук и других частей тела непосредственно в тело программы. Также баг — в международной системе СИ мера измерения правильности программы и прямости рук программиста. Формула для нахождения бажености программы :
(e2+2w)/(l+k), где e — количество матерных сообщений компилятора об ошибках, w — количество матерных сообщений компилятора о предупреждениях, l — количество символов в программе, k — коэффицент красноты глаз программиста».
В статье были рассмотрены некоторые определения программных ошибок и подходы к их классификации. Анализ различных вариантов классификации показал, что работа по классификации программных ошибок далека от завершения. Имеющиеся варианты классификации больше похожи на перечень возможных проблем, а не на продуманную схему систематизации знаний в этой области. По ходу описания существующих классификаций намечены некоторые пути их совершенствования.
Представляется необходимым широкое обсуждение проблем программных ошибок, накопление и анализ большого числа конкретных ошибок, что позволит уточнить принципы их классификации. Представляется весьма целесообразным создание четких классификаций ошибок и соответствующих методов их обнаружения и предотвращения в конкретных областях программной инженерии. Можно указать такую область, как разработка безопасного ПО для ответственных систем (Safety Critical Software) и привести пример стандарта, относящегося к этой области - DO-178B.
Другим весьма продуктивным подходом является уточнение требований к ПО в зависимости от стадий жизненного цикла программного изделия и уточнение классификации ошибок. Таким путем можно не только получить полезную с практической точки зрения классификацию ошибок, но повысить качество программ.
Рассмотрение кода программы, как текста на некотором формальном языке, открывает перспективы для использования методов психолингвистики для обнаружения и предотвращения программных ошибок.