Professor

Lionel Briand

Research Scientist
Mobile: +47 474 57 739
Office: +47 67 82 83 04
Affiliations: Software Engineering
You are here: Home People Lionel Briand

 

Lead scientist of APPlied Research On software system Verification and Evolution (APPROVE)

IEEE  Fellow, Registered Professional Engineer (P. Eng., Ontario, Canada)

 

 

Group Description

 

Our group focuses on devising, automating, and evaluating novel techniques that facilitate software verification, validation, and evolution. Our research features a practical, engineering bent with a particular focus on industry-driven research, aimed at devising scalable solutions to complex systems. Our research usually involves a mix of methodology, automation, and empirical studies, as they are all necessary components of a complete solution. In particular, software testing is currently a strong focus due to a high demand among our industry partners. Our projects also span safety analysis and certification, automated inspections, system integration, and change analysis and management. Many of the solutions we devise rely on model-driven engineering, using international modeling standards such as the Unified Modeling Language (UML) and its extensions for system engineering, real-time and distributed systems, and system integration.

The APPROVE group currently involves six scientists and seven Ph.D. students.

For more details, please see the detailed group description

Objectives

 

I came to Simula to attempt a somewhat unusual way of running research projects. Instead of identifying research problems solely by reviewing the research literature or through discussions with  academic colleagues, we focus on analyzing problems in direct collaboration with industry partners, assess the state of the art with respect to the identified problems, and devise novel, practical solutions. We then try them out in realistic settings and reflect on our experience to propose refinements in an iterative fashion. The approach may be seen as similar to what social scientists call action research, but on entirely different types of problems. Though it is a common way to proceed in many engineering research disciplines, due to mostly historical reasons, this is not so in software engineering. Our goal is to increase the relevance of our research and therefore its impact.

Professional Experience 

 

My professional experience spans five countries, and a variety of institutions focused on technology transfer, applied research, and education. I like to share my time and attention between addressing challenging engineering problems and longer term research activities. A thorough understanding of state-of-the-art, engineering practice is what helps make my research activities more relevant.

I am currently a group leader at the Simula Research Laboratory and a part-time professor at the University of Oslo. My main responsibility is to lead research and innovation activities in the area of software verification, validation, and testing.

From July 1999 to July 2008, I was a Professor and Canada Research Chair with the Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada, where I founded the Software Quality Engineering Laboratory (SQUALL).  Before that I was the first software quality engineering department head at the Fraunhofer Institute for Experimental Software Engineering (IESE), Germany, and a Software Engineering group leader at the Computer Research Institute of Montreal (CRIM), Montreal, Canada. I also worked for 5 years as a research scientist for the Software Engineering Laboratory, a consortium of the NASA Goddard Space Flight Center, CSC, and the University of Maryland. The applied nature of the research I conduct stems from my  professional debut as a software engineer in the trenches, designing software systems for CISI Ingenierie (now CS Communication and Systems), France.

I have been on the program, steering, or organization committees of many international, IEEE/ACM conferences such as ICSE, MoDELS/UML, ICSM, ISSRE, ISESE, and METRICS. I currently serve on the steering committees of MoDELS (formerly UML) and ICST. I am the recipient of a Meritorious Service Award from the IEEE Computer Society and an IEEE senior member. I am/was also on the editorial boards of Software and System Modeling (Springer), Software Testing, Verification, and Reliability (Wiley), and IEEE Transactions on Software Engineering (2000-2004). I am furthermore the co-editor in chief of Empirical Software Engineering: An International Journal (Springer), a journal that promotes industry-relevant software engineering research.

I acted as a consultant to several industrial and government organizations including Alcatel, Siemens health services and mobile telecommunications, Daimler-Chrysler Aerospace, the French National Research Center in Telecommunications (CNET), and the French National Space Agency (CNES). I was part of  the committee in charge of improving testing and reliability engineering processes after the explosion (due to a software failure) of the Ariane 5 ESA launcher in 1996. More recently, while in Canada and Norway, I have been involved in projects with companies such as Nortel Networks (Canada), IBM-Rational (Canada), Siemens Corporate Research (US), Telcordia (US), ABB Corporate Research (Norway), Telenor (Norway), Tandberg (Norway), Det Norske Veritas (DNV, Norway), WesternGeco (Schlumberger group, Norway), TOMRA (Norway), and Kongsberg (Norway).

A more complete CV can be downloaded here

 

News

My recent and upcoming keynote addresses

  • European symposium on Verification and Validation of Software Systems (VVSS), 2009
  • 2nd Workshop on Model-based Testing in Practice (MOTIP), 2009

  • International Conference on the Software Process (ICSP), 2009
  • International Symposium on Search Based Software Engineering (IEEE SSBSE), 2009
  • International Conference on Quality Software (IEEE QSIC), 2008
  • International Symposium on Empirical Software Engineering and Measurement (IEEE/ACM ESEM), 2007

Recent and upcoming conferences in which I am involved

  • International Conference on Software Engineering (ACM/IEEE ICSE)
  • International Conference on Software Testing, Verification, and Validation (IEEE ICST)
  • International Conference on Model Driven Engineering Languages and Systems (ACM/IEEE MODELS)
  • International Symposium on Empirical Software Engineering and Measurement (ACM/IEEE ESEM)

Journal editorial boards


Research and Technical Interests

  1. Verification and validation of software systems with a particular emphasis on object-oriented systems and high-dependability systems

  2. Model-driven development with the Unified Modeling Language (UML) and its extensions (e.g., MARTE, SysML)

  3. Quality assurance and control based on quantitative methods and measurement

  4. Applications of machine learning and evolutionary computation to software engineering

  5. Technology evaluation through empirical means

Education

 

I received the B.Sc. and M.Sc. degrees in Geophysics and Computer Systems Engineering (Ingenierie des systemes informatiques) from the University of Paris VI, France, in 1986 and 1988, respectively. I also received the Ph.D degree in Computer Science, with high honors (félicitations du jury), from the University of Paris XI, Orsay, France, in April 1994. I am an IEEE Fellow (2010) and a Canadian professional engineer (P. Eng.) registered in Ontario, Canada.

Short Biography

 

I was born in Paris, France, though I could not bear anymore the thought of a snowless winter. As far as I am concerned, there is nothing better than a crisp, sunny and snowy winter day. I have become a proud Canadian though I still have a weakness for pungent cheeses. (well, nobody is perfect and I did not have to give it up to become a "canuck".)
Though my degrees are from France, I did most of my Ph.D. thesis work at U. of Maryland (USA) and I was privileged to have Victor Basili as an advisor. He has been a mentor, a role model, and close friend since then and has influenced my life in many ways. As someone once said, being a Ph.D. advisor is a "tenured" position, for life. ;-)
Like Vic, I try to instill enthusiasm and the passion of research into my graduate students' minds. This is the very reason why I am doing this job, to learn from and interact with students. This is where I find my energy and motivation, in seeing students mature and grow into talented engineers and researchers.

Favorite Quote

 

“Stop the numbers game! — Counting papers slows the rate of scientific progress."

Stop the numbers game, Dave Parnas, Communications of the ACM, November 2007

 

Software Testing in APPROVE

 

Testing typically consumes between 30% and 60% of software development resources. When properly planned and automated, it is still the best mechanism we have at our disposal to improve and ensure the dependability of software systems. Since such dependability is now a pervasive issue in most if not all industry sectors, this is obviously an area of high economic and strategic importance. Ensuring dependability is particularly important in the development of (safety) critical systems, such as control & monitoring systems, financial systems. Dependability includes not only reliability but also security, safety, and robustness, which matter to various degrees depending on the application domain.

Our group makes use of modeling, simulation, artificial intelligence, and optimization techniques (e.g., evolutionary computing, machine learning) to improve the automated support provided to testers in terms of

-    generating, assessing, and refining their test suites,

-    managing traceability between test suites and other development artifacts (e.g., design, requirements),

-    building automated and effective test oracles to increase chances of detecting failures,

-    and aiding debugging by indicating the likely location of faults.

By improving such automation, resources devoted to testing can be used more effectively and this is expected to result into improved software dependability. Note that our work covers the testing of functional and non-functional requirements (e.g., time constraints, CPU and memory usage) as the latter are in most application domains at least as important as the former.

The above issues are particularly important to address in the context of test driven development, a major component of agile software development, where the design and implementation of successive versions of software systems are driven by test suites. Pervasive and mobile computing also present a number of interesting challenges from a testing standpoint.

Another important point of focus of our work is, through case studies and experiments, to assess the cost-effectiveness of novel test technologies and practices. In order to obtain realistic results, such studies must be carefully designed, executed, and analyzed.

Some of the technologies involved are:

- Model-based testing: Specification and design models of software systems should be exploited to automate testing, starting with precise testing plans early in the development process. The objective is to effectively ensure the conformance of implementations to specifications and design, while maximizing automation to lower the cost of testing.

- Evolutionary testing: The automated generation of test requirements, test cases, or test harness is often a difficult issue. However, in many cases it can be re-expressed as an optimization or search problem. In recent years, techniques coming from artificial intelligence have been used with a certain degree of success to solve hard automation problems.

Personal tools