Szoftver vizualizáció Mi a szoftver vizualizáció? Olyan információk (és kapcsolataik) vizuális megjelenítése, amelyek szoftverekkel erősen kapcsolatosak, pl. forráskód, forrás repository meta adatok, dokumentációk, stb. (Alex Telea, 2007) Célja, hogy gyorsabban, árnyaltabb képet kaphassunk egy szoftver működéséről, fejlődéséről, vagy akár a fejlesztők aktivitásáról.
Kell ez egyáltalán? az iparban a szoftver fejlesztési költségek 80%-a kód karbantartásra, hibajavításra fordítódik (National Institute of Standards and Technology, Corbi'99) ennek kb. a felét a kód értelmezése fedi le az ember vizuális lény szoftver fejlesztők és IT manager-ek jelentős része hasznosnak találja a vizualizációt
Forráselemzés nélküli vizualizáció Profiling vizualizációs eredménye a hívási gráf segít megfigyelni, hogy ”merre jár” a program és hol mennyi időt tölt egy konkrét lefutás menetét rögzíti célja elsősorban a kódoptimalizáció nagyon régóta használt módszer Gprof, Kprof, stb. célközönség: fejlesztők, tesztelők
Profiling 2. forrás: http://kprof.sourceforge.net
Forrás értelmezése nélküli forrás-vizualizáció lexical highlighting elemi lexikális elemek megjelenítése színkódolással célközönség: fejlesztők a syntax highlighting szintaxisfa építést igényel!
Forráskód feldolgozás a forráskód a legbővebb és a legkomplexebb adathalmaz, ami a szoftverről szól szerkezeti elemek felderítése szintaxisfa építés esetleg kódmetrika számítás (pl. McCabe) C++ ? elvárások: teljesség, hibatűrés, hibamentesség, hatékonyság compiler alapú <--> elemző alapú Doxygen, SrcML, Columbus, GCC-XML, VCN CSV, Panopticode, CruiseControl, stb.
Meta adat vizualizáció CVS/SVN meta adatok (commit logok, stb.) feldolgozása a nagyobb szoftver projektek esetén a karbantartást nem feltétlenül az eredeti fejlesztő csapat végzi -> a le nem írt, implicit ismeretek hiányoz(hat)nak eszközök: filehistory flow (eclispe plugin) cvsgrab cvsscan célközönség: fejlesztők, architektek forrás: http://www.filehistory.de/
Meta adat vizualizáció 2. Forráskód könyvtárszerkezetének gráf alapú vizualizációja célközönség: fejlesztők, architektek Az ffmpeg könyvtár forrása Tulip-pal ábrázolva forrás: http://www.win.tue.nl/~alext/COURSES/INFO_VIS/
Létező kutatási terület egyre több módszer, publikáció és eszköz konferenciák, események ACM SoftVis (softvis.org, 2003 óta), IEEE VISSOFT