4 research outputs found

    Proširiv i prilagodljiv okvir za statičku analizu nezavisnu od ulaznog jezika

    Get PDF
    In modern approach to software development, a great importance is given to monitoring  of software quality in early development phases. Therefore, static analysis becomes more important. Furthermore, software projects are becoming more complex and heterogeneous. These characteristics are reflected in a diversity of functionalities and  variety of computer languages and the technologies used for their development. Because of that consistency in static analysis becomes more important than it was earlier. In this dissertation SSQSA: Set of Software Quality Static Analyzers is described. The aim  of the SSQSA framework  is consistent static analysis. This goal is reached by introducing new intermediate source code representation called eCST: enriched Concrete Syntax Tree. The dissertation mostly focuses on eCST, intermediate representations derived from it, and their generation with description of the  tools involved in it. The main characteristic of eCST is language independence which gives to SSQSA framework two-level extensibility: supporting a new language and supporting a new  analysis. This leads to eciency of adding both level supports and consistency of added functionalities. To prove the concept, support for more than 10 characteristic languages was introduced. Furthermore, characteristic static analysis techniques (software metrics calculation,  code-clone detection, etc.) were implemented and integrated in the framework.  Established SSQSA framework provides the infrastructure for the further development of the complete platform for software quality control.U modernim pristupima razvoju softvera veliki značaj pridaje se kontroli kvaliteta softvera u ranim fazama razvoja. Zbog toga, statička analiza postaje sve značajnija. Takođe, softverski proizvodi postaju sve kompleksniji i heterogeni. Ove karakteristike se ogledaju u raznovrsnosti jezika i tehnologija koje se koriste u procesu razvoja softvera. Zbog toga, konzistentnost u statičkoj analizi dobija veći značaj nego što je to bio slučaj ranije. U ovoj disertaciji opisan je SSQSA skup statičkih analizatora za kontrolu kvaliteta (eng. Set of Software Quality Static Analyzers). Namena SSQSA okvira je konzistentna statička analiza. Cilj se postiže uvođenjem nove međureprezentacije  izvornog koda nazvane eCST (obogaćeno konkretno sintaksno stablo, eng. enriched  Concrete Syntax Tree). Fokus disertacije je primarno na eCST reprezenataciji koda,  reprezentacijama izvedenjim iz eCST i procesu njihovog generisanja, sa opisom oruđa angažovanim u ovim procesima. Osnovna i najbitnija karakteristika eCST reprezenatacije je nezavisnost od jezika u kom je izvorni kod pisan, što SSQSA okviru daje proširivost na dva nivoa: kroz podršku za nove jezike i kroz podršku za nove analize. Ovo dovodi do efikasnog uvođenja funkcionalnosti na oba navedena nivoa, kao i do konzistentnosti uvedenih funkcionalnosti.  Kao dokaz ispravnosti koncepta, podrška za više od 10 ulaznih jezika je uvedena. Takođe, implementirane su karakteristične tehnike statičke analize (izračunavanje softverskih metrika, otkrivanje duplikata u kodu, itd.) i integrisane u SSQSA okvir.  Na opisani način, postavljanjem SSQSA okvira, obezbeđena je infrastruktura za dalji razvoj kompletne platforme za kontrolu kvaliteta softvera.

    Ekstrakcija i analiza kompleksnih mreža iz različitih domena

    Get PDF
    Almost any large-scale system can be viewed as a network that shows interac-tions among entities which are constituent parts of the system. The focus of this dissertation is on complex networks from three domains: (1) networks extracted from source code of computer programs that represent design of software systems, (2) networks extracted from semantic web ontologies that describe the structure of shared and reusable knowledge, and (3) networks extracted from bibliographic records that depict collaboration in science. We proposed new methods for the extraction of networks from mentioned domains. Secondly, on several case stud-ies we demonstrated benets of network-based analysis of concrete systems from those domains. In contrast to the previous work on the subject, analyses pre-sented in this dissertation are not purely topological, but combine techniques and metrics developed under the framework of complex network theory with domain-dependent metrics.Skoro svaki kompleksan sistem se može predstaviti mrežom koja opisuje interakcije izmedju entiteta od kojih je sistem komponovan. Fokus ove disertacije je na kompleksnim mrežama iz tri domena: (1) mreže ekstrahovane iz izvornog koda računarskih programa koje reprezentuju dizajn softverskih sistema, (2) mreže ekstrahovane iz ontologija semantičkog web-a koje opisuju strukturu deljenog znanja pogodnog za višekratnu upotrebu, i (3) mreže ekstrahovane iz bibliografskih zapisa koje opisuju saradnju istraživača. U okviru disertacije predložene su nove metode za ekstrakciju mreža iz pomenutih domena. Drugo, na nekoliko studija slučaja ilustrovani su beneti mrežno orjentisane analize konkretnih sistema iz domena obuhvaćenih disertacijom. U poredjenju sa prethodnim relevantim istraživanjima, analize prezentovane u disertaciji nisu čisto topološke, nego kombinuju tehnike i metrike razvijene u okviru teorije kompleksnih mreža sa metrikama iz konkretnog domena

    Proširiv i prilagodljiv okvir za statičku analizu nezavisnu od ulaznog jezika

    Get PDF
    In modern approach to software development, a great importance is given to monitoring  of software quality in early development phases. Therefore, static analysis becomes more important. Furthermore, software projects are becoming more complex and heterogeneous. These characteristics are reflected in a diversity of functionalities and  variety of computer languages and the technologies used for their development. Because of that consistency in static analysis becomes more important than it was earlier. In this dissertation SSQSA: Set of Software Quality Static Analyzers is described. The aim  of the SSQSA framework  is consistent static analysis. This goal is reached by introducing new intermediate source code representation called eCST: enriched Concrete Syntax Tree. The dissertation mostly focuses on eCST, intermediate representations derived from it, and their generation with description of the  tools involved in it. The main characteristic of eCST is language independence which gives to SSQSA framework two-level extensibility: supporting a new language and supporting a new  analysis. This leads to eciency of adding both level supports and consistency of added functionalities. To prove the concept, support for more than 10 characteristic languages was introduced. Furthermore, characteristic static analysis techniques (software metrics calculation,  code-clone detection, etc.) were implemented and integrated in the framework.  Established SSQSA framework provides the infrastructure for the further development of the complete platform for software quality control.U modernim pristupima razvoju softvera veliki značaj pridaje se kontroli kvaliteta softvera u ranim fazama razvoja. Zbog toga, statička analiza postaje sve značajnija. Takođe, softverski proizvodi postaju sve kompleksniji i heterogeni. Ove karakteristike se ogledaju u raznovrsnosti jezika i tehnologija koje se koriste u procesu razvoja softvera. Zbog toga, konzistentnost u statičkoj analizi dobija veći značaj nego što je to bio slučaj ranije. U ovoj disertaciji opisan je SSQSA skup statičkih analizatora za kontrolu kvaliteta (eng. Set of Software Quality Static Analyzers). Namena SSQSA okvira je konzistentna statička analiza. Cilj se postiže uvođenjem nove međureprezentacije  izvornog koda nazvane eCST (obogaćeno konkretno sintaksno stablo, eng. enriched  Concrete Syntax Tree). Fokus disertacije je primarno na eCST reprezenataciji koda,  reprezentacijama izvedenjim iz eCST i procesu njihovog generisanja, sa opisom oruđa angažovanim u ovim procesima. Osnovna i najbitnija karakteristika eCST reprezenatacije je nezavisnost od jezika u kom je izvorni kod pisan, što SSQSA okviru daje proširivost na dva nivoa: kroz podršku za nove jezike i kroz podršku za nove analize. Ovo dovodi do efikasnog uvođenja funkcionalnosti na oba navedena nivoa, kao i do konzistentnosti uvedenih funkcionalnosti.  Kao dokaz ispravnosti koncepta, podrška za više od 10 ulaznih jezika je uvedena. Takođe, implementirane su karakteristične tehnike statičke analize (izračunavanje softverskih metrika, otkrivanje duplikata u kodu, itd.) i integrisane u SSQSA okvir.  Na opisani način, postavljanjem SSQSA okvira, obezbeđena je infrastruktura za dalji razvoj kompletne platforme za kontrolu kvaliteta softvera.

    Ekstrakcija i analiza kompleksnih mreža iz različitih domena

    Get PDF
    Almost any large-scale system can be viewed as a network that shows interac-tions among entities which are constituent parts of the system. The focus of this dissertation is on complex networks from three domains: (1) networks extracted from source code of computer programs that represent design of software systems, (2) networks extracted from semantic web ontologies that describe the structure of shared and reusable knowledge, and (3) networks extracted from bibliographic records that depict collaboration in science. We proposed new methods for the extraction of networks from mentioned domains. Secondly, on several case stud-ies we demonstrated benets of network-based analysis of concrete systems from those domains. In contrast to the previous work on the subject, analyses pre-sented in this dissertation are not purely topological, but combine techniques and metrics developed under the framework of complex network theory with domain-dependent metrics.Skoro svaki kompleksan sistem se može predstaviti mrežom koja opisuje interakcije izmedju entiteta od kojih je sistem komponovan. Fokus ove disertacije je na kompleksnim mrežama iz tri domena: (1) mreže ekstrahovane iz izvornog koda računarskih programa koje reprezentuju dizajn softverskih sistema, (2) mreže ekstrahovane iz ontologija semantičkog web-a koje opisuju strukturu deljenog znanja pogodnog za višekratnu upotrebu, i (3) mreže ekstrahovane iz bibliografskih zapisa koje opisuju saradnju istraživača. U okviru disertacije predložene su nove metode za ekstrakciju mreža iz pomenutih domena. Drugo, na nekoliko studija slučaja ilustrovani su beneti mrežno orjentisane analize konkretnih sistema iz domena obuhvaćenih disertacijom. U poredjenju sa prethodnim relevantim istraživanjima, analize prezentovane u disertaciji nisu čisto topološke, nego kombinuju tehnike i metrike razvijene u okviru teorije kompleksnih mreža sa metrikama iz konkretnog domena
    corecore