Techniki Analizy Kodu Źródłowego W Weryfikacji Własności Rzeczywistych Programów W Języku Java
نویسنده
چکیده
W dzisiejszych czasach komputery można znaleźć praktycznie we wszystkich obszarach działalności człowieka. Nowoczesne społeczeństwo jest niezwykle mocno uzależnione od komputerów—są one wykorzystywane m.in. w edukacji, do zarządzania systemami transportu, w bankowości i handlu, stosują je organizacje rządowe i wojsko. W praktyce komputery wykorzystywane do nadzorowania pracy elektrowni jądrowych i lotów kosmicznych niewiele różnią się od komputerów osobistych czy nawet telefonów komórkowych. Architektura dzisiejszych procesorów może się różnić, ale języki programowania wykorzystane do tworzenia oprogramowania w większości przypadków pozostają takie same. Wraz ze wzrostem popularności komputerów rośnie zapotrzebowanie na programy komputerowe. Wartość światowego rynku oprogramowania w 2009 roku była szacowana na około 250 miliardów dolarów [9]. Sam rynek aplikacji na telefony komórkowe miał w 2010 wartość około 7miliardów dolarów i szacuje się jego wzrost do 25miliardów dolaróww 2015 roku [16]. Ciągle rozwijający się przemysł komputerowy wymaga budowy coraz to bardziej potężnych i skomplikowanych systemów, które potrzebują bardzo zaawansowanego i złożonego oprogramowania. Jego poziom skomplikowania i duży rozmiar niesie za sobą rosnące prawdopodobieństwo wystąpienia błędów. W historii znane są spektakularne wypadki spowodowane przez niewielkie błędy w oprogramowaniu, jak chociażby przypadek samozniszczenia rakiety Ariane 5 tuż po starcie [11]. Rosnąca rola komputerów i powierzanie im coraz to poważniejszych obowiązków wymaga większego nacisku na zapewnienie jakości wytwarzanego oprogramowania. Istnieje wiele metod służących niwelowaniu liczby błędów. Najpopularniejszą jest weryfikacja dynamiczna, w której sprawdza się działającą aplikację, przeprowadzając na niej różnego rodzaju testy, np. testy funkcjonalne, testy jednostkowe, testywydajności. Popularność tejmetodywynika głównie z łatwości jej zrozumienia, co przekłada się także na wykorzystanie testów podczas odbioru oprogramowania przez zamawiającego. Niestety, dynamiczne podejście nie jest w stanie zapewnić, że program nie zawiera błędów, gdyż testowane są tylko wybrane scenariusze. W praktyce bardzo rzadko zdarza się, że można pokryć testami wszystkie przypadki.
منابع مشابه
Częściowo przemienne grafy bezkontekstowe
Tematem rozprawy jest klasa częściowo przemiennych grafów bezkontekstowych. Jest to model obliczeń odzwierciedlający zarówno rekurencyjne jak i współbieżne zachowania programów. W dziedzinie automatycznej weryfikacji i analizy programów istnieje zapotrzebowanie na systemy, które potrafią modelować różne aspekty programów a przy okazji posiadają dobre własności algorytmiczne. Wydaje się, że jest...
متن کاملModification of Petri nets modeling production processes when quality control is introduced
Petri nets can be used as a model of production processes, as far as such processes often contain the steps which can be executed in parallel. Such modeling can serve for optimization and verification of production processes, because a wide range of existing methods of Petri net analysis can be applied. Adding to a production process the steps in which quality control is performed requires chan...
متن کاملSome aspects of the analysis and the interpretation of electrical measurements of submerged arc-resistance furnace
The article describes measurement of currents and voltages in submerged arc-resistance electric furnace which were done to identify arc parameters. Waveforms of registered currents and voltages have been shown. Characteristics of arc developed in original C# software have been presented. Streszczenie. Artykuł opisuje pomiary prądów i napięć w obwodzie pieca elektrycznego łukowo-oporowego z łuki...
متن کاملFormal verification of embedded logic controller specification with computer deduction in temporal logic
The article presents a novel approach to formal verification of logic controller specification. Model checking technique is used to verify some behavioral properties. The approach proposes to use a rule-based logical model presented at RTL-level. Proposed logical model is suitable both for formal verification (model checking in the NuSMV tool) and for logical synthesis (using hardware descripti...
متن کاملDevOntoCreator: an ontology-based approach to software engineering
This article goal is to present an innovative method to improve the implementation phase of a software development process. This is achieved by an automatic code generation using an ontology definition and an explicit and implicit knowledge of software engineering and web application constructing. The author of this paper proposes the Intelligent Software Engineering using Semantic Network (ISE...
متن کامل