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 Through Generation
In this track, we’ll look at how to generate code using AI techniques. Our aim is to explore the different strategies for 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. The goal is to learn how to tailor these models to the specific needs of individual users, projects, and organizations so that we can ensure personalized outputs. The models will be optimized to produce legal, safe, and timely predictions while also operating efficiently on low-resource devices.
Трек 3: Интерактивные и согласованные IDE
В этом треке стремимся внедрить новые методы работы с большими языковыми моделями, такие как генерация кода или объяснение кода, в рабочие процессы разработчиков с минимальным беспокойством для пользователей, тем самым повышая их производительность. Для достижения этой цели мы изучим взаимодействие пользователей с моделью в IDE, изучим пользовательский опыт и выясним, как лучше всего построить доверие между разработчиками и их интеллектуальными агентами.
Track 3: Interactive and Aligned IDEs
In this track, we seek to embed emerging large language model practices like code generation or code explanation into developers’ workflows with minimal disturbance to users, thus improving their productivity. To achieve this aim, we’ll study user interaction with the model in IDEs, research user experience, and investigate how to best build trust between developers and their intelligent agents.
Направление 4. Использование информации времени выполнения для улучшения процессов разработки
В этом курсе рассмотрим, как плавно интегрировать информацию времени выполнения в IDE JetBrains, улучшая качество разработки за счет повышения качества кода, выявления и устранения проблем с производительностью, а также предоставления точной помощи по коду внутри среду IDE. Это потребует от нас преодоления разрыва между статической и динамической информацией в методах машинного обучения.
Track 4: Utilizing Runtime Information to Improve Development Processes
In this track, we’ll look at how to seamlessly integrate runtime information into JetBrains IDEs, elevating the development experience by enhancing code quality, pinpointing and addressing performance issues, and providing precise code assistance within the IDE environment. This will require us to bridge the gap between static and dynamic information within machine learning techniques.
Направление 5: Интеллектуальный помощник преподавателя в обучении программированию
В этом направлении стремимся разработать интеллектуального помощника для студентов на базе искусственного интеллекта, который обеспечивает контекстно-информированную поддержку обучения программированию, одновременно стимулируя передачу знаний. В частности, мы сосредоточимся на том, как автоматически сгенерированные подсказки могут помочь учащимся найти правильное решение, как учащиеся взаимодействуют с интеллектуальным помощником и насколько эффективно их взаимодействие помогает им достичь своих целей обучения.
Track 5: Intelligent Teaching Assistant in Programming Education
In this track, we’re aiming to develop an intelligent, AI-based student assistant that provides context-informed support for programming education while stimulating knowledge transfer. Specifically, we’ll focus on how automatically generated hints can guide students toward the right solution, how students interact with the intelligent assistant, and how efficient their interactions are in helping them achieve their learning objectives.
