Создан инструмент, позволяющий обнаруживать баги прямо во время написания кода
В рамках исследования, опубликованного в Journal of Object Technology, исследователи разработали новую технику проверки для UML / OCL модели, решающие общую проблему. В новом методе применяются дополнительные методы проверки, в которых упрощаются проверки модели всякий раз, когда вносятся изменения. Вместо того, чтобы проверять модель только в конце процесса, как это имеет место в настоящее время, это позволяет проверять ее во время разработки без необходимости начинать с нуля, что облегчает раннее обнаружение ошибок.
Любой проект требует разработки серии начальных планов до начала реализации, которые служат основой и руководством для всего процесса. Аналогичная процедура применяется при разработке программного обеспечения с включением определенного шага, известного как моделирование.
Инженеры используют моделирование для описания программы с определенной точки зрения, например, с данными, которые она будет использовать, ее компонентами или ожидаемым ими образом работы. Возвращаясь к примеру строительного проекта, планы будут "моделями", которые можно использовать в качестве руководства на этапе разработки, а также для проведения моделирования и испытаний.
По словам исследователей, наиболее часто используемым типом модели является нотация диаграммы классов UML (Unified Modeling Language), которая используется для описания структуры программной системы. Преимущество работы с этими моделями состоит в том, что они более абстрактны, чем исходный код, который содержит множество конкретных деталей об используемой технологии. И эти модели могут быть более краткими, простыми в изготовлении и понимании".
Таким образом, моделирование могло бы служить скорее предварительным шагом, чем альтернативой исходному коду. Модели упрощают понимание разрабатываемой системы, а также могут использоваться для создания определенных элементов реализации, автоматизируя наиболее повторяющиеся части процесса программирования.
Инженеры используют инструменты проверки, чтобы предотвратить ошибки, которые могут повлиять на сам код и, следовательно, на окончательную реализацию системы.
"Мы должны убедиться, что модели верны, чтобы свести к минимуму возможные ошибки в программном обеспечении, которые могут возникнуть в результате". Профессор Университета Оберта де Каталония, член исследовательской группы SOM Research Lab Роберт Кларисо
Каждый раз, когда вносятся изменения в модель, например, добавление, удаление или изменение информации - это означает, что вся система должна быть повторно проанализирована, поэтому проверка обычно выполняется только после того, как окончательная модель была создана в конце процесса.
Этот метод также является новаторским в том, что касается использования сертификатов, примеров, иллюстрирующих правильную работу модели. Как отметил исследователь: "Когда мы модифицируем модель, наличие нового сертификата устраняет необходимость в ее проверке.
Адаптация сертификата обходится гораздо дешевле, чем повторный запуск процесса проверки. Объясняя процесс, авторы предлагают, чтобы вместо проверки новой модели сертификат исходной модели можно было адаптировать к новой. Самая крупная проблема, с которой они сейчас сталкиваются, заключается в интеграции этих методов в существующие инструменты и среды программного моделирования.