Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Automatyczna sprawdzarka programów napisanych w C/C++

Ostatnio zmodyfikowano 2017-09-21 21:58
Autor Wiadomość
baziorek
Temat założony przez niniejszego użytkownika
Automatyczna sprawdzarka programów napisanych w C/C++
» 2017-09-18 17:56:50
Cześć,
Czy ktoś z Was miał na uczelni jakąś sprawdzarkę do programów, jeśli tak, czy mógłby się podzielić nazwą, opinią, wiadomo. Jeśli ktoś konfigurował tym bardziej proszę o informacje.

Doprecyzuję -sprawdzarka, czyli program w którym można konfigurować sprawdzanie pewnych aspektów w programach wysłanych przez innych, takie jak np. wydruk z programu, ale nie tylko np. nieużywanie pewnych słów kluczowych, czy nawet ilość funkcji, ilość warunków w ifie itp. Ważne aby ten program po skonfigurowaniu sprawdzał wiele rzeczy automatycznie dla każdego zadania.
W praktyce:
1. Tworzę treść zadania np.:
program liczący pole koła dla zadanego w argumencie promienia
2. Konfiguruję testy outputu, ale też sprawdzenia np. czy plik nie zawiera komentarzy, czy się kompiluje bez warningów, czy nie wywołuje funkcji system() itp...
3. Daję loginy i hasła studentom, a oni wysyłają zadania i od razu widzą rezultat, czy zadanie jest zaakceptowane, czy nie.
4. Ja widzę tylko zbiorczo punktacje ile kto ma bez konieczności abym pobierał każde zadanie, kompilował, uruchamiał, testował.

Słyszałem o narzędziu Satori, ale ma dokumentację po chińsku.

Najlepiej jeśli byłoby to narzędzie bezpłatne, ale jeśli jest płatne to też proszę podzielić się swoimi doświadczeniami
P-164981
DejaVu
» 2017-09-18 18:13:43
Chcesz z całym interfejsem webowym? Patrząc od strony linuxa to:
1. Warningi można przekierować do pliku
2. Uruchomienie testów to wykonanie polecenia plik < dane01.txt > wynik01.txt
3. Porównanie czy testy dają poprawny wynik => użyć polecenia w bashu do sprawdzania czy oba pliki są binarnie zgodne lub tekstowo zgodne.
4. Zabronione słowa można wyszukać sobie grepem

Automatów niestety nie spotkałem w tym zakresie. Przypuszczam, że uczelnie posiadają takie rozwiązania, bo jacyś studenci robili sobie taki system w ramach pracy inżynierskiej/magisterskiej, a potem się prototyp rozwijało dalej.

/edit:
Może warto zapoznać się z całą listą istniejących rozwiązań? Może ktoś używa gotowca?
https://www.quora.com​/What-are-some-other-sites-that-are-similar-to-TopCoder-algorithm-section-and-Codeforces
P-164982
golibroda13
» 2017-09-18 23:18:46
Ktoś inspirując się SPOJem stworzyły coś takiego jak Aurora i jest to open source.
https://github.com/pushkar8723​/Aurora Z opisu wynika, że to web ui + python do obsługi skryptów. Wymaga więc własnego serwera i konfiguracji.

Generalnie to czego szukasz nosi nazwę systemów Online Judge.

Z implementacją własnego bardzo bym uważał bo będziesz musiał mądrze ustawić prawa i limity dla odpalanej aplikacji. Bardzo wiele online-compilerów czy online-judge miało z tym problem. Od wykonania kodu, który zabija maszynę, aż po listowanie wszystkich plików na dysku czy pliku shadow ;)

P-164984
mateczek
» 2017-09-19 08:03:21
nie no takie coś trzeba na wirtualnej maszynie postawić :) bo fizyczna mogła by bardzo szybko dokonać żywota. pomysłowość młodych hakerów nie zna granic :P
P-164986
baziorek
Temat założony przez niniejszego użytkownika
Dziękuję
» 2017-09-21 21:58:16
Bardzo dziękuję za wszelakie rady, jak uda mi się znaleźć to czego szukam to napiszę, aby było dla potomnych:)
P-165084
« 1 »
  Strona 1 z 1