1. Homepage of Dr. Zoltán Porkoláb
    1. Home
    2. Archive
  2. Teaching
    1. Timetable
    2. Multiparadigm programming (MSc)
    3. C programming (BSc for physicists)
    4. Project tools (BSc)
    5. Bolyai College
    6. C++ (for foreign studenst)
    7. Software technology lab
    8. BSc and MSc thesis
  3. Research
    1. Templight
    2. CodeChecker
    3. CodeCompass
    4. Projects
    5. Publications (up to 2011)
    6. PhD students
  4. Affiliations
    1. Dept. of Programming Languages and Compilers
    2. Ericsson Hungary Ltd

Research projects

magyarul

CodeChecker

The CodeChecker project applies static analysis to find potentional software bugs in C/C++ programs. As many issiues are not caught by the compilers, static analysis tools are essential for increasing software quality. As opposit to testing, during static analysis we do not run the program, just analyse the source code.

Currently we use the LLVM/Clang C++ compiler and its architecture StaticAnalyzer. The project is fully open source, you can find it on Github: CodeChecker.

Known users of CodeChecker include companies, like Apple, Google, Sony and Samsung.

Project participants develop the CodeChecker framework, define and develop checking rules, and participate in various research projects. Participation is an excellent possibility to get deeper understand of the C and C++ languages and the Clang environment.

CodeCompass

It is a frequent issue with large software projects developed for decades that after years nobody really understand the system on the whole. Unfortunatelly, for bug fixing, new feature development the programmer first has to understand the code. There are exist on the market tools for web based fast searching, like OpenGrok or code-analysis/navigation tools, like Understand C++, or code visualization tools, like SourceInsigh, but CodeCompass knows all these features in one tool. Even more,
CodeCompass supports multiple languages (currently C, C++, Java and Python).

CodeCompass is under open sourcing.

Project participants can work on parsers for new languages, visualization or on the web gui.

CodeChecker presented at EuroLLVM conference 2015.

Video

Slides

Kutatási projektek

CodeChecker

A CodeChecker alprojekt statikus elemzés segítségével próbál olyan potenciális hibákat felfedezni, melyeket sem a fordító, sem a tesztek nem mutattak ki. A statikus elemzés során a programot nem futtatjuk, hanem csak a forráskódot elemezzük. Jelenleg C/C++ kódokat elemzünk az LLVM/Clang C++ fordító és a ráépülő StaticAnalyzer segítségével. A projekt nemrég vált nyílt forráskódúvá, megtaláljátok a Github-on is: CodeChecker. Felhasználóink, fejlesztő partnereink közt van a Sony, az Apple és a Google is.

A hallgatók a CodeChecker keretrendszer fejlesztése mellett elsősorban egyes ellenőrzési szabályokat definiálhatnak és implementálhatnak, de lehetőség van kutatási feladatok elvégzésére is. Remek lehetőség a C és C++ gonosz hibáinak mélyebb megismerésére.

CodeCompass

Nagyméretű, sok éven át számos programozó által fejlesztett projektek esetében gyakori probléma, hogy már senki sem látja át a rendszer egészét. Márpedig akár hibajavítás, akár új funkció hozzáadása a cél, először a jelenlegi rendszer működését kell megérteni. A piacon léteznek gyors, web-alapú kereső eszközök (pl. az OpenGrok vagy hatékony elemző-kódnavigáló toolok (pl. Understand C++, esetleg kódvizualizációk (pl. SourceInsigh, de a CodeCompass mindezt egyszerre tudja, ráadásul több nyelvre is (jelenleg C, C++, Java és Python támogatott).

A hallgatók dolgozhatnak nyelvi parsereken (új nyelvekhez), grafikai megjelenítéseken vagy akár a web gui-ban is. A CodeCompass alprojekt még nem nyilvános forráskódú, de az első meetingen bemutatjuk.

Hasznos linkek

CodeChecker előadás a 2015-ös londoni EuroLLVM konferencián:

Videó

Slide-ok