Как стать автором
Обновить

Трудности поиска ошибок в научных приложениях

Время на прочтение 6 мин
Количество просмотров 1.6K
Разработка веб-сайтов *
Это продолжение заметки о том, почему юнит-тесты плохо работают в научных приложениях; и в этой статье я хочу рассказать о трудностях поиска ошибок и дебага (научных приложений), с которыми в свое время столкнулся, и многие из которых были удивительными для меня как веб-разработчика.
Читать дальше →
Всего голосов 49: ↑43 и ↓6 +37
Комментарии 59

О чём пользователи не напишут вам в feedback

Время на прочтение 3 мин
Количество просмотров 1.2K
Разработка веб-сайтов *
Бывает так, что на сайте что-то происходит, заметно снизилось количество регистраций, или активность пользователей на сайте упала до нуля, но у программиста “всё работает” и он считает что всё нормально. Я проанализировал проблемы с которыми мы столкнулись за два года на нашем проекте и составил небольшой список того, о чём пользователи вряд ли вам когда нибудь напишут.
Читать дальше →
Всего голосов 53: ↑43 и ↓10 +33
Комментарии 16

Последовательность поиска ошибки в программе ПЛК

Время на прочтение 5 мин
Количество просмотров 7.8K
Программирование *
Из песочницы
Введение


Достаточно часто в литературе мне попадались описания ошибок и даже классификации их по типам.
Хотя, признаться, у меня не получается толком вспомнить ни одного случая, когда мне бы помогло знание того, к какому именно типу относится конкретная ошибка. Разве что уже после выяснения причин, для обьяснения их окружающим.
А вот как люди вычисляли место и докапывались до сути ошибки — мне всегда было интересно.

Сведения о системе и ошибке


С компьютера на ПЛК подаются уставки (времена, флаги режимов) и команды на устройство.
Из ПЛК на компьютер выдаются сигналы статуса устройства и времени до конца команды на это устройство. Сигналы пакуются в слова, для минимизации объемов приема и передачи.
Из ПЛК на устройство выдаются команды.
Устройство выдает на ПЛК свои статусы.

image

Изначально все работало, но через какое-то время при подаче команд, статусы на компьютере в SCADA начали моргать не по делу и вообще вести себя крайне недружелюбно. Причем только в одном месте, на одном объекте.

Но «танцы с саблями» появлялись стабильно, при каждой команде, что очень порадовало.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 14

Интуиция как инструмент разработчика

Время на прочтение 5 мин
Количество просмотров 16K
Блог компании Acronis Программирование *Отладка *
Всем привет! Меня зовут Дмитрий Чепель, я — эксперт в компании Acronis. Так уж получилось, что ко мне обращаются с проблемами, которые не удалось решить моим коллегам. Кто-то думает, что у меня есть некое «разработческое чутьё», интуиция. Не знаю, как вы, а я считаю, что интуиция — это такой же инструмент разработки, как и остальные, и её можно и нужно улучшать и тренировать.

Sbws3m.jpg
Читать дальше →
Всего голосов 33: ↑27 и ↓6 +21
Комментарии 5

Мой код не работает :-(

Время на прочтение 1 мин
Количество просмотров 20K
Блог компании Alconost Python *Программирование *Кодобред Отладка *
Туториал
Перевод
Представляем наглядное пошаговое руководство по поиску и устранению ошибок в коде для языка Python, которое мы в Alconost перевели специально для Хабра. Следуйте по стрелкам, чтобы определить вероятную причину проблемы — и, если первое из найденных решений не подходит, возвращайтесь и пробуйте еще.

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


Картинка кликабельна

Переведено с любовью к коду компанией-локализатором Alconost.
Всего голосов 28: ↑16 и ↓12 +4
Комментарии 12

Как обнаружить переполнение 32-битных переменной в длинных циклах в 64-битной программе

Время на прочтение 5 мин
Количество просмотров 8.4K
Блог компании PVS-Studio
Одна из проблем, с которой сталкиваются разработчики 64-битных приложений, это переполнение 32-битных переменных в очень длинных циклах. С этой задачей хорошо справляется анализатор кода PVS-Studio (набор диагностик Viva64). На тему переполнения переменных в циклах есть ряд вопросов на сайте StackOverflow.com. Но поскольку мои ответы могут счесть исключительно рекламными, а не как полезную информацию, я решил описать возможности PVS-Studio в статье.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 0

Программе Android Security Rewards исполнился 1 год

Время на прочтение 2 мин
Количество просмотров 4.6K
Блог компании Google Developers Информационная безопасность *Разработка мобильных приложений *Разработка под Android *
Привет, Хабр! Год назад в программе Google Vulnerability Rewards появилась новая номинация — Android Security Rewards. За обнаружение лазейки в системе безопасности Android мы предлагали до 38 000 долларов США. С помощью таких поощрений нам удалось обнаружить и устранить множество ошибок и уязвимостей — и улучшить защиту наших пользователей.



Это было достойное начало — и вот результаты первого года работы программы:
  • Вы прислали более 250 отчетов об ошибках, отвечающих нашим требованиям.
  • 82 исследователя получили более 550 000 долларов США в качестве вознаграждений. В среднем на одно вознаграждение пришлось 2200 долларов, а на человека — 6700 долларов.
  • Наш лучший исследователь, Питер Пи (@heisecode) из Trend Micro, получил $75 750 долларов США за 26 отчетов.
  • Пятнадцати исследователям мы заплатили не менее чем по $10 000.
  • Никому не удалось описать удаленную атаку, состоящую из цепочки уязвимостей, которая компрометирует Android TrustZone или Verified Boot. Так что главный приз остался невостребованным.

Спасибо всем, кто в принял участие в программе, прислал качественные отчеты об ошибках и помог нам улушчить Android. Теперь защита системы стала надёжней, так что с 1 июня 2016 года мы поднимаем ставки!
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0

Геймеры доказали свою пользу для верификации ПО

Время на прочтение 2 мин
Количество просмотров 9.2K
Краудсорсинг Игры и игровые консоли


Могут ли весёлые игры в онлайне решить сложные проблемы с верификацией программного обеспечения, которыми обычно занимаются профессиональные эксперты в программировании? Другими словами, будет ли армия необразованных геймеров лучше, чем профессиональный процесс? Исследователи из Агентства по перспективным оборонным научно-исследовательским разработкам США (DARPA) уверены, что так и есть.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 11

PVS-Studio и Bug Bounties on Free and Open Source Software

Время на прочтение 2 мин
Количество просмотров 5.1K
Блог компании PVS-Studio Информационная безопасность *Open source *Тестирование IT-систем *Программирование *
PVS-Studio дарит багиЕвропейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказку. Одним из способов поиска ошибок в исходном коде программ является использование статических анализаторов кода. Например, можно использовать для этих целей PVS-Studio, тем более что недавно был предложен новый вариант его бесплатного лицензирования для открытых проектов.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Комментарии 1

Безопасная разработка: SAST, DAST, IAST и RASP

Время на прочтение 4 мин
Количество просмотров 31K
Блог компании AlexHost Информационная безопасность *Программирование *Разработка мобильных приложений *


По статистике 90% инцидентов безопасности возникают в результате использования злоумышленниками известных программных ошибок. Естественно, что устранение уязвимостей на этапе разработки ПО значительно снижает риски информационной безопасности.


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


  • SAST
  • DAST
  • IAST
  • RASP

SAST и DAST


SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.


DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.


DAST также может пролить свет на проблемы времени выполнения, такие как:


  • проблемы аутентификации и конфигурации сервера
  • недостатки, видимые только при входе известного пользователя

Обнаружить это с помощью статистического анализа нельзя.

Читать дальше →
Всего голосов 3: ↑1 и ↓2 -1
Комментарии 4

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим

Время на прочтение 3 мин
Количество просмотров 9.5K
Блог компании PVS-Studio Программирование *

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим
Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про наши душевные муки, где рассмотрен конкретный пример такой ситуации.

Читать дальше →
Всего голосов 27: ↑18 и ↓9 +9
Комментарии 37

Дебаг и поиск ошибок

Время на прочтение 6 мин
Количество просмотров 4.8K
Программирование *.NET *Отладка *

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

По опыту работы с начинающими разработчиками, я сталкиваюсь с тем, что поиск ошибок порой занимает слишком много времени. Не из-за того, что они глупее более опытных товарищей или не разбираются в процессах, а из-за отсутствия понимания с чего начать и на чём акцентировать внимание. В статье я собрал общие советы о том где обитают ошибки и как найти причину их возникновения. Примеры в статье даны на JavaScript и .NET, но они актуальны и для других платформ с поправкой на специфику.

Читать далее
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 1

Разбор ошибок в игровом движке Stride

Время на прочтение 8 мин
Количество просмотров 2.2K
Блог компании PVS-Studio Разработка игр *C# *

Stride – это мощный, бесплатный и активно развивающийся игровой движок, реализованный на C#. Он вполне может стать альтернативой Unity, но насколько качественный исходный код Stride? Узнаем это с помощью статического анализатора PVS-Studio.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0