﻿# Бесплатное использование PVS\-Studio студентами и преподавателями

Мы разрабатываем статический анализатор кода для C, C\+\+, C\#, Java, Go, JS, TS и уверены, что практики написания чистого и безопасного кода должны закладываться ещё в процессе обучения\. 

Поэтому для студентов и преподавателей IT\-специальностей мы предоставляем Академическую лицензию бесплатно — для учебных и исследовательских задач\.

## Как получить лицензию

Если вы студент или преподаватель, при запросе триала в [форме](https://pvs-studio.ru/ru/pvs-studio/try-free/?license_type=academic) выберите тип лицензии "Академическая лицензия" и отправьте запрос со студенческой почты \(домен вуза\)\. Мы выдадим вам временную лицензию на 1 месяц \(при запросе с университетской почты\)\.

## Использование сайта Compiler Explorer

Выполнять лабораторные работы, состоящие из одного файла, может оказаться удобно с помощью сайта Compiler Explorer \([godbolt\.org](https://godbolt.org/)\)\. Сайт в online режиме позволяет писать, компилировать и запускать программы на языках Ada, C, C\+\+, D, Fortran, Go, Pascal, Rust и так далее\. Особенно удобно, что можно сгенерировать ссылку на получившийся код и отправить его на проверку\.

Если программа разрабатывается на языке C и C\+\+, то дополнительно её можно сразу проверять с помощью PVS\-Studio и знакомиться на практике с работой статического анализатора кода\.

Предположим, что выполняется лабораторная работа, посвященная изучению циклов в языке C\+\+, и нужно написать программу сортировки массива\. Выполним эту задачу с ошибкой и посмотрим, как работает связка Compiler Explorer \+ PVS\-Studio:

![for-students_ru/image2.png](https://import.viva64.com/docx/blog/for-students_ru/image2.png)

Перед вами [лабораторная работа с ошибкой](https://godbolt.org/z/4k7Ypa):

1. Окно редактирования текста программы;
1. Получившийся ассемблерный код, который нам сейчас неинтересен;
1. Результат работы программы, который выглядит правильно;
1. Предупреждения анализатора PVS\-Studio\.

Кажется, что программа написана корректно, так как массив выглядит отсортированным правильно\. Но это везение\. На самом деле, происходит выход за границу массива, о чём предупреждает анализатор PVS\-Studio\. Взглянем на условие внутреннего цикла:

```cpp
j < size + 1
```

На самом деле должно быть:

```cpp
j < size
```

Исправим эту ошибку и можем отправить на проверку ссылку: [правильная лабораторная работа](https://godbolt.org/z/dbZEVY)\.

## Бесплатная версия для открытых проектов

Если ведётся совместная работа над открытым академическим проектом, то разработчики могут получить бесплатные лицензии\. Более подробную информацию вы сможете найти в статье "[Бесплатные варианты лицензирования PVS\-Studio](https://pvs-studio.ru/ru/order/open-source-license/)"\.

## Примечание для корпоративных пользователей

Все описанные здесь способы бесплатного использования PVS\-Studio не являются способом попробовать инструмент для анализа коммерческого проекта\. Это будет просто невозможно или, как минимум, неудобно\.

Запросите [триальный ключ](https://pvs-studio.ru/ru/pvs-studio/download/), указав корпоративную почту\. Это поможет нам понять, общались ли мы уже с кем\-то из ваших коллег, является/была ли ваша компания клиентом и так далее\. В случае необходимости мы проконсультируем вас по вопросам работы анализатора или предоставим Enterprise License, если вы захотите интегрировать PVS\-Studio, например, с SonarQube\.