{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":18,"n_cols":5,"rows_kept":18,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[5,2,5,3],[6,2,6,3],[7,2,7,3],[8,2,8,3],[12,2,12,3],[13,2,13,3],[15,2,15,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910349292603321"]
[null,null,"Autore",null,"Nielson Flemming"]
[null,null,"Titolo",null,"Formal Methods : An Appetizer / / by Flemming Nielson, Hanne Riis Nielson"]
[null,null,"Pubbl/distr/stampa",null,"Cham : , : Springer International Publishing : , : Imprint : Springer, , 2019"]
[null,null,"ISBN",null,"3-030-05156-0"]
[null,null,"Edizione",null,"[1st ed. 2019.]"]
[null,null,"Descrizione fisica",null,"1 online resource (XVII, 160 pages)"]
[null,null,"Disciplina",null,"004.0151"]
[null,null,"Soggetti",null,"Computer science"]
[{"$nulls":4},"Software engineering"]
[{"$nulls":4},"Theory of Computation"]
[{"$nulls":4},"Software Engineering"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,"Nota di contenuto",null,"Program 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."]
[null,null,null,"Sommario/riassunto","This 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 "]
[{"$nulls":4},"book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#."]