Ohjelmiston visualisointi tarkoittaa ohjelmien tai integroidun kehitysympäristön (IDE) laajennusten käyttämistä ohjelmistosovellusten kehittämisen ja testaamisen aikana. tämä mahdollistaa graafisen esityksen luomisen ohjelmiston jostakin osasta sen määrittämiseksi, onko ohjelmassa ongelmia tai tehottomuutta. Ohjelmiston visualisointitekniikoita on useita tyyppejä, mutta niitä käytetään useimmiten ohjelman lähdekoodin yksityiskohtien tarkasteluun, ohjelmistokomponenttien välisten suhteiden tarkasteluun tai abstraktin näkymän katsomiseen ohjelman suorittamisesta, mukaan lukien tiedot sen toiminnasta. vuorovaikutuksessa ympäröivien prosessien kanssa. Yleensä ohjelmistojen visualisointia käytetään monimutkaisissa järjestelmissä auttamaan epätavallisten käyttäytymisten tai resurssien käytön havaitsemisessa tai näkemään tarpeettomia tai toimintahäiriöisiä suunnittelualueita. Todellinen visuaalinen esitys, jota käytetään, vaihtelee suuresti toisiinsa yhdistetyistä tekstilohkoista kaksiulotteisiin (2D) -pylväskaavioihin ja kehittää kolmiulotteisia (3D) objekteja, jotka muuttavat muotoa ohjelman ajaessa.
Joissakin tapauksissa voi olla hyödyllistä käyttää ohjelmiston visualisointia ohjelman lähdekoodin tarkasteluun. Värityksen ja abstraktion avulla voidaan katsella valtavia määriä kirjoitettua koodia kerralla. Tarkoituksena voisi olla määrittää, kuinka paljon koodia käytetään mihin tarkoitukseen, tai vaihtoehtoisesti näyttö voidaan sitoa profiilin tai virheenkorjaimen kanssa, joka korostaa koodilohkoja, joiden suorittaminen kestää kauan tai jotka suoritetaan usein.
Objektisuuntautuneet ohjelmointikielet voivat käyttää ohjelmiston visualisointia määrittämään suhteet ohjelman eri kirjastojen, luokkien ja menetelmien välillä. Tämä auttaa määrittämään riippuvuudet ohjelman eri alueiden välillä, joista osa saattaa olla tahatonta. Se voi myös näyttää ohjelmassa luokkia tai menetelmiä, joita ei koskaan kutsuta tai joiden ohjelmalogiikka ei ole tavoitettavissa. Visuaalisesti riippuvuus- tai suhdekaavio voi näyttää verkkojen ja viivojen verkostolta, erikokoisilta päällekkäisiltä alueilta tai jopa puun oksilta.
Kun ohjelma on käynnissä, reaaliaikainen ohjelmiston visualisointi voi näyttää abstraktin esityksen siitä, miten ohjelma toimii, miten eri jonoja käsitellään ja kuinka tulo ja lähtö virtaavat. Tämä voi auttaa kehittäjiä näkemään suorituskyvyn piikkejä tai puutteita ja alueita, jotka saavat poikkeuksellisen paljon aktiivisuutta. Tämäntyyppiset visualisoinnit voivat näyttää melkein kaikelta värillisten lohkojen ja aaltomuotojen siirtämisestä muuttuviin topografisiin karttoihin, jotka edustavat suoritettavia koodisegmenttejä. Yleensä visualisointi pidetään kuitenkin melko yksinkertaisena, joten poikkeavat tapahtumat voidaan nähdä selvästi ja havaita ilman liiallista graafista sotkua.
Ohjelmiston visualisointiin on muitakin sovelluksia, joista yksi on sovelluksen käänteinen suunnittelu. Tarkkailemalla, miten ohjelma on vuorovaikutuksessa ja käynnissä, koodin eri osiin voidaan keskittyä ilman jyrkkää alkuopetuskäyrää. Yksi erityinen käyttötarkoitus on tietoturvan alalla, jotta voidaan tarkkailla, mitkä ohjelman alueet ovat vuorovaikutuksessa ulkopuolisten prosessien kanssa tai mitkä alueet ovat hyökkääviä.