Analysis of Parallel C++ Programs /
Pokud chceme plně využívat výpočetních možností dnešních počítačů, je třeba využívat paralelní software. To s sebou přináší mnohé dodatečné problémy, se kterými se programátoři nesetkají při vývoji sekvenčních programů. Tato práce prezentuje několik vylepšení v oblasti analýzy paralelních programů v...
Uloženo v:
Hlavní autor: | |
---|---|
Další autoři: | |
Typ dokumentu: | VŠ práce nebo rukopis |
Jazyk: | Angličtina |
Vydáno: |
2020
|
Témata: | |
On-line přístup: | https://is.muni.cz/th/r9kjw/ |
Shrnutí: | Pokud chceme plně využívat výpočetních možností dnešních počítačů, je třeba využívat paralelní software. To s sebou přináší mnohé dodatečné problémy, se kterými se programátoři nesetkají při vývoji sekvenčních programů. Tato práce prezentuje několik vylepšení v oblasti analýzy paralelních programů v programovacím jazyce C++, obzvlášť pak v oblasti hledání těžko odhalitelných chyb. <br><br> První přínos této práce je v oblasti analýzy vysokoúrovňových programovacích jazyků se všemi jejich pokročilými vlastnostmi a standardními knihovnami. Toto téma výrazně ovlivňuje praktickou použitelnost nástrojů pro analýzu programů programátory. Bohužel, kompletní podpora daného programovacího jazyka není snadný cíl. I přes to však ukazujeme, že tento cíl je dosažitelný s pomocí vhodné kombinace existujících komponent určených k použití ve spustitelných programech a komponent vytvořených speciálně pro účely analýzy programů. V této práci se konkrétně zaměřujeme na podporu programovacího jazyka C++ Parallel software offers a promise of full utilisation of modern hardware. Unfortunately, building a parallel program presents some additional challenges for the programmers. In this thesis, we introduce some improvements to the analysis of parallel C++ programs. In particular, we aim to help with the discovery of hard-to-find bugs. <br><br> As our first contribution, we deal with some of the problems related to analysis of high-level programming languages, including their advanced features and standard libraries. We consider this topic important as comprehensive language support makes the analysis tool more usable by programmers in practice. Comprehensive language support is not an easy task. However, we show it is still manageable with the right combination of reuse of existing execution-oriented components and design of new, verification-oriented ones. In this work, we deal with C++ support for the DIVINE verifier in general, and its support for C++ exceptions in particular. <br><b |
---|---|
Popis jednotky: | Vedoucí práce: Jiří Barnat |
Fyzický popis: | x, 135 stran : ilustrace |