eduard.paul.enoiu@mdh.se
              
Mälardalen University
Room:U1-138
Phone: 021-101624
Phone (alt):070-4484346
              I am a researcher and lecturer at Mälardalen
              University in Västerås, Sweden, primarily affiliated
              with the Software Testing Laboratory and
              the Formal Modelling and Analysis groups at the
              Department of Networked and Embedded Systems. A
              native of Bucharest, I earned an Engineer's degree from
              the Polytechnic University of Bucharest in 2009 and
              a PhD from Mälardalen University in 2016. 
My research interests span software engineering
              and empirical research, especially how to test,
              maintain, evolve and assure high-quality industrial
              software systems. 
            
I teach automated testing and model-based
              testing at the master and PhD levels as well as to
              industrial practitioners. 
            
Currently, I am doing research on a diverse array of
              topics in software development, including:
            
SUPERVISION: If you are interested in doing a
              bachelor, master or PhD thesis at Mälardalen University,
              and if you are a good and ambitious student interested in
              software engineering, embedded system development and
              software testing, then have a look at some general topics
              listed below (these topics are not taken by any student).
              If you are interested in any of these please email me.
            
            
Human Aspects of Testing
              Software testing is a complex, intellectual activity-based
              (at least) on analysis, reasoning, decision making,
              abstraction and collaboration performed in a highly
              demanding environment. Naturally, it uses and allocates
              multiple cognitive resources in software testers. However,
              while a cognitive psychology perspective is increasingly
              used in the general software engineering literature, it
              has yet to find its place in software testing. To the best
              of our knowledge, no theory of software testers’ cognitive
              processes exists. We took the first steps towards such a
              theory by presenting a cognitive model of software testing
              based on how problem-solving is conceptualized in
              cognitive psychology.  The results support a problem
              solving-based model of test design for capturing testers’
              cognitive processes that could help in improving test
              design practices and tools supporting these activities.
              
            
Automatic Test Generation
              Since the early days of software testing, automatic test
              generation has been suggested as a way of allowing tests
              to be created at a lower cost. However, industrially
              useful and applicable tools for automatic test generation
              are still scarce. As a consequence, the evidence regarding
              the applicability or feasibility of automatic test
              generation in industrial practice is limited. This is
              especially problematic if we consider the use of automatic
              test generation for industrial safety-critical control
              systems, such as are found in power plants, airplanes, or
              trains.
              
              Our results show that there are still challenges
              associated with the use of automatic test generation. In
              particular, we found that while automatically generated
              tests, based on code coverage or mutation, can exercise
              the logic of the software as well as tests written
              manually, and can do so in a fraction of the time, they do
              not show better fault detection compared to manually
              created tests. Our results highlight the need for
              improving the goals used by automatic test generation
              tools.
              
            
Combinatorial Testing
              Combination test generation techniques are test generation
              methods where tests are created by combining the input
              values of the software based on a certain combinatorial
              strategy. Our results show that these techniques can be
              improved and be successfully used in industrial practice.
              We proposed the use of timed base-choice criterion for
              testing industrial control software.
              
              The idea of using combinatorial testing in software
              testing practice stands as significant progress in the
              development of automatic test generation approaches.
              Combinatorial testing is capable of aiding an engineer in
              testing of industrial software. 
              
            
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 of several studies that
              proposed efficient verification techniques, like
              model-checking, that can be applied to high-level design
              artefacts to provide early information on the design and
              implementation of embedded software systems.