27
Software Science Jan Tretmans

Software Science Jan Tretmans. Master Programme in Computing Science 2 years (120 ec), full time four specializations software science MFoCS data sciencecyber

Embed Size (px)

Citation preview

Software Science

Jan Tretmans

Master Programme in Computing Science

• 2 years (120 ec), full time

• four specializations

software science

MFoCS

data science cyber security

4

What do Dykes, Wafer Scanners,

and Shops have in common ?

5

What do Dykes, Wafer Scanners,

and Shops have in common ?

6

What do Dykes, Wafer Scanners,

and Shops have in common ?

What do Dykes, Wafer Scanners,

and Shops have in common ?

Quality Software

8

Deep Scientific Questions !

• How can we control the complexity of software?

• How can we ensure correctness?

x : [0..9]

y : [0..9]

x : [0..9]

x : [0..9]

y : [0..9]

z : [0..9]

10 possible failures

100 possible failures

1000 possible failures

Software Science Research

Central to research carried out in Nijmegen are models and modeling.

We explore the systematic use of models as the primary artifacts

throughout the engineering lifecycle of computer-based systems.

We do research on:

• Domain specific modelling languages

• Model learning, their manual construction

and automatic generation

• Model-based reasoning, model-based testing,

verification and validation

11

Models in the Development Process:Validation, Verification, and Testing

system

model

validation

(model-based) testing

verification

informalideas and docs

12

E-PassportModel

Software Analysis

Software Technology

Quest for ever greater abstractions that expand power while simplifying design:

• Functional Programming

• Domain Specific Languages

Foundations of Software

Our Methodology: Practice as Laboratory

Structure of Software Science Programme

Courses in the Software Science Specialization

Basic courses

Advanced Programming Testing Techniques

Model Checking

Electives Courses

Software Technology/Engineering:

Compiler Construction Design of Embedded Systems System Development Software Security

Computer-Aided Analysis:

Software Analysis Automated Reasoning Proof Assistants

Theory of Computation (at least 1 course):

Type Theory and Coq Semantics and Domain Theory Co-algebra Complexity Theory or Computability Theory

Testing Techniques

• State-of-the-art testing in industry

• Model-based testing

• Model learning

Model Checking

Theory + Application to real systems:

• Data-path of Océ printers

• Philips HUE smart lighting

• Die Bonder Strip Glue machine NXP

20

Research Internship

• Join one of our research groups

• Join our New Devices Lab!!

Master Thesis Projects

– Within industry

– Within our institute

– Abroad

Example MSc thesis project : Wouter Smeenk,

Learning Model of Engine Status Manager of Océ Printer

Example MSc thesis project : Wessel van Staal,

Agent Based Simulation with iTasks for Navy Patrol Vessels

Example MSc thesis project : Danny Hendrix,

Model-Based Analysis of Indoor Lighting Systems

system

model

validation

(model-based) testing

verification

informalideas and docs

Job Perspective

Wouter Fides

MatthijsSander

Paul

Martijn

Why Software Science?

• Software science underpins technologies of 21st century

• Unique expertise on software technology

• Unique range of software analysis techniques+ application down to practical/commercial use in industry

• Unique concentration of researchers working on theory of computation

• See http://www.ru.nl/english/education/masters/computing-software/

28

Thank you