000 03297nam a22004935i 4500
001 978-3-030-05156-3
003 DE-He213
005 20240423125157.0
007 cr nn 008mamaa
008 190716s2019 sz | s |||| 0|eng d
020 _a9783030051563
_9978-3-030-05156-3
024 7 _a10.1007/978-3-030-05156-3
_2doi
050 4 _aQA75.5-76.95
072 7 _aUYA
_2bicssc
072 7 _aCOM014000
_2bisacsh
072 7 _aUYA
_2thema
082 0 4 _a004.0151
_223
100 1 _aNielson, Flemming.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
245 1 0 _aFormal Methods
_h[electronic resource] :
_bAn Appetizer /
_cby Flemming Nielson, Hanne Riis Nielson.
250 _a1st ed. 2019.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2019.
300 _aXVII, 160 p.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
505 0 _aProgram Graphs -- Guarded Commands -- Program Verification -- Program Analysis -- Language-Based Security -- Model Checking -- Procedures -- Concurrency -- Epilogue -- App. A, The MicroC Language -- App. B, Programming Projects -- App. C, Realisation in F# -- App. D, A Learning Environment -- Symbols -- Index.
520 _aThis textbook is an introduction to the use of formal methods ranging from semantics of key programming constructs to techniques for the analysis and verification of programs. The authors use program graphs as the mechanism for representing the control structure of programs in order to find a balance between generality and conceptual complexity. The early chapters on program graphs and the Guarded Commands language are sufficient introduction for most readers to then enjoy a plug-and-play approach to the remaining chapters. These explain formal methods for analysing the behaviour of programs in various ways ranging from verification, via program analysis and language-based security, to model checking. The remaining chapters present language extensions with procedures and concurrency and cover their semantics. The book is suitable for advanced undergraduate and graduate courses in software development, and the text is supported throughout with exercises of varying gradesof difficulty. The authors have developed an online learning environment that allows students to create examples beyond those covered in the main text, and in the book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#.
650 0 _aComputer science.
650 0 _aSoftware engineering.
650 1 4 _aTheory of Computation.
650 2 4 _aSoftware Engineering.
700 1 _aRiis Nielson, Hanne.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
710 2 _aSpringerLink (Online service)
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783030051556
776 0 8 _iPrinted edition:
_z9783030051570
856 4 0 _uhttps://doi.org/10.1007/978-3-030-05156-3
912 _aZDB-2-SCS
912 _aZDB-2-SXCS
942 _cSPRINGER
999 _c175098
_d175098