Máster Universitario En Software Y Sistemas Curso

Total Page:16

File Type:pdf, Size:1020Kb

Máster Universitario En Software Y Sistemas Curso MÁSTER UNIVERSITARIO EN SOFTWARE Y SISTEMAS PLAN DOCENTE CURSO 2018 / 2019 CONTENIDO: Calendario Académico Horarios de las Asignaturas Fechas de Exámenes Coordinadores y Tribunales de las Asignaturas Guías de Aprendizaje CALENDARIO ACADÉMICO HORARIOS DE LAS ASIGNATURAS • 11-septiembre-2018 a 11-enero-2019: • 29-enero-2019 a 25-marzo-2019: FECHAS DE EXÁMENES 1ER SEMESTRE: Asignatura Día Hora Independent Study with Adviser 14-enero 10:00-12:00 Reading Group on Basic Analysis of non-Functional Global 14-enero 12:00-14:00 Properties Descubrimiento de Conocimientos en Bases de Datos 14-enero 15:00-17:00 Scientific Method 14-enero 19:00-21:00 Weekly Presentation Series- Fall Term 15-enero 10:00-12:00 Software Construction: Analysis of Requirements 15-enero 12:00-14:00 Challenges of Accesible Computing for People with 15-enero 15:00-17:00 Functional Diversity Image Processing and Analysis 15-enero 17:00-19:00 Computer Security 16-enero 10:00-12:00 Intelligent Virtual Environments: Technologies, 16-enero 17:00-19:00 Architectures y Applications Rigorous Software Development 16-enero 19:00-21:00 Foundations for Programming Languages 17-enero 10:00-12:00 Paradigmas de la Programación 17-enero 15:00-17:00 Software Verification and Validation 17-enero 17:00-19:00 Computación Orientada a Servicios 17-enero 19:00-21:00 Directed Study with Adviser 18-enero 10:00-12:00 Software Construction: Architecture and Interface Design 18-enero 12:00-14:00 Issues Non-classical Project Management Strategies and Software 18-enero 15:00-17:00 Development Methodologies Sistemas de Información Geográfica en la Web 21-enero 17:00-19:00 New Trends in Distributed Systems 23-enero 15:00-17:00 2º SEMESTRE: Asignatura Día Hora Formal Methods for Concurrent and Reactive Systems 26-marzo 12:00-14:00 Computación Numérica Avanzada 26-marzo 15:00-17:00 Software Engineering Experimentation 26-marzo 17:00-19:00 Advanced Topics on Computer Security 27-marzo 10:00-12:00 Reading Group on Advanced Analysis of Non-Functional Global 27-marzo 12:00-14:00 Properties Data Mining Concepts, Practice and Research Challenges 27-marzo 15:00-17:00 21st Century Challenges for Software Engineering 27-marzo 17:00-19:00 Abstract Interpretation 28-marzo 10:00-12:00 Analysis of Concurrent Systems 29-marzo 10:00-12:00 Weekly Presentation Series- Spring Term 3-junio 10:00-12:00 Software Construction: Implementation Issues 3-junio 12:00-14:00 EXTRAORDINARIOS: Asignatura Día Hora Software Construction: Architecture and Interface Design 24-junio 09:00-12:00 Issues Reading Group on Basic Analysis of non-Functional Global 24-junio 12:00-15:00 Properties Scientific Method 24-junio 15:00-18:00 Sistemas de Información Geográfica en la Web 24-junio 18:00-21:00 Reading Group on Advanced Analysis of Non-Functional 25-junio 12:00-15:00 Global Properties Descubrimiento de Conocimientos en Bases de Datos 25-junio 15:00-18:00 Intelligent Virtual Environments: Technologies, 25-junio 18:00-21:00 Architectures and Applications Computer Security 26-junio 09:00-12:00 Advanced Topics on Computer Security 26-junio 12:00-15:00 Non-classical Project Management Strategies and Software 26-junio 15:00-18:00 Development Methodologies Software Engineering Experimentation 26-junio 18:00-21:00 Independent Study with Adviser 27-junio 09:00-12:00 Directed Study with Adviser 27-junio 12:00-15:00 Computación Numérica Avanzada 27-junio 15:00-18:00 Data Mining Concepts, Practice and Research Challenges 27-junio 18:00-21:00 Foundations for Programming Languages 28-junio 09:00-12:00 Analysis of Concurrent Systems 28-junio 12:00-15:00 Paradigmas de la Programación 28-junio 15:00-18:00 New Trends in Distributed Systems 28-junio 18:00-21:00 Software Construction: Implementation Issues 1-julio 09:00-12:00 Weekly Presentation Series- Spring Term 1-julio 12:00-15:00 Image Processing and Analysis 1-julio 15:00-18:00 21st Century Challenges for Software Engineering 1-julio 18:00-21:00 Formal Methods for Concurrent and Reactive Systems 2-julio 09:00-12:00 Weekly Presentation Series- Fall Term 2-julio 12:00-15:00 Challenges of Accesible Computing for People with 2-julio 15:00-18:00 Functional Diversity Rigorous Software Development 2-julio 18:00-21:00 Software Construction: Analysis of Requirements 3-julio 09:00-12:00 Abstract Interpretation 3-julio 12:00-15:00 Computación Orientada a Servicios 3-julio 15:00-18:00 Software Verification and Validation 3-julio 18:00-21:00 TRIBUNALES DE LAS ASIGNATURAS Se muestra a continuación el listado de las asignaturas del Máster junto a su Coordinador y el Tribunal de cada asignatura. Código Asignatura Coordinador Presidente Vocal Secretario 103000035 COMPUTACION NUMERICA AVANZADA Vicente Martín Ayuso Vicente Martín Ayuso José Crespo del Arco Sonia Frutos Cid SOFTWARE ENGINEERING Natalia Juristo Ana María Moreno 103000379 Sira Vegas Hernández Sira Vegas Hernández EXPERIMENTATION Juzgado Sánchez-Capuchino NON-CLASSICAL PROJECT MANGEMENT Ana María Moreno Natalia Juristo Ana María Moreno 103000380 STRATEGIES AND SOFTWARE DEVELOPMENT Sira Vegas Hernández Sánchez-Capuchino Juzgado Sánchez-Capuchino METHODOLOGIES 21ST CENTURY CHALLENGES FOR SOFTWARE José Luis Fuertes 103000381 Andrés Silva Vázquez Aurora Pérez Pérez Andrés Silva Vázquez ENGINEERING Castro Fco. Javier Segovia Fco. Javier Segovia Loïc Martínez 103000382 PARADIGMAS DE LA PROGRAMACION Sonia Frutos Cid Pérez Pérez Normand 103000383 RIGOROUS SOFTWARE DEVELOPMENT Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke Fredlund Natalia Juristo Ana María Moreno 103000385 SOFTWARE VERIFICATION AND VALIDATION Sira Vegas Hernández Sira Vegas Hernández Juzgado Sánchez-Capuchino Marta Patiño Marta Patiño 103000387 NEW TRENDS IN DISTRIBUTED SYSTEMS José Crespo del Arco Luis Mengual Galán Martínez Martínez Fco. Javier Soriano Fco. Javier Soriano José Luis Fuertes 103000388 COMPUTACION ORIENTADA A SERVICIOS Sonia Frutos Cid Camino Camino Castro DATA MINING CONCEPTS, PRACTICE AND Fco. Javier Segovia Fco. Javier Segovia Ernestina Menasalvas 103000389 Aurora Pérez Pérez RESEARCH CHALLENGES Pérez Pérez Ruiz José Luis Fuertes 103000390 IMAGE PROCESSING AND ANALYSIS José Crespo del Arco José Crespo del Arco Raúl Alonso Calvo Castro DESCUBRIMIENTO DE CONOCIMIENTO EN Juan Pedro Caraça- José Luis Fuertes Juan Pedro Caraça- 103000391 Aurora Pérez Pérez BASES DE DATOS Valente Hernández Castro Valente Hernández INTELLIGENT VIRTUAL ENVIRONMENTS: Angélica de Antonio Angélica de Antonio 103000392 TECHNOLOGIES, ARCHITECTURES AND Andrés Silva Vázquez Sira Vegas Hernández Jiménez Jiménez APPLICATIONS CHALLENGES OF ACCESIBLE COMPUTING José Luis Fuertes José Luis Fuertes Loïc Martínez 103000393 Aurora Pérez Pérez FOR PEOPLE WITH FUNCTIONAL DIVERSITY Castro Castro Normand Natalia Juristo Nelson Medinilla 103000394 SCIENTIFIC METHOD Andrés Silva Vázquez Andrés Silva Vázquez Juzgado Martínez José Luis Fuertes 103000395 SEMINARIO 1 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro Tribunales Tribunales Tribunales 103000396 TRABAJO DE FIN DE MASTER Sonia Frutos Cid específicos para cada específicos para cada específicos para cada trabajo trabajo trabajo José Luis Fuertes 103000549 SEMINARIO 8 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000551 SEMINARIO 9 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000552 SEMINARIO 10 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000553 SEMINARIO 11 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000554 SEMINARIO 12 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000555 SEMINARIO 13 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000556 SEMINARIO 14 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000557 SEMINARIO 15 (OPTATIVO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000558 SEMINARIO 2 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000559 SEMINARIO 3 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000560 SEMINARIO 4 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro Código Asignatura Coordinador Presidente Vocal Secretario José Luis Fuertes 103000561 SEMINARIO 5 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000562 SEMINARIO 6 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro José Luis Fuertes 103000563 SEMINARIO 7 (OBLIGATORIO) Sonia Frutos Cid Sonia Frutos Cid Aurora Pérez Pérez Castro SOFTWARE CONSTRUCTION-ANALYSIS OF 103000580 Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke Fredlund REQUIREMENTS 103000583 ABSTRACT INTERPRETATION Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke Fredlund READING GROUP ON BASIC ANALYSIS OF 103000584 Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke Fredlund NON-FUNCTIONAL GLOBAL PROPERTIES READING GROUP ON ADVANCED ANALYSIS 103000585 Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke Fredlund OF NON-FUNCTIONAL GLOBAL PROPERTIES 103000587 ANALYSIS OF CONCURRENT SYSTEMS Lars-Åke Fredlund Lars-Åke Fredlund Clara Benac Earle Manuel Carro Liñares 103000590 COMPUTER SECURITY Manuel Carro Liñares Manuel Carro Liñares Julio Mariño Carballo Lars-Åke
Recommended publications
  • Well-Founded Functions and Extreme Predicates in Dafny: a Tutorial
    EPiC Series in Computing Volume 40, 2016, Pages 52–66 IWIL-2015. 11th International Work- shop on the Implementation of Logics Well-founded Functions and Extreme Predicates in Dafny: A Tutorial K. Rustan M. Leino Microsoft Research [email protected] Abstract A recursive function is well defined if its every recursive call corresponds a decrease in some well-founded order. Such well-founded functions are useful for example in computer programs when computing a value from some input. A boolean function can also be defined as an extreme solution to a recurrence relation, that is, as a least or greatest fixpoint of some functor. Such extreme predicates are useful for example in logic when encoding a set of inductive or coinductive inference rules. The verification-aware programming language Dafny supports both well-founded functions and extreme predicates. This tutorial describes the difference in general terms, and then describes novel syntactic support in Dafny for defining and proving lemmas with extreme predicates. Various examples and considerations are given. Although Dafny’s verifier has at its core a first-order SMT solver, Dafny’s logical encoding makes it possible to reason about fixpoints in an automated way. 0. Introduction Recursive functions are a core part of computer science and mathematics. Roughly speaking, when the definition of such a function spells out a terminating computation from given arguments, we may refer to it as a well-founded function. For example, the common factorial and Fibonacci functions are well-founded functions. There are also other ways to define functions. An important case regards the definition of a boolean function as an extreme solution (that is, a least or greatest solution) to some equation.
    [Show full text]
  • Programming Language Features for Refinement
    Programming Language Features for Refinement Jason Koenig K. Rustan M. Leino Stanford University Microsoft Research [email protected] [email protected] Algorithmic and data refinement are well studied topics that provide a mathematically rigorous ap- proach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming language, but mainstream languages lack features for recording the sequence of refinement steps in the program text. To experiment with the combination of refinement, automated verification, and language design, refinement features have been added to the verification-aware programming language Dafny. This paper describes those features and reflects on some initial usage thereof. 0. Introduction Two major problems faced by software engineers are the development of software and the maintenance of software. In addition to fixing bugs, maintenance involves adapting the software to new or previously underappreciated scenarios, for example, using new APIs, supporting new hardware, or improving the performance. Software version control systems track the history of software changes, but older versions typically do not play any significant role in understanding or evolving the software further. For exam- ple, when a simple but inefficient data structure is replaced by a more efficient one, the program edits are destructive. Consequently, understanding the new code may be significantly more difficult than un- derstanding the initial version, because the source code will only show how the more complicated data structure is used. The initial development of the software may proceed in a similar way, whereby a software engi- neer first implements the basic functionality and then extends it with additional functionality or more advanced behaviors.
    [Show full text]
  • Developing Verified Sequential Programs with Event-B
    UNIVERSITY OF SOUTHAMPTON Developing Verified Sequential Programs with Event-B by Mohammadsadegh Dalvandi A thesis submitted in partial fulfillment for the degree of Doctor of Philosophy in the Faculty of Physical Sciences and Engineering Electronics and Computer Science April 2018 UNIVERSITY OF SOUTHAMPTON ABSTRACT FACULTY OF PHYSICAL SCIENCES AND ENGINEERING ELECTRONICS AND COMPUTER SCIENCE Doctor of Philosophy by Mohammadsadegh Dalvandi The constructive approach to software correctness aims at formal modelling of the in- tended behaviour and structure of a system in different levels of abstraction and verifying properties of models. The target of analytical approach is to verify properties of the final program code. A high level look at these two approaches suggests that the con- structive and analytical approaches should complement each other well. The aim of this thesis is to build a link between Event-B (constructive approach) and Dafny (analytical approach) for developing sequential verified programs. The first contribution of this the- sis is a tool supported method for transforming Event-B models to simple Dafny code contracts (in the form of method pre- and post-conditions). Transformation of Event-B formal models to Dafny method declarations and code contracts is enabled by a set of transformation rules. Using this set of transformation rules, one can generate code contracts from Event-B models but not implementations. The generated code contracts must be seen as an interface that can be implemented. If there is an implementation that satisfies the generated contracts then it is considered to be a correct implementation of the abstract Event-B model. A tool for automatic transformation of Event-B models to simple Dafny code contracts is presented.
    [Show full text]
  • Master's Thesis
    FACULTY OF SCIENCE AND TECHNOLOGY MASTER'S THESIS Study programme/specialisation: Computer Science Spring / Autumn semester, 20......19 Open/Confidential Author: ………………………………………… Nicolas Fløysvik (signature of author) Programme coordinator: Hein Meling Supervisor(s): Hein Meling Title of master's thesis: Using domain restricted types to improve code correctness Credits: 30 Keywords: Domain restrictions, Formal specifications, Number of pages: …………………75 symbolic execution, Rolsyn analyzer, + supplemental material/other: …………0 Stavanger,……………………….15/06/2019 date/year Title page for Master's Thesis Faculty of Science and Technology Domain Restricted Types for Improved Code Correctness Nicolas Fløysvik University of Stavanger Supervised by: Professor Hein Meling University of Stavanger June 2019 Abstract ReDi is a new static analysis tool for improving code correctness. It targets the C# language and is a .NET Roslyn live analyzer providing live analysis feedback to the developers using it. ReDi uses principles from formal specification and symbolic execution to implement methods for performing domain restriction on variables, parameters, and return values. A domain restriction is an invariant implemented as a check function, that can be applied to variables utilizing an annotation referring to the check method. ReDi can also help to prevent runtime exceptions caused by null pointers. ReDi can prevent null exceptions by integrating nullability into the domain of the variables, making it feasible for ReDi to statically keep track of null, and de- tecting variables that may be null when used. ReDi shows promising results with finding inconsistencies and faults in some programming projects, the open source CoreWiki project by Jeff Fritz and several web service API projects for services offered by Innovation Norway.
    [Show full text]
  • Essays on Emotional Well-Being, Health Insurance Disparities and Health Insurance Markets
    University of New Mexico UNM Digital Repository Economics ETDs Electronic Theses and Dissertations Summer 7-15-2020 Essays on Emotional Well-being, Health Insurance Disparities and Health Insurance Markets Disha Shende Follow this and additional works at: https://digitalrepository.unm.edu/econ_etds Part of the Behavioral Economics Commons, Health Economics Commons, and the Public Economics Commons Recommended Citation Shende, Disha. "Essays on Emotional Well-being, Health Insurance Disparities and Health Insurance Markets." (2020). https://digitalrepository.unm.edu/econ_etds/115 This Dissertation is brought to you for free and open access by the Electronic Theses and Dissertations at UNM Digital Repository. It has been accepted for inclusion in Economics ETDs by an authorized administrator of UNM Digital Repository. For more information, please contact [email protected], [email protected], [email protected]. Disha Shende Candidate Economics Department This dissertation is approved, and it is acceptable in quality and form for publication: Approved by the Dissertation Committee: Alok Bohara, Chairperson Richard Santos Sarah Stith Smita Pakhale i Essays on Emotional Well-being, Health Insurance Disparities and Health Insurance Markets DISHA SHENDE B.Tech., Shri Guru Govind Singh Inst. of Engr. and Tech., India, 2010 M.A., Applied Economics, University of Cincinnati, 2015 M.A., Economics, University of New Mexico, 2017 DISSERTATION Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy Economics At the The University of New Mexico Albuquerque, New Mexico July 2020 ii DEDICATION To all the revolutionary figures who fought for my right to education iii ACKNOWLEDGEMENT This has been one of the most important bodies of work in my academic career so far.
    [Show full text]
  • Dafny: an Automatic Program Verifier for Functional Correctness K
    Dafny: An Automatic Program Verifier for Functional Correctness K. Rustan M. Leino Microsoft Research [email protected] Abstract Traditionally, the full verification of a program’s functional correctness has been obtained with pen and paper or with interactive proof assistants, whereas only reduced verification tasks, such as ex- tended static checking, have enjoyed the automation offered by satisfiability-modulo-theories (SMT) solvers. More recently, powerful SMT solvers and well-designed program verifiers are starting to break that tradition, thus reducing the effort involved in doing full verification. This paper gives a tour of the language and verifier Dafny, which has been used to verify the functional correctness of a number of challenging pointer-based programs. The paper describes the features incorporated in Dafny, illustrating their use by small examples and giving a taste of how they are coded for an SMT solver. As a larger case study, the paper shows the full functional specification of the Schorr-Waite algorithm in Dafny. 0 Introduction Applications of program verification technology fall into a spectrum of assurance levels, at one extreme proving that the program lives up to its functional specification (e.g., [8, 23, 28]), at the other extreme just finding some likely bugs (e.g., [19, 24]). Traditionally, program verifiers at the high end of the spectrum have used interactive proof assistants, which require the user to have a high degree of prover expertise, invoking tactics or guiding the tool through its various symbolic manipulations. Because they limit which program properties they reason about, tools at the low end of the spectrum have been able to take advantage of satisfiability-modulo-theories (SMT) solvers, which offer some fixed set of automatic decision procedures [18, 5].
    [Show full text]
  • Bounded Model Checking of Pointer Programs Revisited?
    Bounded Model Checking of Pointer Programs Revisited? Witold Charatonik1 and Piotr Witkowski2 1 Institute of Computer Science, University of Wroclaw, [email protected] 2 [email protected] Abstract. Bounded model checking of pointer programs is a debugging technique for programs that manipulate dynamically allocated pointer structures on the heap. It is based on the following four observations. First, error conditions like dereference of a dangling pointer, are express- ible in a fragment of first-order logic with two-variables. Second, the fragment is closed under weakest preconditions wrt. finite paths. Third, data structures like trees, lists etc. are expressible by inductive predi- cates defined in a fragment of Datalog. Finally, the combination of the two fragments of the two-variable logic and Datalog is decidable. In this paper we improve this technique by extending the expressivity of the underlying logics. In a sequence of examples we demonstrate that the new logic is capable of modeling more sophisticated data structures with more complex dependencies on heaps and more complex analyses. 1 Introduction Automated verification of programs manipulating dynamically allocated pointer structures is a challenging and important problem. In [11] the authors proposed a bounded model checking (BMC) procedure for imperative programs that manipulate dynamically allocated pointer struc- tures on the heap. Although in this procedure an explicit bound is assumed on the length of the program execution, the size of the initial data structure is not bounded. Therefore, such programs form infinite and infinitely branching transition systems. The procedure is based on the following four observations. First, error conditions like dereference of a dangling pointer, are expressible in a fragment of first-order logic with two-variables.
    [Show full text]
  • The Merger Control Review
    [ Exclusively for: Suncica Vaglenarova | 09-Sep-15, 07:52 AM ] ©The Law Reviews The MergerThe Control Review Merger Control Review Sixth Edition Editor Ilene Knable Gotts Law Business Research The Merger Control Review The Merger Control Review Reproduced with permission from Law Business Research Ltd. This article was first published in The Merger Control Review - Edition 6 (published in July 2015 – editor Ilene Knable Gotts) For further information please email [email protected] The Merger Control Review Sixth Edition Editor Ilene Knable Gotts Law Business Research Ltd PUBLISHER Gideon Roberton BUSINESS DEVELOPMENT MANAGER Nick Barette SENIOR ACCOUNT MANAGERS Katherine Jablonowska, Thomas Lee, Felicity Bown ACCOUNT MANAGER Joel Woods PUBLISHING MANAGER Lucy Brewer MARKETING ASSISTANT Rebecca Mogridge EDITORIAL COORDINATOR Shani Bans HEAD OF PRODUCTION Adam Myers PRODUCTION EDITOR Anne Borthwick SUBEDITOR Caroline Herbert MANAGING DIRECTOR Richard Davey Published in the United Kingdom by Law Business Research Ltd, London 87 Lancaster Road, London, W11 1QQ, UK © 2015 Law Business Research Ltd www.TheLawReviews.co.uk No photocopying: copyright licences do not apply. The information provided in this publication is general and may not apply in a specific situation, nor does it necessarily represent the views of authors’ firms or their clients. Legal advice should always be sought before taking any legal action based on the information provided. The publishers accept no responsibility for any acts or omissions contained herein. Although the information provided is accurate as of July 2015, be advised that this is a developing area. Enquiries concerning reproduction should be sent to Law Business Research, at the address above.
    [Show full text]
  • Btech Cse Syllabus 2017.Pdf
    NATIONAL INSTITUTE OF TECHNOLOGY WARANGAL RULES AND REGULATIONS SCHEME OF INSTRUCTION AND SYLLABI FOR B.TECH PROGRAM Effective from 2017-18 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY WARANGAL VISION Towards a Global Knowledge Hub, striving continuously in pursuit of excellence in Education, Research, Entrepreneurship and Technological services to the society. MISSION Imparting total quality education to develop innovative, entrepreneurial and ethical future professionals fit for globally competitive environment. Allowing stake holders to share our reservoir of experience in education and knowledge for mutual enrichment in the field of technical education. Fostering product oriented research for establishing a self-sustaining and wealth creating centre to serve the societal needs. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VISION Attaining global recognition in Computer Science & Engineering education, research and training to meet the growing needs of the industry and society. MISSION Imparting quality education through well-designed curriculum in tune with the challenging software needs of the industry. Providing state-of-art research facilities to generate knowledge and develop technologies in the thrust areas of Computer Science and Engineering. Developing linkages with world class organizations to strengthen industry-academia relationships for mutual benefit. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING B.TECH IN COMPUTER SCIENCE AND ENGINEERING PROGRAM EDUCATIONAL OBJECTIVES Apply computer science theory blended with mathematics and engineering to model PEO1 computing systems. Design, implement, test and maintain software systems based on requirement PEO2 specifications. Communicate effectively with team members, engage in applying technologies and PEO3 lead teams in industry. Assess the computing systems from the view point of quality, security, privacy, cost, PEO4 utility, etiquette and ethics.
    [Show full text]
  • Developing Verified Programs with Dafny
    Developing Verified Programs with Dafny K. Rustan M. Leino Microsoft Research, Redmond, WA, USA [email protected] Abstract—Dafny is a programming language and program method Sort(a: int, b: int, c: int) returns (x: int, y: int, z: int) verifier. The language includes specification constructs and the ensures x ≤ y ≤ z ^ multiset{a, b, c} = multiset{x, y, z}; verifier checks that the program lives up to its specifications. { These tutorial notes give some Dafny programs used as examples x, y, z := a, b, c; if z < y { y, z := z, y; } in the tutorial. if y < x { x, y := y, x; } if z < y { y, z := z, y; } I. INTRODUCTION } Reasoning about programs is a fundamental skill that every software engineer needs. Dafny is a programming language Fig. 0. Example that shows some basic features of Dafny. The method’s specification says that x,y,z is a sorted version of a,b,c, and the verifier designed with verification in mind [0]. It can be used to automatically checks the code to satisfy this specification. develop provably correct code (e.g., [1]). Because its state-of- the-art program verifier is easy to run—it runs automatically method TriangleNumber(N: int) returns (t: int) 0 in the background in the integrated development environment requires 0 ≤ N; and it runs at the click of a button in the web version1—Dafny ensures t = N*(N+1) / 2; { also stands out as a tool that through its analysis feedback t := 0; helps teach reasoning about programs. This tutorial shows how var n := 0; while n < N to use Dafny, and these tutorial notes show some example invariant 0 ≤ n ≤ N ^ t = n*(n+1) / 2; programs that highlight major features of Dafny.
    [Show full text]
  • Dafny Quick Reference* J
    DAFNY QUICK REFERENCE* J. Pascoal Faria *NON-EXHAUSTIVE FEUP, MIEIC, MFES, 2019/20 INDEX What is Dafny Type system Program Specification & .Programming styles .Basic types organization verification constructs .Programs & .Collections .Methods .Basic: specifications .Sets .Functions & .requires and ensures .Verifier, compiler & .Sequences predicates .reads, modifies & old VSCode extension .Multisets .Expressions .invariant & decreases .Maps .Statements .Advanced: .Tuples .Modules .assert & assume .Inductive data .ghost variables & types methods .lemmas .Arrays .attributes .Classes .Traits WHAT IS DAFNY? WHAT IS DAFNY? A powerful programming language & system from Microsoft Research, targeting the development of verified programs, and used in several real world projects requiring formal verification. Powerful programming language: Multi-paradigm: combines the functional, imperative and object-oriented styles Allows writing programs (implementations) and specifications (with several sorts of assertions & annotations) Powerful programming system: Verifier using Z3 Compiler to C# Extension for VSCode PROGRAMMING STYLES Functional .Immutable types (value types) .Side-effect free functions and predicates .… Best suited for writing specifications! Imperative (structured & object-oriented) .Statements .Methods .Modules .Classes .… Best suited for writing implementations! PROGRAMS (IMPLEMENTATIONS) & SPECIFICATIONS Formal specification of method pre- and post-conditions (method semantics). Formal specification of loop variant and invariant,
    [Show full text]
  • User Interaction in Deductive Interactive Program Verification
    User Interaction in Deductive Interactive Program Verification Zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften von der KIT-Fakult¨atf¨urInformatik des Karlsruher Instituts f¨urTechnologie (KIT) genehmigte Dissertation von Sarah Caecilia Grebing aus Mannheim Tag der m¨undlichen Pr¨ufung: 07. Februar 2019 Erster Gutachter: Prof. Dr. Bernhard Beckert Zweiter Gutachter: Assoc. Prof. Dr. Andr´ePlatzer Contents Deutsche Zusammenfassung xv 1. Introduction1 1.1. Structure and Contribution of this Thesis . .2 1.1.1. Qualitative, Explorative User Studies . .3 1.1.2. Interaction Concept for Interactive Program Verification . .5 1.2. Previously Published Material . .6 I. Foundations for this Thesis9 2. Usability of Software Systems: Background and Methods 11 2.1. Human-Computer Interaction . 12 2.2. User-Centered Process . 12 2.3. Usability . 13 2.3.1. What is Usability? . 13 2.3.2. Usability Principles . 14 2.4. Interactions . 16 2.4.1. Models of Interaction . 16 2.4.2. Interaction Styles . 18 2.5. Task Analysis . 20 2.5.1. A brief Introduction to Sequence Models . 20 2.6. Evaluation Methods . 22 2.6.1. Questionnaires . 23 2.6.2. Interviews . 24 2.6.3. Focus Groups . 24 2.6.4. Preparation and Conduction of Focus Groups and Interviews . 25 3. Interactive Deductive Program Verification 29 3.1. Introduction . 29 3.2. Logical Calculi . 30 3.3. Specification of Java Programs with JML . 32 3.3.1. Method Contracts . 33 3.3.2. Loop Invariants . 34 3.3.3. Class Invariants . 36 3.3.4. The Purpose of Specifications . 36 3.4. A Brief Introduction to Java Dynamic Logic (JavaDL) .
    [Show full text]