JetBrains та Delft University of Technology об'єднали зусилля для створення AI for Software Engineering (AI4SE)
JetBrains та Delft University of Technology об'єднали зусилля для створення AI for Software Engineering (AI4SE)
Поява передових інструментів на основі штучного інтелекту призвела до появи величезної кількості можливостей та перетворень як у практичних, так і в теоретичних аспектах розробки програмного забезпечення. Визнаючи цю тенденцію, JetBrains і Делфтський технологічний університет Delft University of Technology об'єднали зусилля, щоб створити дослідницьке партнерство в галузі штучного інтелекту для розробки програмного забезпечення AI for Software Engineering (AI4SE). Завдяки цьому співробітництву JetBrains сповнені рішучості продовжити передові дослідження впливу та використання методологій штучного інтелекту у розробці програмного забезпечення. Області уваги еклектичні та охоплюють весь спектр предметної галузі: від розробки програмного забезпечення до тестування та навчання програмування.
AI4SE AI for Software Engineering складається з п'яти основних дослідницьких напрямків , в яких дослідники з JetBrains та Делфтського технічного університету, а також аспіранти співпрацюють з різних актуальних тем.
Лабораторії прикладного програмного аналізу, ICTL і ML4SE в JetBrains Research братимуть участь у AI4SE.
Якщо ви зацікавлені в тому, щоб приєднатися до дослідницької групи як аспірант, просто натисніть на кожну вакансію, включену в описи треків, щоб подати заявку.
Трек 1: Генерація коду для перевірки / Перевірка коду за допомогою генерації.
У цьому треку розглянемо, як генерувати код із використанням методів штучного інтелекту. Наша мета – вивчити різні стратегії перевірки коду, згенерованого ІІ, та те, як цей тип коду може допомогти розробникам перевіряти свій власний код, написаний вручну.
Track 1: Code Generation for Validation / Code Validation Через Generation
У цьому треку, ми можемо побачити, як генерує код використання AI techniques. Наскільки це відбувається для різних стратегій для validating AI-generated code and how this kind of code can help developers validate their own manually written code.
Напрямок 2: Адаптація та оптимізація LLM.
У цьому курсі розповімо, як удосконалити загальні моделі великих мов для коду, щоб вони відповідали ряду сценаріїв. Ціль полягає в тому, щоб навчитися адаптувати ці моделі до конкретних потреб окремих користувачів, проектів та організацій, щоб ми могли забезпечити персоналізовані результати. Моделі будуть оптимізовані для отримання законних, безпечних та своєчасних прогнозів, а також ефективної роботи на пристроях із низьким рівнем ресурсів.
Track 2: LLM Adaptation and Optimization
In this track, we'll cover how to refine generic large language models for code to suit a range of scenarios. Принцип полягає в дослідженні того, щоб повторити ці моделі на конкретні потреби в окремих користувачах, проектах, і організаціях так, що ми можемо personalized outputs. The models will be optimized до produce legal, safe, і timely predictions while also operating efficiently on low-resource devices.
Трек 3: Інтерактивні та узгоджені IDE
У цьому треку прагнемо впровадити нові методи роботи з великими мовними моделями, такі як генерація коду або пояснення коду, у робочі процеси розробників з мінімальним занепокоєнням для користувачів, тим самим підвищуючи їхню продуктивність. Для досягнення цієї мети ми вивчимо взаємодію користувачів з моделлю в IDE, вивчимо досвід користувача і з'ясуємо, як найкраще побудувати довіру між розробниками та їх інтелектуальними агентами.
Track 3: Interactive і Aligned IDEs
у цьому треку, ми робимо доповнення до великої англійської моделі практики як код generation або code explanation in developers' workflows with minimal disturbance to users, thus improving their productivity. Для того, щоб зробити це, ми будемо вивчити user interaction з моделями в IDEs, розглянути user experience, і вивчити, як до величезних будівельних простих між розробниками і своїми intelligent agents.
Напрямок 4. Використання інформації часу виконання для покращення процесів розробки
У цьому курсі розглянемо, як плавно інтегрувати інформацію часу виконання в IDE JetBrains, покращуючи якість розробки за рахунок підвищення якості коду, виявлення та усунення проблем з продуктивністю, а також надання точної допомоги за кодом усередині середовище IDE. Це вимагатиме від нас подолання розриву між статичною та динамічною інформацією у методах машинного навчання.
Track 4: Використовуючи Runtime Information для Improve Development Processes
У цьому треку, ми можемо помітити, що як завжди integrate runtime information в JetBrains IDEs, вдосконалення розвитку практики шляхом поліпшення якості якості, pinpointing and addressing per the IDE environment. Це буде необхідно, щоб встановити гап між static і dynamic information within machine learning techniques.
Напрямок 5: Інтелектуальний помічник викладача у навчанні програмування
У цьому напрямі прагнемо розробити інтелектуального помічника для студентів на базі штучного інтелекту, який забезпечує контекстно-інформовану підтримку навчання програмуванню, одночасно стимулюючи передачу знань. Зокрема, ми зосередимося на тому, як автоматично згенеровані підказки можуть допомогти учням знайти правильне рішення, як учні взаємодіють з інтелектуальним помічником і наскільки ефективно їх взаємодія допомагає досягти своїх цілей навчання.
Track 5: Intelligent Teaching Assistant в Programming Education
У цьому треку, ми збираємося на розробку інтелектуального, AI-based student assistant, що здійснюється context-informed support for programming education while stimulating knowledge transfer. Спеціально, ми фокусуємося на те, як автоматично генеруються рухи можуть керувати школярам до правого рішення, як школярі беруть участь з химерним консультантом, і як ефективні свої взаємини є в допомозі їм досягти їх освітлення objectives.