The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

IBM открыл CodeNet для систем машинного обучения, транслирующих и проверяющих код

11.05.2021 21:28

Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.

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

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

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

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

Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки).

  1. Главная ссылка к новости (https://research.ibm.com/blog/...)
  2. OpenNews: GitHub открыл наработки по применению машинного обучения для поиска и анализа кода
  3. OpenNews: NVIDIA открыла код системы машинного обучения, синтезирующей пейзажи по наброскам
  4. OpenNews: Система машинного обучения для синтеза типового кода на языке Java
  5. OpenNews: NVIDIA открыла код StyleGAN, генератора лиц на основе машинного обучения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55131-codenet
Ключевые слова: codenet, ai, ibm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (71) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Рейка Сметанова (ok), 22:25, 11/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ура паскаль
     
     
  • 2.44, Аноним (44), 11:49, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, ObjectPascal -> C++
     
  • 2.62, Аноним (62), 19:13, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А поддерживать кто будет? Я так понимаю после трансляции мешанина получится неживая-нечитаемая
     

  • 1.4, Аноним (4), 22:48, 11/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Кстати, из интересного про IBM:
    https://habr.com/ru/company/selectel/blog/555940/
    Вдруг кто-то ещё не видел.
     
     
  • 2.38, n00by (ok), 09:53, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Кстати, из интересного про IBM:
    > https://habr.com/ru/company/selectel/blog/555940/
    > Вдруг кто-то ещё не видел.

    Мечты, мечты. А вот реальность с TMSC:

    11 мая

    Здравствуйте, Сергей!
    Ранее вы интересовались товаром Процессор AMD Ryzen 5 PRO 4650G OEM
    К сожалению, продажи данного товара прекращены. Товар больше не будет представлен в сети ***.

    Зато в продаже появились 2200G, а блоггеры во всю тестируют 5xxxG ;)

     
     
  • 3.45, Аноним (44), 11:55, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    TSMC
     
  • 3.94, Ыр2.0 (?), 15:32, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже хотел купить этот процессор, но мне тоже заявили, что он исчез из продажи и неизвестно когда появится. ='( Ссылались на коронобесие.
     
     
  • 4.95, n00by (ok), 16:14, 20/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мне через полгода ответ пришёл. Но я сразу уловил тенденцию и особо не рассчитывал, что появятся в продаже, а не только в прайсах. Дело не только в том, что по сути 1 фабрика на весь мир и выгоднее производить что подороже, но и в охлаждении. Для ноутов такие процессоры пригодны, поскольку расположение тепловых трубок подгоняют инженеры, а для "сборки дома" далеко не каждый охладитель даже из дорогих подойдёт (кристалл маленький и сбоку, важно направление и расположение трубок, если прямой контакт).
     
  • 2.82, Урри (ok), 09:52, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вместо "Компания IBM создала первый в мире 2 нм процессор и изготовила тестовые образцы."
    следует читать
    "Компания IBM доработала технологию производства процессоров, и маркетологи назвали это 2 нм".

    Чайникам, которые хотят почитать о реальных нанометрах и больше не позориться, выставляя чушь маркетологов на всеобщее обозрение: https://habr.com/ru/company/droider/blog/510796/

    tldr;
    Производители начали называть всё подряд 10, 7 и вообще 5 нанометрами, а кто-то уже говорит и о 3 нанометрах! Можно всё это ставить в кавычки, как простое обозначение поколения процессоров.

    На картинке реальные размеры транзисторов и их маркетинговое обозначение:
    https://habrastorage.org/getpro/habr/post_images/f8a/658/780/f8a658780381f37a3

     

  • 1.5, Аноним (5), 22:49, 11/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    осталось ии научить клепать формы и можно макак-формошлепов гнать на мороз
     
     
  • 2.9, иПони (?), 23:15, 11/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    согласен! Вместе с модерами
     
  • 2.19, Аноним (-), 00:50, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ты первый на мороз и пойдешь
     
  • 2.28, Аноним (28), 07:00, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    все они давно перебрались на фронт
     
  • 2.31, лютый жабби__ (?), 08:26, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >осталось ии научить клепать формы и можно макак-формошлепов гнать на мороз

    хихи... Помню, развлекался 20 лет назад: берешь английскую фразу, потом переводчиком на русский, потом ещё раз в английский... и плачешь, плачешь.... Прошло 20 лет, Искустенный Идиотизм недалеко ушёл от своего предка.

    ну ждите, ждите ии-кодера...

     
     
  • 3.37, n00by (ok), 09:45, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>осталось ии научить клепать формы и можно макак-формошлепов гнать на мороз
    > хихи... Помню, развлекался 20 лет назад: берешь английскую фразу, потом переводчиком на
    > русский, потом ещё раз в английский... и плачешь, плачешь....

    Это же классика, когда из фразы "дух силён, но плоть слаба" получилось "вино прилично, но мясо протухло".

    Ныне можно просто почитать описания товаров на Али.

     
     
  • 4.58, YetAnotherOnanym (ok), 17:49, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > описания товаров на Али

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

     
     
  • 5.69, лютый жабби__ (?), 20:02, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Сильно подозреваю, что корявые описания товаров на Али сознательно

    окуенная фишка. а ещё всплывающие при КАЖДОМ переходе баннеры про купоны тоже крутая фишка?
    и что авторизация молча не работает без 3dparty cookies и в целом глючат даже менюшки в последней версии chromium. может это какой-то китайский прикол, я его не понял и алипомойкой принципиально не пользуюсь, хотя там обычно намного дешевле, чем на ебеепомойке )

     
     
  • 6.71, YetAnotherOnanym (ok), 20:52, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Опять-таки подозреваю, что сайт кодят одни люди, а перевод готовят другие. Ну, и у меня баннер про купон только на первой странице. М.б. у тебя куки зарезаны и оно не запоминает, что ты этот баннер на прошлой странице закрыл.
     
  • 4.72, Аноним (72), 21:26, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > дух силён, но плоть слаба

    Пертурабо, ты?!

     
  • 4.83, Урри (ok), 09:54, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    гугл корректно переводит эту фразу туда и обратно.
     
     
  • 5.87, n00by (ok), 10:28, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Дык ещё бы, это же классика. При этом "good knowledge" переводит как "хорошие знания", а по-русски так не говорят.
     
  • 3.43, random1st (?), 11:44, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Немного отстали от жизни. Сейчас Google Translate переводит вполне себе адекватно.
     
     
  • 4.47, n00by (ok), 12:55, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Немного отстали от жизни. Сейчас Google Translate переводит вполне
    > себе адекватно.

    Во-во, себе что-то переводит, а нам не показывает.

     
  • 4.55, лютый жабби__ (?), 17:22, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Немного отстали от жизни. Сейчас Google Translate переводит вполне себе адекватно.

    видимо ты надмозг непритязательный. Я переводил пару лет назад обычную статью на 50 страниц (не техническую, без спец терминов, без идиом, метафор, гипербол, аллюзий и всей остальной ботвы, которую ИИ НИКАК не ест). ну да, чуть быстрее оказалось скормить гуглотранслэйту, а потом править результат. Но править пришлось примерно треть тредложений ЖЕСТКО, треть косметически и только треть похожа на человеческую речь.

    А чуть более сложные примеры подсовываешь и идиотизм ИИ во всей красе виден, собсно ты почитай как GPT3 сделано... просто подставляет статистически более вероятные слова.

     
  • 3.50, Анонас (?), 15:17, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут есть один нюанс. Языки программирования строго формализированы, в отличии от английского с русским. И по идее перевод с Кобола на Джаву должен быть таким же строгим, как преобразование формулы в математике.
     
     
  • 4.54, n00by (ok), 17:19, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тут есть один нюанс:

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

     
     
  • 5.57, Анонас (?), 17:43, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тут есть один нюанс:
    > "При преобразовании из одного языка программирования в другой контекст не менее важен,
    > чем при переводе из одного человеческого языка на другой. Именно отсутствие
    > учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL."

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

     
     
  • 6.79, n00by (ok), 07:28, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Тут есть один нюанс:
    >> "При преобразовании из одного языка программирования в другой контекст не менее важен,
    >> чем при переводе из одного человеческого языка на другой. Именно отсутствие
    >> учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL."
    > Отсутствие контекста мешает вывести алгоритм перевода. Но если такой алгоритм найти, то
    > для каждой пары языков он будет давать точное семантическое соответствие 1-в-1.
    > Собственно, любой компилятор (или транспайлер) уже это делает.

    Вот только вывод после транспайлера нечитаем человеком.

     
     
  • 7.90, Анонус (?), 15:33, 14/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот только вывод после транспайлера нечитаем человеком.

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

     
     
  • 8.91, n00by (ok), 09:03, 15/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    То есть тезис к решаемой проблеме некому поддерживать Кобол, зато есть программ... текст свёрнут, показать
     
  • 5.73, Аноним (72), 21:29, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ухита. Все ЯП в конечном итоге приводятся к машинным кодам.
     
     
  • 6.78, n00by (ok), 07:21, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Все ЯП в конечном итоге приводятся к машинным кодам.

    Возвращайтесь, когда наберётесь опыта в переводе машкода в понятную Сишечку. Ну или хотя бы гляньте выхлоп Glasgow Haskell Compiler или MLton.

     
  • 5.84, Урри (ok), 09:56, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Компиляторы умеют в контекст? Ого.
    Может они еще в войну и мир умеют?
     
     
  • 6.86, n00by (ok), 10:23, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так о том и речь, что не умеют, потому транспиляция из одного ЯВУ (COBOL) в другой (Java) не получается. Новость о том, что хотят обучить сетку на массе готовых фрагментов и посмотреть, что же из этого получится. Но кто-то увидел в ней доказательство "теоремы" Чёрча-Тьюринга.
     
  • 4.60, лютый жабби__ (?), 18:39, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Языки программирования строго формализированы

    Ты явно не программизд... у меня отдельчик, все жабисты.... один упарывается по SOLID - фабрики-интерфейсов-енумов-интерфейсов, другой по функциональщине - всё на стримах, третий на "куяк-куяк и в прод", я по KISS.... разница настолько колоссальная, я бы сказал что в стихах Есенина, Маяковского и Успенского разницы меньше ) теперь расскажи что там по твоему формализовано )

     
     
  • 5.68, Анонас (?), 19:59, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>Языки программирования строго формализированы
    > Ты явно не программизд...

    А ты походу программист от сохи и математика для тебя кончилась на квадратном трехчлене? Поинтересуйся, что такое:
    https://ru.wikipedia.org/wiki/Формальный_язык
    https://ru.wikipedia.org/wiki/Формальная_грамматика
    https://ru.wikipedia.org/wiki/Формальная_семантика


     
     
  • 6.70, лютый жабби__ (?), 20:12, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >А ты походу программист от сохи и математика для тебя кончилась на квадратном трехчлене

    Какая связь у современного программирования и математики? НИКАКОЙ ) Я помню в универе вумных дедушек, прогающих на паскале прожки на пару страничек. Ты видимо из них...

     
     
  • 7.74, Аноним (72), 21:31, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Прямая. Она под капотом.
    Но кнопкодавы как тот 3.14дор из анекдота "ага, а потом и мопедик починим".
     
  • 3.52, Аноним (52), 15:49, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    IBM лет десять назад запустил искусственный интеллект, который соответствовал развитию 3-летнего человека!

    Сегодня, наверно все ПО в IBM уже пишет повзрослевший "Ватсон".

     
     
  • 4.56, лютый жабби__ (?), 17:24, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >искусственный интеллект, который соответствовал развитию 3-летнего человека!

    поржал... с трёхлетки можно только лулзы ловить.

     

  • 1.24, Аноним (24), 02:26, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Я так понимаю, основная цель cobol-java.
    И пусть бесплатные энтузиасты сделают большой кусок работы.
    Очень жадные банкиры.
     
     
  • 2.29, Anon2 (?), 08:08, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Жду не дождусь времени когда моим счетом в банке будет управлять программа, автоматически транслированная из cobol на java и меня посадят за спонсирование терроризма через мой счет.
    Навеяно https://habr.com/ru/company/itsoft/blog/554404/
    Fujitsu, IBM ведь уважаемые компании, да?
     

  • 1.30, ryoken (ok), 08:26, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это, а в ассемблеры всяких архитектур оно смогёт? :D
     
     
  • 2.34, Аноним (34), 09:04, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это называется "компилятор".
     

  • 1.32, макпыф (ok), 08:40, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    перевести ядро на java сможет?

    Надеюсь нет, а то гугл тим точно заинтересуеться и настанет андроиду полный пипец

     
  • 1.33, Аноним (34), 09:03, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > решающих 4053 типовых проблем программирования

    Круто, а есть ссылка на список?

     
     
  • 2.64, Аноним (64), 19:38, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот и выросло поколение, не заставшее справочник Дьяконова...
     

  • 1.35, GrandProgrammer (ok), 09:11, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Классно было бы узнать про подробности реализации. Если аннотации оформлены в онтологическом виде Linked Data, то это просто пушка.
     
     
  • 2.49, Анонас (?), 15:12, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А есть какая-то готовая онтология, в терминах которой можно выражать свойства кода?
     

  • 1.36, Lex (??), 09:35, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Т.е из чего-то протестированного и сделанного кем-то умным, получить неведомо как работающий «кусок» ?

    То ли это шутка, то ли - МДМ всерьёз решила уничтожить банки, использующие кобол посредством преобразования того, что хоть как-то работает в то, что работает вообще черти как.. и написано так же

     
  • 1.39, AlexVRud (ok), 09:56, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > для систем машинного обучения, транслирующих ... код

    А сколько новых ошибок при этом в новом коде появиться? У этих всяких ИИ же нормально делать правильный ответ только в 70-90% случаев. А на генерируемых картинках артефакты всё одно заметны.

    Хотя если они достигли качества на уровне обезьян делающих туже работу, то может и взлететь ;)

     
     
  • 2.42, random1st (?), 11:43, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Ну, учитывая, что некоторые так и не научились на родном языке писать "тся" и "ться"  - на ИИ наговаривать не стоит.
     

  • 1.40, AlexVRud (ok), 10:00, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > коллекция насчитывает около 500 млн строк кода ... а наборы данных планируется распространять в форме общественного достояния.

    Т.е. они нашли "500 млн строк кода" с лицензией "в форме общественного достояния"?

     
     
  • 2.41, Аноним (41), 10:09, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А на GitHub лицензии автоматически детектируются.
     
  • 2.75, Аноним84701 (ok), 22:31, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> коллекция насчитывает около 500 млн строк кода ... а наборы данных планируется распространять в форме общественного достояния.
    > Т.е. они нашли "500 млн строк кода" с лицензией "в форме общественного достояния"?

    Первый пример из Mini-набора
    Метаданные:
    submission_id,problem_id,user_id,date,language,original_language,filename_ext,status,cpu_
    time,memory,code_size,accuracy
    s000239334,p02407,u857791651,1555058824,C,C,c,[b]Accepted[/b],0,2148,340,[b]4/4[/b]
    -
    id,name,dataset,time_limit,memory_limit,rating,tags,complexity
    p02407,Reversing Numbers,AIZU,1000,131072,,,



    #include<stdio.h>
    int main(void){
        int i,n;
        int a[100],b[100];
        scanf("%d",&n);
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
            b[n-1-i]=a[i];
        }
        for(i=n-1;i>=0;i--){
            printf("%d",b[n-1-i]);
            if(i!=0){
                printf(" ");
            }else{
                printf("\n");
            }
        }
        return 0;
    }

    $ gcc -Wall -O2 rev.c && seq 120 129|./a.out
    1 0 11936768 8 35997136 8 6294672 0 37571744 8 8 37571744 0
    ...
    -225447180 32767 -13211744 8 11932080 0 109760260 0 129 128 127 126 125 124 123 122 121
    zsh: done                seq 120 129 |
    zsh: segmentation fault  ./a.out


    Или я не так прочитал и понял метаданные, или ... а это точно "достояние"?

     
     
  • 3.88, n00by (ok), 10:41, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > zsh: segmentation fault  ./a.out

    Это мелочи. Написано же "ИИ" -- значит надо акции покупать!

     
  • 3.89, Ordu (ok), 11:59, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Или я не так прочитал и понял метаданные, или ... а это точно "достояние"?

    Они жеж прямо сказали, что код понадёргали из решений олимпиадных задач. Такого рода задачки, как правило, чётко дают условие, что входные данные будут корректно сформированы. В этой задачке, я предположу, было сказано, что на входе будет:

    N A_1 A_2 A_3 ... A_N

    и что N<=100.

    Вполне норм условия для олимпиадной задачи. Просто если делать олимпиадные задачи более реалистичными, то победа в олимпиаде будет требовать не столько умения составлять алгоритмы, сколько умения парсить и валидировать данные. В том смысле, что самый тупой и неэффективный алгоритм победит не потому, что он быстрее, а потому что быстрые сойдут с дистанции, выдав сегфолт на невалидных данных или выкинув ошибку на вполне валидных данных. И тогда в олимпиадах начнут побеждать скучные профессиональные программисты, а не блестящие подростки с iq 150+. Но так же нельзя, у нас же культ интеллекта, а не умения тупо работать, так?

     

  • 1.46, Аноним (46), 12:27, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >>системы машинного обучения могут улавливать и учитывать контекст использования кода

    А могут и не улавливать. Гарантий нет. Как повезёт. К тому же, если там нейронки, то последние вообще плохо справляются с анализом и категоризацией текстов. Это не изображения.

     
  • 1.48, Аноним (48), 15:01, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ура! Вот что перепишет Линукс на Раст!
     
     
  • 2.51, Аноним (44), 15:22, 12/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не, если его ещё подтренировать, то оно перепишет Linux в Hurd.
     

  • 1.59, Анто769ним (?), 18:36, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > устаревшие... Fortran

    Сами вы устаревшие.

     
     
  • 2.77, lockywolf (ok), 06:01, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С тех пор, как CERN решил таки переходить с Фортрана на С++, будущее Фортрана туманно.

    Вроде как, на Фермилабе его ещё используют, но уход главного контрибутора -- это почти приговор.

     
     
  • 3.80, Анто769ним (?), 07:45, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я лично участвую в проекте по переписыванию с Си на Фортран частей коммерческой софтины.
     
     
  • 4.81, lockywolf (ok), 08:04, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я лично участвую в проекте по переписыванию с Си на Фортран частей
    > коммерческой софтины.

    А в чём радость? allocatable? Так он куций довольно. Утечки памяти? В наличии. Объектная система? Ну, кажется, не лучше gobject. Параллелизм? Ну, он примерно такой же, как в openmp.

    Указателей на указатели нет. (Хотя можно завернуть указатель в объект.)

    Вы хотя бы, кого таргетите? Intel или Nag?

     
     
  • 5.85, Урри (ok), 10:02, 13/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего у них нету специалистов в С, но есть специалисты в фортране.

     

  • 1.65, Аноним (64), 19:48, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования

    Это чё, у них там свой стаковерфлоу с форумом и роботицами?

     
  • 1.76, user90 (?), 23:25, 12/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ээ, Скайнет?
     
     
  • 2.96, Леголас (ok), 05:47, 22/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    мб, мб...
     

  • 1.92, Аноним (92), 22:52, 15/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    За то время и деньги которые на это все потрачены, уже бы десять раз переписали и протестировали то что им там надо оттранслировать.
     
  • 1.93, Аноним (93), 04:01, 17/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насколько я понял, это задачи с вариантами решений с двух сайтов для японских школьников.
    Никакой полезной обработки не видно.
    Использовать это для определения языка не вижу смысла. Почему нельзя надергать кода с гитхаба. Расширение файла говорит об языке. Бери достаточно большие участки кода из файла как пример и все дела.
    Есть стэковерфлоу, где можно по тексту и примерам определять какой язык указан в тэгах.
    Для автоперевода тоже странный набор данных. Логичнее брать хорошо документированные библиотеки. Там и код нормального качества и связь с тестами и описанием хорошая.
    Вот если бы они собрали такие базы было бы интересно.
    А школьная база может дать только ответ на вопрос типа: какие темы вызывают наибольшее затруднения у школьников и требуют более подробного объяснения.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру