Is my software correct

Document Sample
Is my software correct Powered By Docstoc
					Netherlands Institute for Research on ICT

       Is my software correct?
                                                                interlocking scenarios, his group created a model
                                                                containing all the rules. “To find out which scenarios
                                                                could lead to hazardous situations, the only way is to
                                                                check every possible combination. With our model we
                                                                were able to do this.”
                                                                Drawing up requirements is one thing, testing a
                                                                software system is quite another. “The difficulty with
                                                                testing is that you never know when you can stop
                                                                testing, or even if you are using the right type of
                                                                tests. Testing is therefore extremely expensive. It
                                                                may take up to 50% of software development costs.”

                                                                “With formal methods we can prove that software
                                                                does what it is supposed to do”

                                                                Therefore, the group developed a tool that tests a
                                                                formal model of a software system by systematically
                                                                checking it completely, thereby improving the quality
                                                                and lowering the cost of software. The tool was
                                                                recently used on the backbone software of Neopost, a
                                                                developer of mailroom automation systems.

                                                                Living cells
       The Netherlands Institute for Research on ICT            The third area of expertise of the group is verification
       (NIRICT) brings together over 70 research groups         of multi-core software. Proving that the code is
       and 1,200 researchers from the three Dutch technical     correct is extremely difficult, especially when it will
       universities. Their work is strongly guided by current   be running in parallel on multiple processors. “It
       and future societal and economic challenges. Professor   is very difficult to develop such software. Therefore
       Jaco van de Pol holds the chair in Formal Methods        software development is the bottleneck to reaping
       and Tools at the Centre for Telematics and Information   the benefits of multicore hardware, i.e. extra
       Technology (CTIT) of the University of Twente.           capacity.” A European project called CARP is aimed
                                                                at improving the programmability of such hardware
       In the Formal Methods and Tools group we apply           by designing techniques and tools for correct and
       mathematical methods on software,” explains              efficient programming.
       Jaco van de Pol. “With their help we can prove           Since living cells are also complex parallel systems,
       that software does what it is supposed to do.            the group has started working on this application
       This is feasible, but it is difficult and expensive.     area as well. “Biologists can use our tools to model
       Therefore, formal methods are used in particular on      and understand living organisms. How do for instance
       systems where safety is of the utmost importance.        E-coli bacteria react to a shortage of oxygen? How
       For example in railway safety, which is one of the       do human chondrocytes react to stimuli? Using
       application areas we are working on. But our efficient   our tools, biologists can first compute all kinds of
       tools make software analysis cost effective in many      hypotheses in silico before they start their actual
       other domains as well.”                                  experiments in the lab. I find this fascinating.”

       Verifying scenarios
       The group recently finished a European project in        NIRICT is the Netherlands Institute for Research
       which UIC (the International Union of Railways),         on ICT and comprises all ICT research of the three
       suppliers and academic partners drew up the              technical universities in the Netherlands: Delft
       requirements for interlocking and signalling systems.    University of Technology, Eindhoven University
       These are very sophisticated systems, which              of Technology and University of Twente. NIRICT
       must guarantee the safety at railway junctions or        brings together over 70 research groups from the
       crossings. “In order to ensure that the design of        disciplines Computer Science, Electrical Engineering,
       signals and tracks is safe, railway companies want       Mathematics and several ICT application domains.
       to give their suppliers the right set of requirements.   More than 1,200 researchers collaborate, which
       These should be the same all over Europe,” says          makes NIRICT the most important academic research
       Jaco van de Pol. To verify and validate all possible     partner in the Netherlands. >>
          Netherlands Institute for Research on ICT

                           Marina Zaharieva’s Mirjam van Dijk
                           Het onderzoek van research

                           Marina Zaharieva-Stojanovski received a Bachelor’s        What is the societal relevance of your research?
                           degree in Computer Science and a Master’s degree in       “The maintenance of erroneous programs costs a lot
                           Software Engineering from the Ss. Cyril and Methodius     of money. It is therefore important that the software
                           University in Skopje (Republic of Macedonia). During      has a high quality before it is delivered to the client,
                           that time she worked for three years as a software        and that software verification is included in the
                           engineer. Since June 2011 she has been pursuing a PhD     process. I believe that this project and in general all
                           degree. Her supervisor is Associate Professor Marieke     research in this area will result in effective tools for
                           Huisman, who received an ERC Starting Grant for the       developers in different programming languages. In
                           project VerCors in which Marina Zaharieva participates.   the near future the quality of the concurrent software
                                                                                     applications will be sufficiently improved as a result
                           What is the topic of your thesis?                         of a number of broadly accepted tools.”
                           “I am working on verification of concurrent programs.
                           In some software programs, concurrency is used to         Why did you choose this subject?
                           decrease the time execution of the program, while         “After receiving my Master’s degree, I wanted to
                           taking advantage of the multi-core architecture.          improve my career and broaden my knowledge. That
                           Other algorithms are specially designed to execute in     is why I looked for a challenging and interesting
                           a concurrent environment. For instance, in a user-        PhD opening. During my work as a software engineer
                           interaction program, a time-consuming process can         I experienced the problems related to concurrent
                           be executed in the background without blocking            programming in real applications. This part of
                           the user from doing something else. Concurrency is        software engineering really needs help.
                           hard to program and error-prone. Several threads are      I’m very happy with my decision to come to the
                           running at the same time and the order of execution       University of Twente. Doing research in a group is
                           can be different. As a programmer, you have to think      very satisfying. Each of us is working on a specific
                           about different combinations of execution when            part; we have weekly meetings where we discuss our
                           developing such multithreaded applications. Because       ideas and problems. Being a researcher or working as
                           the order of execution is not determined, it is easy      a software engineer are completely different fields.
                           to miss some specific behaviour or interaction of the     I’m not sure yet what kind of career I want to pursue
                           threads. The idea of the project VerCors (Verification    in the future.”
                           of Concurrent Data Structures) is to improve the
                           quality of concurrent software, specifically of
                           nontrivial Java programs. Together with another PhD
                           student and two postdocs, I am working on static
                           verification techniques. Static verification means
                           that when the program is verified, it is not executed,
                           but translated into a mathematical model. Based on        Since 1994, the Centre for Telematics and Information
                           mathematical logic, evidence is obtained whether          Technology of the University of Twente (CTIT) has
                           your program is correct or not. This type of special      drawn from its broad integrated research spectrum
                           program logic already exists; our project wants to        to do cutting edge technical research, in tune with
                           extend it with other techniques and ideas.”               the societal and economical challenges of today and
                                                                                     tomorrow. CTIT is a strong team player within the
                           What do you hope to achieve?                              innovation chain at both the European and local
                           “We hope to be able to deliver verification techniques    level, through alliances, public-private partnerships
Contact                    and tools that are simple and user-friendly and will      and spin-off companies. Whether it’s pushing the
University of Twente       be accepted by software developers. Current tools         limits of cognitive radio and sensor networks, enabling
Prof Dr Jaco van de Pol    are not very efficient and too complicated for real       servitization, powering sustainability or strengthening   application development environments, because there       IT security: our researchers are involved.
+31 53 489 3017/3767       is far too much mathematics involved.”                    >>

Shared By: