Eduard Paul Enoiu, Post Doc

Research Interests: software testing; model checking; model-based testing; engineering of digital systems; embedded system development; history and psychology of software development;

Eduard Enoiu is an experimental computer scientist and an engineer interested in industrial control software and digital systems. A native of Bucharest, he earned his Engineer's degree at Polytechnic University in 2009 and his PhD from Mälardalen University in 2016. 

Enoiu's research on automatic test generation and software testing using model checking has been published in international conferences and journals. He is teaching advanced test design techniques to industrial practitioners.

Eduard Enoiu is currently doing research on a diverse array of topics in software development, including the role of automatic test generation (where tests are intelligently and algorithmically created) in industrial practice; historical and recent trends in test design; the use of model checking for engineering better systems; the nature of creating efficient and effective tests; the cognitive science of software testing; software complexity and autonomy;

Enoiu lives in Västerås with his wife and two jolly dandie dinmont terrier dogs.

Professional Preparation:
  • PhD Degree in Computer Engineering at Mälardalen University. Thesis: Automatic Test Generation for Industrial Control Software, Supervisors: Prof. Daniel Sundmark, Dr. Adnan Causevic, Prof. Paul Petterson, Thesis opponent: Prof. Mats Heimdahl, University of Minnesota. Industrial PhD Visit (40%) from 2014 to 2016 at Bombardier Transportation AB. Teaching and Research Visit (August-September 2015) at East China University of Science and Technology, China. 

  • Licentiate of Technology in Computer Science, Mälardalen University, 2014.Thesis: Model Checking-Based Software Testing for Function Block Diagrams. Supervisors: Prof. Paul Petterson, Prof. Daniel Sundmark, Dr. Adnan Causevic. Thesis opponent: Prof. Mohammad Reza Mousavi, Halmstad University. Performed research in close collaboration with industry. Worked within a large international consortium on advanced test automation (December 2011 – December 2013). 

  • Master of Science in Embedded Systems, Mälardalen University, 2011. Thesis: A Design Framework for Service-oriented Systems. Supervisors: Assoc. Prof. Cristina Seceleanu and Dr. Aida Causevic. Courses focused on embedded systems engineering and artificial intelligence.

  • Engineer’s Degree in Computer Engineering, Politehnica University of Bucharest, 2009. Thesis: Efficient FPGA implementation of Reed Solomon encoding and decoding systems (only available in romanian language). Supervisor: Assoc. Prof. Stefan Stancescu. Courses focused on software engineering, digital design and verification, electronics, physics and mathematics.  

Community Service:

  • Refereeing (selected): International Workshop on Formal Techniques for Safety-Critical Systems, 2015, International Symposium on Dependable Software Engineering, 2015, International Andrei Ershov Memorial Conference, 2015, International Workshop on Formal Techniques for Safety-Critical Systems, 2014, International Workshop on Formal Engineering approaches to Software Components and Architectures 2014, International Conference on Tools and Algorithms for the Construction and Analysis of Systems 2014, Workshop on Advances in Model Based Testing 2013, International Conference on Software Engineering Research, Management and Applications August 2013, Emerging Technologies and Factory Automation, 2012. 

  • Research Collaboration with Academia: Mälardalen University, Blekinge Institute of Technology, University of Namur, Swedish Institute of Computer Science, Politehnica University of Bucharest

  • Research Collaboration with Industry: Bombardier Transportation (development of an automated testing tool for train control software and training industrial engineers on software testing), Volvo GTT (development of a tool for verification and analysis of architectural models), Ericsson (one MSc thesis project).

  • Invited Talks (selected): TOCSYC Industrial Workshop, Skövde, Sweden: “Statistical Analysis of Resource Usage in Embedded Systems”, 2015. Workshop Bombardier Transportation, Västerås, Sweden: “Automated Test Case Generation for Train Control Software”, 2015. Workshop Ericsson, Kista, Sweden: “Advances on Model-Based Software Testing”, 2014. 

Pedagogical Experience:

  • Advanced Verification and Validation (Mälardalen University) 2016. Lecturing on timed automata, modeling real-time systems and model checking. 

  • Software Testing Course (PROMPT Course for Industrial Professionals) 2014, 2015, 2016. Course development, lectures, supervision, exercises, creating/correcting exams

  • Software Verification and Validation (Mälardalen University) 2013, 2014, 2015. Guest lecture on Model Based Testing

  • Software Engineering (East China University of Science and Technology) 2015. Guest lecturing

  • Software Testing Commissioned Education (Mälardalen University and Ericsson) 2012, 2013. Lecturing on Model-based testing. Exercises, lab supervision.

  • Software Engineering Project Course (Mälardalen University) 2012 2013. Project supervision, exercises

  • Operating Systems Course (Polytechnic University of Bucharest) 2007 2008. Lab assistant.

Advisor and Supervisor (Bachelor and Master Level Theses)

  • Combinatorial Modelling and Testing of PLC Software using ACTS (BSc)

  • A Model-based Test Generation Tool for Industrial Function Block Diagrams (BSc) - defended at University of the Balearic Islands.

  • A Study on Timed Base Choice Criteria for Testing Embedded Software (BSc)

  • An Empirical Exploration in the Study of Software-Related Fatal Failures (BSc)

  • Evaluation of Structural Testing Effectiveness in Industrial Model-driven Software Development (MSc) - conducted at Ericsson

  • Model Test Coverage Measurements in an Industrial Setting (MSc) - conducted at Bombardier Transportation.

  • On the Use of Base Choice Strategy for Testing Industrial Control Software (BSc) 

  • Pairwise Testing for PLC Embedded Software (BSc)

  • Model-based Testing on Generated C Code (MSc)

  • Automated Test Case Generation for Function Block Diagrams using Java Path Finder and Symbolic Execution (MSc)

  • Automated Test Generation for Structured Text Language using UPPAAL Model Checker (MSc)

Developed Software Tools:

  • CompleteTest tool for automated test generation, developed at Mälardalen University in collaboration with Bombardier Transportation.

  • VITAL tool for software architecture analysis and verification, developed at Mälardalen University in collaboration with Volvo GTT

  • RESEIDE tool for service-oriented system modeling, developed at Mälardalen University 

Automated Test Generation for Industrial and Safety-Critical Control Software

Automated test generation can be improved but software testers need to take caution in selecting generation objectives for automated testing, as well as establishing more effective test adequacy criteria. To achieve this, we should have a better view of what aspects of software testing affect test effectiveness. In this research we tried to decipher how automatic test generation works in industrial practice and how it can enable more efficient and effective software testing. Ultimately we want to use this knowledge to decode the complexities of testing software.

My collaborators in this work so far have included Daniel Sundmark, Paul Pettersson, Adnan Causevic, Robert Feldt, Thomas Ostrand, Elaine Weyuker, Kivanc Doganay, and Markus Bohlin.

Model-Based Analysis and Verification

Design models that can be introduced earlier in the development process provide a holistic system description that captures the structure and functionality of a software system, as well as related extra-functional information, e.g., timing properties and resource annotations. I was the coauthor on several studies that proposed efficient verification techniques, like model-checking, can be applied on high-level design artifacts to provide early information on the design and implementation of embedded software systems. 

My collaborators in this work so far have included Raluca Marinescu, Cristina Seceleanu, Pierre Yves Schobbens, Paul Pettersson, Eun-Young Kan.

Design and Analysis of Software and System Services

The recently introduced paradigm of Service-oriented Systems (SOS) provides the basis for dealing with software integration and composition, by exploiting loosely coupled and autonomous abstract modeling entities called services. I was the coauthor on two studies showing a novel modeling and analysis tool for service-oriented systems. The tool enables graphical modeling of service-based systems, within the resource-aware timed behavioral language.

Together with my colleagues I have developed a graphical environment where services can be composed as desired by the user, together with a textual service composition interface in which compositions can also be checked for correctness.

My collaborators in this work so far have included Aida Causevic, Raluca Marinescu and Cristina Seceleanu.

Modelling Error Correction and Detection Systems

In information theory and in hardware and software engineering, error detection and correction are techniques that enable reliable delivery of data over noisy communication channels. I was the coauthor on two studies showing a methodology for designing error detection and correction systems using a modeling language such that an engineer can automatically obtain a reliable digital design or software implementation. This methodology can be applied for implementing various circuits and software.

My collaborators in this work so far have included Stefan Stancescu, Lavinia Neagoe and Raluca Marinescu.