Для студентов МГИМО по предмету Любой или несколько предметовПредметно-ориентированные аннотации для типов в JavaПредметно-ориентированные аннотации для типов в Java
4,9551036
2024-07-272024-07-27СтудИзба
Курсовая работа: Предметно-ориентированные аннотации для типов в Java
Описание
Оглавление
3
3.1.6. Правила вывода типов объявлений методов и кон-
структоров....................... 19
4
Введение
При разработке современных промышленных приложений зачастую возникает множество разнообразных и трудноуловимых ошибок, кото-рые могут приводить к некорректному поведению программы во время исполнения. Эффективным языковым средством, позволяющим избе-гать многих ошибок, является система типов языка.
Основная роль системы типов любого языка программирования, как формального метода проверки корректности программ, заключается в сокращении числа ошибок, возникающих в этих программах [14]. Это возможно благодаря классификации выражений языка по разновид-ностям вычисляемых ими значений. Классы в такой классификации называются типами языка программирования.
Несмотря на высокую эффективность, системы типов гарантиру-ют отсутствие только определенных видов ошибок [6]. Например, боль-шинство систем типов способны статически проверить, что в качестве фактического параметра метода, принимающего целое число, действи-тельно используется целочисленное значение. Однако системы типов не способны гарантировать, чтобы при вызове метода пользователь в пра-вильном порядке перечислял аргументы, которые принадлежат одному
языке программирования Java подобные ошибки особенно часто возникают при использовании примитивных типов. К сожалению в про-мышленном коде подобные ошибки приводят к нежелательным послед-ствиям, в том числе к убыткам. Чтобы избегать таких ошибок, можно размечать примитивные типы дополнительной информацией, а затем с помощью статических проверок, использующих эту информацию
| Введение | 5 | |||
| Благодарности | 7 | |||
| 1. | Постановка задачи | 8 | ||
| 2. | Обзор | 9 | ||
| 2.1. | Возможные подходы к решению проблемы . . . . . . . . | 9 | ||
| 2.1.1. Изменение архитектуры: объявление новых типов | ||||
| с помощью Java классов . . . . . . . . . . . . . . . | 9 | |||
| 2.1.2. | Смена языка программирования . . . . . . . . . . | 10 | ||
| 2.1.3. | Использование библиотек единиц измерения . . . | 11 | ||
| 2.1.4. Использование аннотаций для разметки и анализа | ||||
| исходного кода программы . . . . . . . . . . . . . . | 12 | |||
| 2.2. | Annotation Processing Tool. Инструментальное средство | |||
| дляанализааннотаций.................... | 13 | |||
| 2.3. | Похожее решение. Checker Framework . . . . . . . . . . . | 14 | ||
| 2.4. | Выводы............................. | 15 | ||
| 3. | Описание алгоритма анализа исходного кода | 16 | ||
| 3.1. | Правила вывода уточняющих типов . . . . . . . . . . . . | 17 | ||
| 3.1.1. Правила вывода типов для литералов и идентифи- | ||||
| каторов......................... | 17 | |||
| 3.1.2. Правила вывода типов для вызовов методов и кон- | ||||
| структоров....................... | 17 | |||
| 3.1.3. Правила вывода типов для объявлений локальных | ||||
| переменныхиполей.................. | 18 | |||
| 3.1.4. Правила вывода типов для выражений с бинарны- | ||||
| ми и унарными операторами . . . . . . . . . . . . | 18 | |||
| 3.1.5. Правила вывода типов для выражений с обраще- | ||||
| нием к массиву и тернарным оператором . . . . . | 19 | |||
3
3.1.6. Правила вывода типов объявлений методов и кон-
структоров....................... 19
- Архитектура инструментального средства и особенности
| реализации | 20 | |
| 4.1. | Архитектурасистемы..................... | 20 |
| 4.2. | Статические проверки соответствия размеченных типов | 22 |
| 4.3. | Создание и использование иерархии подтипов . . . . . . | 23 |
| 4.4. | Использование типов в операторах . . . . . . . . . . . . . | 24 |
| 4.5. | Выводсообщенийобошибках . . . . . . . . . . . . . . . . | 25 |
| 5. Апробация реализованного инструмента | 26 | |
| Заключение | 28 | |
| Список литературы | 29 | |
4
Введение
При разработке современных промышленных приложений зачастую возникает множество разнообразных и трудноуловимых ошибок, кото-рые могут приводить к некорректному поведению программы во время исполнения. Эффективным языковым средством, позволяющим избе-гать многих ошибок, является система типов языка.
Основная роль системы типов любого языка программирования, как формального метода проверки корректности программ, заключается в сокращении числа ошибок, возникающих в этих программах [14]. Это возможно благодаря классификации выражений языка по разновид-ностям вычисляемых ими значений. Классы в такой классификации называются типами языка программирования.
Несмотря на высокую эффективность, системы типов гарантиру-ют отсутствие только определенных видов ошибок [6]. Например, боль-шинство систем типов способны статически проверить, что в качестве фактического параметра метода, принимающего целое число, действи-тельно используется целочисленное значение. Однако системы типов не способны гарантировать, чтобы при вызове метода пользователь в пра-вильном порядке перечислял аргументы, которые принадлежат одному
- тому же типу.
языке программирования Java подобные ошибки особенно часто возникают при использовании примитивных типов. К сожалению в про-мышленном коде подобные ошибки приводят к нежелательным послед-ствиям, в том числе к убыткам. Чтобы избегать таких ошибок, можно размечать примитивные типы дополнительной информацией, а затем с помощью статических проверок, использующих эту информацию
Характеристики курсовой работы
Учебное заведение
Семестр
Просмотров
1
Размер
393 Kb
Список файлов
Предметно-ориентированные аннотации для типов в Java.doc
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
МГИМО
Tortuga
















