Автоматическое повторное использование кода: система автоматически изменяет код для передачи в другие программы.

Что особенно очень важно, совокупность способна переводить между «представлениями данных», используемыми донорскими и реципиентными программами. К примеру, программа обработки изображений должна иметь возможность обрабатывать файлы в различных форматах, таких как jpeg, tiff или png.

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

Исследователи представили новую совокупность, названную CodeCarbonCopy, на симпозиуме Ассоциации вычислительной техники по базам программной инженерии.«CodeCarbonCopy снабжает один из святых Граалей в разработке ПО: автоматическое повторное использование кода», — говорит Стелиос Сидироглу-Дускос, научный сотрудник CSAIL и первый создатель статьи. «Это еще один движение к тому, чтобы избавить человека от цикла разработки. Мы считаем, что, возможно, мы написали большую часть ПО, которое нам когда-либо понадобится — на данный момент нам легко нужно использовать его повторно».

Исследователи совершили восемь опытов, в которых использовали CodeCarbonCopy для трансплантации кода между шестью популярными программами обработки изображений с открытым исходным кодом. Семь из восьми трансплантатов были успешными, наровне с этим программа-реципиент правильно выполнила новые функции.Вместе с Сидироглу-Доускосом в работе над данной статьей присутствуют Мартин Ринард, электротехники наук и доктор информатики; Фан Лонг, аспирант Массачусетского технологического университета в области электротехники и информатики; и Эрик Лахтинен и Энтони Иден, каковые трудились программистами согласно соглашению в Массачусетском технологическом университете, в то время, в то время, когда работа была сделана.

Mutatis mutandisС CodeCarbonCopy первым шагом в переносе кода из одной программы в другую имеется передача им обоим одного и того же входного файла. Затем совокупность сравнивает, как две программы обрабатывают файл.

Если, например, программа-донор делает серию операций с определенным фрагментом данных и загружает результат в переменную с именем «mem_clip-> width», а получатель делает те же операции с тем же фрагментом данных и загружает в переменную с именем «picture.width», совокупность сделает вывод, что переменные играются однообразные роли в собственных соответствующих программах.По окончании определения соответствия между переменными CodeCarbonCopy мнит их пользователю. Он также мнит все переменные в доноре, для которых не удалось найти совпадений в получателе, вместе с исходными определениями этих переменных. Частенько эти переменные играются некую роль в доноре, которая не имеет отношения к получателю.

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

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

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


3 комментария к “Автоматическое повторное использование кода: система автоматически изменяет код для передачи в другие программы.”

  1. Гавриков Назар

    вино в Италии…..тоже не рекомендовано ? солнце в бокале лучше ?

  2. Юрьев Аскольд Ипатиевич

    спорный вопрос — решать не мне и не тебе, а в случае подачи иска — опять же Стокгольмскому арбитражу. мы уже слышали истерики про 54 лярда, которые Украина должна Газмясу, а по результату — Газмяс торчит 2,56 лярда нам.

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *