Formal Methods in Industrial Software Standards Enforcement A. Grinevich, A. Khoroshilov V. Kuliamin, D. Markovtsev A. Petrenko, V. Rubanov ISP RAS, Moscow,

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Complex Test Suites Organization Victor Kuliamin ISP RAS, Moscow.
Model Based Testing in Linux Standard Base Compliance Program A.V.Khoroshilov, A.K.Petrenko { khoroshilov, petrenko ispras.ru MBT Users Conference.
Ossi Taipale, Lappeenranta University of Technology
Multi-Paradigm Models as Source for Automatic Test Construction Victor Kuliamin ISP RAS, Moscow.
ECMDA workshop Thales ATM experience in using MDE ECMDA Workshop From code centric to model centric software engineering Bilbao 11 July 2006.
HP Quality Center Overview.
The Documentum Team Lance Callaway, Brooke Durbin, Perry Koob, Lorie McMillin, Jennifer Song Missouri University of Science and Technology Rolla, Missouri.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Alternate Software Development Methodologies
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
How Can Simple Model Test Complex System Model Based Testing of Large-Scale Software Victor Kuliamin ISP RAS, Moscow.
A framework for describing IT Project Management Processes and Tool Set Features Enterprise Project Management Framework.
Testing AJAX functionality with UniTESK Yevgeny Gerlits, a postgraduate student from Lomonosov Moscow State University SYRCoSE 2010.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Application architectures
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
System Integration Management (SIM)
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
© 2013 IBM Corporation Proactive AIX Analysis for System p / Power.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
BPM based robust e-business application development.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Slide 1 Copyright © 2003 Encapsule Systems, Inc. Hyperworx Platform Brief Modeling and deploying component software services with the Hyperworx™ platform.
CPTE 209 Software Engineering Summary and Review.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
Contract Specification of Pipelined Designs Alexander Kamkin Institute for System Programming of RAS
SCSC 311 Information Systems: hardware and software.
Automated Generation of Test Suites from Formal Specifications Alexander K.Petrenko Institute for System Programming of Russian Academy of Sciences (ISP.
Intel Academic Forum. Budapest, September, 2002 ISPRAS Experience in Model Based Testing Alexander K. Petrenko, Institute for System Programming.
Software Verification Academician V.P.Ivannikov, Director of ISPRAS Moscow, November 2008.
Metadata and Geographical Information Systems Adrian Moss KINDS project, Manchester Metropolitan University, UK
19/10/20151 Semantic WEB Scientific Data Integration Vladimir Serebryakov Computing Centre of the Russian Academy of Science Proposal: SkTech.RC/IT/Madnick.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
TECHONOLOGY experts INDUSTRY Some of our clients Link Translation’s extensive experience includes translation for some of the world's largest and leading.
Design Process for Architecture. Architectural Lifecycle Not all lifecycle plans support Architecture! It is hard to achieve architecture based design.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
TTCN-3 MOST Challenges Maria Teodorescu
Applying Model Based Testing in Different Contexts Alexander Petrenko Victor Kuliamin ISP RAS, Moscow.
Keyword Searching Weighted Federated Search with Key Word in Context Date: 10/2/2008 Dan McCreary President Dan McCreary & Associates
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
UniTesK: Model Based Testing in Industrial Practice Victor Kuliamin Alexander Petrenko Alexander Kossatchev Igor Burdonov Institute for System Programming.
ISP RAS Java Specification Extension for Automated Test Development Igor B. Bourdonov, Alexei V. Demakov, Andrei A. Jarov, Alexander S. Kossatchev, Victor.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
UML - Development Process 1 Software Development Process Using UML.
CS223: Software Engineering
Lectures 2 & 3: Software Process Models Neelam Gupta.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
© ABB Inc. - 1 A robust portfolio of interoperable solutions Getting started with Industrial IT Certification Document# 3BSE042726, September 2005.
Parallelizing Functional Tests for Computer Systems Using Distributed Graph Exploration Alexey Demakov, Alexander Kamkin, and Alexander Sortov
Formal Methods: for All or for Chosen? Victor Kuliamin 1 Vitaliy Omelchenko 1 Olga Petrenko 2 1 Institute for System Programming 2 Institute of Open Education.
Random Test Generation of Unit Tests: Randoop Experience
Linux Standard Base Основной современный стандарт Linux, стандарт ISO/IEC с 2005 года Определяет состав и поведение основных системных библиотек.
*current controlled assessment plans are unknown
Department of Computer Science Abdul Wali Khan University Mardan
V. Kuliamin, A. Petrenko, N.!Pakoulin, I.!Bourdonov, A.!Kossatchev
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Development Process Using UML Recap
Rich Model Toolkit – An Infrastructure for Reliable Computer Systems
Chapter 2: Building a System
Presentation transcript:

Formal Methods in Industrial Software Standards Enforcement A. Grinevich, A. Khoroshilov V. Kuliamin, D. Markovtsev A. Petrenko, V. Rubanov ISP RAS, Moscow, Russia

PSI 20062/ Modern Software Development Gigasoft Corp. Sanctuary Inc. Beta Software Solutions Ltd. Free Software

PSI 20063/ How to Make Software Robust? Interface Standards Provide  Interoperability Require  Consistency  Completeness  Precision

PSI 20064/ Standard Formalization Helps to detect and remove inconsistency, incompleteness, ambiguity Conformance test suite Technical issues  Adequacy of formal models  Requirements traceability  Component-wise treatment of standard  Configurations Organizational issues  Coordination, skilled staff, etc.  Politics

PSI 20065/ Approach Light-weight formal methods (model-based testing)  Formal specifications Software contracts Explicit links between specifications and standard text  Automated conformance test construction Primary test goal – coverage of requirements Development process  Iterative development  Quality control  Training Propagation of results  Communications with standard committee  Participation in maintenance of standard

PSI 20066/ Software Contracts Components Internal states  Invariants Operations and events  Preconditions  Postconditions

PSI 20067/ Concurrency Semantics ~

PSI 20068/ Requirements Traceability specification CString* basename_spec( CString* path ) { post { == NULL ) REQ( "basename.04", "If path is null, basename() shall return \".\"", equals( basename_spec, create_CString(".") ) ); if( equals create_CString("") ) ) REQ( "basename.04", "If path is empty string, basename() shall return \".\"", equals( basename_spec, create_CString(".") ) ); if( equals create_CString("//") ) ) REQ( "basename.03", "If path is \"//\", basename() shall return \"//\" or \"/\"", ( equals( basename_spec, create_CString("/") ) || equals( basename_spec, create_CString("//") ) ) ); if( ) REQ( "basename.02", "If path contains only slashes, basename() shall return \"/\"", equals( basename_spec, create_CString("/") ) ); CString* expected_basename = basename_model(path); REQ( "basename.01.01", "basename() shall return final component of path", equals( expected_basename, basename_spec ) ); }

PSI 20069/ Formalization Process Defects and Notes Requirements Catalogue Specifications Common Knowledge FLUSH_BUF_PAR1 DEFAULT_TERM_ID EMPTY_PATH EMPTY_PATH_REQ Configuration Parameters Standard Experts AnalysisSpecifications Development Perform Review

PSI / Conformance testing – UniTESK System under Test Specifications Testing Model Coverage Goals On-the-Fly Test Sequence Generation Single Input Checking Standard

PSI / Test Development Ins and Outs Requirements Catalogue Specifications FLUSH_BUF_PAR1 DEFAULT_TERM_ID EMPTY_PATH EMPTY_PATH_REQ Configuration Parameters Coverage Goals FLUSH_BUF_PAR1 DEFAULT_TERM_ID EMPTY_PATH EMPTY_PATH_REQ TEST_PTHREADS_NUM TEST_PTHREADS_DEPTH Test Configuration Parameters Test Suite Test Development

PSI / Case Studies Test Development for IPv Formalization of IPMP-2 (ISO/IEC :2004) 2004 Formalization and conformance test development for LSB 3.1 (OLVER)

PSI / OLVER Project Customer : Russian Federal Agency for Science and Innovations Task : Develop formal specification of standard reqs and conformance test suite Standard : Linux Standard Base (LSB) 3.1 Core ( ISO/IEC :2005)  Extensive references (~85%) ISO/IEC ,2:2003 – POSIX ISO/IEC – C Language (Library) X/Open Curses, System V Interface Definition, Large File Support  > 6000 pages of different standards  1532 functions  threads, inter process communication, timers, signals, sockets, RPC, memory management, terminals, file system, large file support, formatted input/output, string manipulation, locales, maths, etc.

PSI / Project Progress Current Results ( ) Standard text analysis  ~170 groups of functions  ~ 930 functions  ~ primary requirements  ~ 40 defects found Formalization & test development  ~ 740 functions  ~ 400 KLOC specifications & tests Test quality (code coverage)  Higher, than in analogous projects (LTP, LSB TS)  Roughly equivalent to implementation-based test suites LTPLSBGLIBCOLVER threads48%71%78%72% strings53%67%84%91% search26%33%70%65%

PSI / Application of results Active contacts with standard committee (FSG)  All defects in standard during last 3 months are reported by OLVER team Future integration with official LSB conformance test suite

PSI / Conclusion Long-history standards are stable enough to get significant and practically important benefits from formalization Light-weight formal methods are capable to manage with such huge tasks Most issues are common with generic huge projects (without formal methods)  Iterative development process  Adequate planning  Project repository Necessary skills can be trained

PSI / Contacts Linux Verification Center web site UniTesK projects web site Group leader Alexander K. Petrenko

PSI / References 1.I. Bourdonov, A. Kossatchev, V. Kuliamin, and A. Petrenko. UniTesK Test Suite Architecture. Proc. of FME LNCS 2391, pp , Springer-Verlag, V. Kuliamin, A. Petrenko, N. Pakoulin, I. Bourdonov, and A. Kossatchev. Integration of Functional and Timed Testing of Real-time and Concurrent Systems. Proc. of PSI LNCS 2890, pp , Springer-Verlag, V. Kuliamin, A. Petrenko, A. Kossatchev, and I. Burdonov. The UniTesK Approach to Designing Test Suites. Programming and Computer Software, Vol. 29, No. 6, 2003, pp (Translation from Russian) 4.V. Kuliamin, A. Petrenko. Applying Model Based Testing in Different Contexts. Proceedings of seminar on Perspectives of Model Based Testing, Dagstuhl, Germany, September V. Kuliamin. Model Based Testing of Large-scale Software: How Can Simple Models Help to Test Complex system. Proc. ISOLA’2004, Pathos, Cyprus, V. Kuliamin, N. Pakoulin, A. Petrenko. Practical Approach to Specification and Conformance Testing of Distributed Network Applications. In M. Malek, E. Nett, N. Suri, eds. Service Availability. LNCS 3694, pp. 68–83, Springer-Verlag, 2005.

PSI / Thank you!