|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Моя учёба в CIT |
| 4 | +ref: experience-at-cit |
| 5 | +--- |
| 6 | +{% include refs/experience-at-cit.md %} |
| 7 | +Constructor Institute of Technology (CIT) — это |
| 8 | +институт в Шаффхаузене, Швейцария, в котором я |
| 9 | +провёл два года моей аспирантуры в области верификации программного |
| 10 | +обеспечения на Эйфеле. К сожалению, [СIT было решено закрыть в 2025][close]. |
| 11 | +В этом посте я хочу сохранить ссылки на некоторые проекты, |
| 12 | +над которыми мы работали. |
| 13 | + |
| 14 | +Я работал на [кафедре программной инженерии][se] |
| 15 | +под руководством [Бертрана Мейера][bm]. В моё время |
| 16 | +на кафедре было ещё несколько аспирантов: [Ли Хуан][lh] |
| 17 | +(успела защититься и получила степень, поздравляю!), |
| 18 | +[Алессандро Скена][as] и [Рето Вебер][rw]. Нашу научную и преподавательскую |
| 19 | +деятельность поддерживал [Марко Пиччони][mp]. |
| 20 | + |
| 21 | +## Статическая верификация в AutoProof |
| 22 | +Наша работа охватывала различные области программной инженерии. |
| 23 | +Особое внимание уделялось статической верификации. Главным продуктом |
| 24 | +команды в этой сфере является [AutoProof][autoproof], |
| 25 | +который является частью научного окружения [Reif][reif]. |
| 26 | +AutoProof — это статический верификатор для программ на Эйфеле. |
| 27 | +С его помощью можно автоматически проверить согласуется ли |
| 28 | +тело процедуры с контрактами. |
| 29 | + |
| 30 | +Основная часть моего вклада в код верификатора заключается |
| 31 | +в реализации и расширении подхода, описанного в статье нашей кафедры |
| 32 | +["The concept of class invariant in object-oriented programming"][inv]. |
| 33 | +К сожалению, наша работа была прервана закрытием института. |
| 34 | + |
| 35 | +## Могут ли LLM помочь с исправлением верифицированного ПО? |
| 36 | +Наше последнее исследование в институте изучало насколько |
| 37 | +чаты с LLM могут помочь в исправлении багов, когда у программистов |
| 38 | +есть доступ к верификтору. Отчёт об этом исследовании называется |
| 39 | +["Do AI models help produce verified bug fixes?"][llm]. |
| 40 | + |
| 41 | +Я считаю, что верификация ПО может взять |
| 42 | +случайность в ответах больших языковых моделей под контроль. Верификатор |
| 43 | +может подтвердить, что исправление в самом деле "корректно", а не просто |
| 44 | +"статистически выглядит подходящим". |
| 45 | + |
| 46 | +Мы попросили 25 программистов исправить баги в программах. |
| 47 | +Некоторым был доступен чат-бот и верификатор, некоторым было разрешено |
| 48 | +работать только с верификатором. |
| 49 | + |
| 50 | +Результаты показали, что LLM наиболее полезны начинающим пользователям |
| 51 | +(чтобы добиться хоть какого-то результата) и экспертам (быстро реализовать |
| 52 | +самостоятельно придуманное решение). Разработчики со средним уровнем знаний |
| 53 | +получают меньше пользы от LLM. |
| 54 | + |
| 55 | +Я [писал больше][llm-blog] об эксперименте в блоге кафедры. Конечно, |
| 56 | +в самой статье можно получить ещё больше информации. |
| 57 | + |
| 58 | +## Планы на будущее |
| 59 | +У меня есть ещё несколько проектов из Constructor Institute of Technology, |
| 60 | +которые я бы хотел подсветить, но я оставлю их для будущих постов. |
| 61 | +Подпишитесь на [RSS ленту][feed], чтобы их не пропустить! |
| 62 | + |
| 63 | +В общем, я рад, что у меня была возможность для работы над продвинутыми |
| 64 | +темами программной инженерии в умелой команде, возглавляемой Бертраном Мейером. |
| 65 | +Условия работы были великолепными и позволили нам сконцентрироваться на |
| 66 | +науке. Лично мне грустно, что наша работа прервалась так резко. |
| 67 | + |
| 68 | +Я надеюсь, что у нас ещё будет возможность собраться командой и |
| 69 | +продолжить нашу работу. |
0 commit comments