# Dorel Lucanu

Contents

## Scientific Interest

Formal methods, programming languages, software engineering, logics, rewriting, P systems, semantic web.

## Profesional activities

**Open PhD Position**

The interested candidates can directly contact me by email.

- CNCSIS expert
- Vice-dean of the Faculty of Computer Science (2000 – 2008)
- Director of the Master Programme in Software Engineering
- Director of Comp. Sci. Department (2008-present)

### Events

- CSCS 21, CALCO 2017, SYNASC 2017, FROM 2017
- WRLA 2016, SYNASC 2016
- CSCS20, SVM2015, SYNASC2015
- WRLA 2014, SYNASC 2014
- CALCO 2013, WRS 2013, SYNASC 2013, CSCS 2013, PAS 2013
- FMOODS-FORTE 2012, WRLA 2012, CMCS 2012, SSLF 2012
- CALCO-Tools 2011, FoVeOOS 2011, K11. SYNASC 2011
- FoVeOOS 2010, WRLA 2010, SYNASC 2010, K10
- SYNASC 2009
- SYNASC 2008
- SYNASC 2007
- SYNASC 2006,
- SYNASC 2005, WLFM 2005,
- CITTI 2000
- WDS 1999

## Teaching

### Diploma Projects

The students that want to work for the diploma projects under my supervision may contact me directly by email.

The prefered subjects are related to K Framework project and include formal definitions of programming languages, program analysis and verification, model-checking, logics for programs, extensions of the framework.

The difficulty degree of the project will be adapted to the student’s skills.

The students may also propose their own subjects.

### Introduction to Object Oriented Programming

This is an introductory course in OOP using C++ programming language. It is taught to the undergraduate students from in the first study year (the second semester).

The main OOP concepts (objects, classes, inheritance, polymorphisms, aggregations, association relations between classes) are presented together with their representation in C++. The teaching method is project-based.

Details can be found on the course site.

### Algorithm Design

This s a course for the undergraduate students (1st year). The taught topics include advanced data structures, algorithm design paradigms (greedy, dynamic programming, divide-et-impera, backtracking, branch-and-bound), NP-complete problems, introduction to approximation algorithms, introduction to probabilistic algorithms.

Details can be found on the course page.

### Principles of Programming Languages

This is an optional course for the undergraduate students, mainly based on the semantics and design of the programming languages. In the first part of the course, the traditional approaches for giving semantics to programming languages is presented; all these semantics are experimented on a simple language using their implementation in Maude. In the second part, the K framework is presented and it is exemplefied how to design three languages belonging to three different paradigms (imperative, object oriented, and functional, respectively) in this framework.

Details can be found on the course page.

### Formal Methods In Software Engineering

This is a course for graduate (master) students. In the first part, the main logics used in the specification and verification of programs are presented:Hoare Logic, Separation Logic, Linear Temporal Logic, contracts. Several implementations based on these logics are discussed. In the second part, we discuss how the K Framework can be used to desgind analysis and verification tools for K defined programming languages. A particular place is allocated to the Matching Logic paradigm.

Details can be found on the course page.