Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 20:32

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 00:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
Для расширенного способа исправления глюков - (Хищник скажет "только и всего")
но более экономного по трудозатратам, если нужно отладить сложный код

Не надо за меня гадать :) В чем тогда состоит расширение?
вопрос писал(а):
Где Хищник нашёл "автоматического"

Пока нигде не нашел. В том смысле, что функция "поиск" такого слова не дает :) Однако я пробую последовательно, путем формулировки вопросов, уточнить, что же имеется в виду.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 01:33 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Лучший способ исправления глюков - это не создавать их.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 08:06 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
VoidVolker писал(а):
Лучший способ исправления глюков - это не создавать их.

:)) :)) где же смайлик, который смеётся под стулом?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 08:07 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
В чем тогда состоит расширение?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 08:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
неужели идея настолько труднопонятна?


Она непонятна примерно в той же степени, в какой непонятно,
как Мунхаузен сам себя за волосы из болота вытянул...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 08:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
но более экономного по трудозатратам, если нужно отладить сложный код


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

Я даже скажу, какой это будет глюк, для хохмы....

При сложении тридцати двух разрядных чисел происходит забывание переноса из 17 разряда в 18-й... (такой вот Демон Марксвелла затесался в код команды сложения)

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

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 09:29 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
WingLion писал(а):
исправлятель

не исправлятель, а дополнительное средство поиска

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

пример должен выгляеть так:
прога на С (или на другом языке, на котором есть форт в исходнике на этом языке)
смысл того, что должен делать код - понятен, глюк - не локализован
код форта должен быть переносим (более-менее стандартен)

дальше мы дополняем форт нужными примитивами для связи с анализируемой программой (это быстрее написания форта) и ...

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


в случае глюка со сложением - если мы подозреваем, что это именно глюк со сложением - и знаем, что низшие разряды ведут себя правильно, всё свелось бы к использованию уже существующей библиотеки форта (где-то видел) для работы с длинными числами "в столбик" - можно сравнивать результаты сложения фортом чисел в столбик


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 12:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
в наличии дополнительных более простых возможностей получения эталонного кода

А вот можно теперь про "простоту" поподробнее? В чем она выражается? Самое главное - зачем это называть как-то отдельно, а не просто отметить, что на Форте можно отлаживать алгоритмы?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 12:52 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
не на форте а используя форт как дополнительную возможность контроля правильности кода на другом языке
Хищник писал(а):
А вот можно теперь про "простоту" поподробнее?

А совсем нельзя прочесть то, что там раньше?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 15:01 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Нет, как-раз понятие эталонный код предполагает, что мы можем манипулировать кодом как нам вздумается и отловить и этап и условия получения расхождений между эталонным и глючным

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 15:41 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
Учесть особенности реализации кода виртуальной машины форта, реализованного не на фортовском трансляторе с целью сравнения кода аналогичных по семантике эталонной и глючной программ( а это необходимо по причине возможности появления глюков именно из-за ошибочной реализации отдельных семантических единиц языка именно на уровне целевого кода, может быть даже и в оптимизаторе) гораздо более трудоемкая задача чем непосредственная работа в отладчике, в котором нужно учитывать только особенности перевода семантики программы на языке в целевой код(особенности кода виртуальной форт-машины учитывать не нужно). Поэтому такая методика отладки и не получила применения.
дак её никто и не предлагал :)

Чесс, я не хочу казаться настойчивым, но, может быть, нужно быть осторожнее в суждениях :wink:

(а вот и нет)

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

Разумеется, даже продвинутый вариант крестиков-ноликов в таком не нуждается


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 15:56 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хм, видимо нужно предметно
для начала о пользе эталонного кода
Изображение
ну я не сильно старался
жёлтые прямоугольники - некие базовые функции, в "0" красным ошибка, через слой вторичных функций она попадает "2" и "3" - салатовые интерфейсные функции
и "1" - - тоже заражен, т.к. при его отладке использовалась "2", хотя это и ложное срабатывание.
Теперь представим себе, что мы полностью уверены в коде "А" - синем, это даже код, в котором нет ошибки, тем не менее полная уверенность в нем позволяет нам методом исключения понять, что ошибка в код "3" приходит из "B"
Точно так же эффективно, если у нас эталонный код в "В"
Каждый раз поиск является одношаговым

Смотрим дальше - пусть код в квадратике среднем, без буквы - эталонный, при этом мы вновь одним логическим выводом исключаем "А" т.к. 1 работает правильно и всё сводится к первому случаю
Как мало нужно, чтобы локализовать ошибку, если у нас есть эталонный код, в данном случае упразднено даже 2 взаимозависимые ошибки - в "0" и между "1" и "2"


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 17:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
Хищник писал(а):
А вот можно теперь про "простоту" поподробнее?

А совсем нельзя прочесть то, что там раньше?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 19:40 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
дак её никто и не предлагал

В принципе это не важно. Поиск ошибок в программе, написанной для транслятора - это именно отладка и ничего более. Это терминологическое уточнение. Если вспомнить, то вы горили о глюках в компиляторе. :)
вопрос писал(а):
речь идёт не об пошаговой отладке или простейшем варианте тестирования, но о поиске ошибок, которые нетривиальны ввиду достаточной сложности кода, т.е. когда пошаговая отладка чрезмерно затратна по времени, а простые условия для отладчика типа "остановить, если меньше" недостаточны для "прогона" кода, тут и выступает на первый план необходимость дополнительного отладочного кода (ага!) который ... тоже может быть глючным ввиду тех или иных причин

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Алгоритмическая ниша?
СообщениеДобавлено: Вс окт 16, 2011 22:08 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):
В форте, например, отлаживают отдельные слова(процедуры), затем слова на основе этих отлаженных слов и т.д. Причем частьэтих слов по ходу трансляции начинает входить в сам транслятор.
Чесс не читает. Как-раз речь идёт о самом широком понимании отладки, приведенное - уже

chess писал(а):
В любом случае пока не просматриваются способы упрощения отладки программ в случае встраивания в трансляторы возможности распознавать текст на форте и создавать форт-код.
пока предлжено
абстрактное рассуждение. МОжно доказать, что математически верно "способы упрощения отладки "
Но эксперимент трудоёмок... Где бы найти простую программку на С с глюками открытым кодом и небольшую совсем?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB