Toulouse Placement

I’m George Lawie, originally from near Glasgow, and I spent a year-long paid placement abroad in Toulouse, southern France, with Atos (formerly Atos Origin). The placement was undertaken with support from the Université Paul Sabatier (one of three universities in Toulouse), which included student enrolment, help with finding accommodation and setting up necessary services such as banking, and additionally free French lessons through the year. I was also an ERASMUS student during this time, with support and funding from the EU.

 

While placement presentations are normally quite academic, I’m going to focus more on the experience of a placement abroad than the specifics of the placement itself.

 Who are Atos?

Atos, who were called Atos Origin when I began my placement, are a giant multi-national company, present in over 40 countries, with a revenue of over $5billion in 2010. They work in many areas, and have many ties to the aeronautics industries (it was often joked in Toulouse that everyone you met worked for Airbus directly or indirectly – within my team at Atos this was certainly true!). Last summer they got even bigger when they acquired a significant subsidiary from Siemens.

 

In the UK, they are involved with providing varying services for the Department of Work & Pensions, the NHS and the Welsh Assembly. They are also the main IT partner for the Olympic and Paralympic Games, so if anything goes wrong with the computers in London this summer I swear I had nothing to do with it.

 

The team I was working with – its name roughly translating as “Innovation and Tools” – were a fun bunch from all around the world. Pictured are many of the regular members of the team, the other placement students, and none of the supervisors/managers of the team! My colleagues came from all over the world, from France and Spain to Mexico and Morocco.

 

This team works on a number of projects, including working on the award-winning Topcased software for Eclipse (http://www.topcased.org/) – which you probably won’t have heard of, I hadn’t before starting my placement – which I mention as it’s a Big Thing in the graphical modelling editor world, and also it’s award-winning.

 

Formal Verification

So on to the actual placement: its full title was “Formal Verification of Critical Software”, which is a bit of a mouthful but thankfully I didn’t have to say it too often. Formal verification, also called static analysis, is as above. What does this mean in real terms?

 

Essentially, formal verification techniques allow you to prove (or disprove) that  no errors are possible under any circumstances when executing your code.  And this is done without ever having to execute the code itself, which on  critical systems is generally designed to operate on pricey custom  microcontrollers. By being a “correct” analyser, it promises never to be quiet if  there’s the slightest possibility – no matter how unusual or unlikely – of a run- time error, a buffer overflow, a bad memory allocation… so if it’s quiet, you can  guarantee that there’s no errors.

 

Now the idea is that these techniques could be used to replace current code  verification techniques, saving time and money for big companies who need  critical and safe code (like aeroplane auto-pilots). Considering that you need to  be 120% convinced that code is safe before popping it in a plane, the research  done on placement was aimed towards proving that the software that actually  does this analysis is also safe. While I’m glad that we’re ensuring that the code  checking up on the other code is safe, I’m not sure that I’m happy at this step  closer towards Skynet and the T-1000.

 

Frama-C

Anyway, the software we used for analysis was called Frama-C. It’s a fully  open-source framework, that comes with a number of plugins that allow it to  run many types of analysis, and is incredibly extensible: that is, you could  ‘easily’ write your own custom plugin to obtain the specific results that you  need to analyse for. It’s designed to run analyses on C code, as that is what  many critical systems are written in, although equivalents do exist for Java and  other languages.

 

So this modern, techniques-of-the-future looks like this….

 

This is an early version of Frama-C, but you can tell it’s been  designed for functional rather than aesthetic use, as it’s as grey as Aberdeen.  However, during my placement a new version was released which looks…

 

…more or less the same, but with some more features and an extra colour.

 

Eclipse Plugin

So another part of my placement was to help develop a plugin for the Eclipse  IDE, that would integrate the features of Frama-C into the Eclipse interface.  This would allow programmers to access it through a familiar interface, and  hopefully that would encourage these techniques to be used during the actual  code development, rather than after all code has been written.

 

Here’s some screenshots of the parts of the FCDT plugin I worked on. Top left  shows a part of a fully-featured new code editor for Eclipse, and the bottom  shows a callgraph viewer, both worked on primarily by me.

And here’s one of the best bits of the placement: the code that I worked on, packaged together with other parts done by the rest of the team (obviously), is currently available to download and is being used by companies such as Airbus.

 

 

See? My name right there. The point of this being, that the work you can do on  placement can be important, and you might even be publically attached to a  project.

 

Benefits of the Placement

So the academic benefits of the placement include everything you’d expect to hear, which are seriously a great thing to have on your CV. HR folk will say “Oh, I see you have an Erasmus placement?” (Maybe they won’t actually say that.) That’s an instant edge on the other applicants – you’ve shown that you can handle a full-time placement while also juggling living in a new country. And being abroad is a lot of fun.

 

Benefits of an Erasmus Placement

Obviously this one depends on which country you go to, but in France  certainly, you’re surrounded by some amazing cuisine. (Also, wine.) I didn’t  spend all my time in the McDonalds (they had free wifi – needed for the first  month when I didn’t have working internet in my flat) although some of my  friends will say otherwise. I did go to many different types of restaurant, proper  French ones, fondue restaurants (“pay us to let you cook your own dinner!”),  one where they only served a single cut of beef (Entrecote) but served it really  well, with all-you-can-eat chips, Moroccan and Greek restos, late-night take- away baguette shops… and of course you’re next door to Italy so you get…

 

…some fantastic Italian pizza places. This one restaurant (la Pastasciutta) was  fantastic, and that is not a trick fork – the pizzas were huge, really well priced,  cheap wine and amazing atmosphere. Also you can get ‘white’ pizzas, that  have a crème fraiche base instead of tomato, which are really tasty.

 

Of course I did try the local dishes too. Cassoulet, which is a kind of everything  casserole, was quite tasty, and this soup was fantastic: it had a whole chicken  leg in it, bacon, a sausage, bread, it was great but odd having to eat soup with  a fork!

 

“But what about frogs’ legs and snails?” Well, they’re apparently a Northern  thing, but I did find one place that sold snails. They were… interesting, chewy  and tasted only of garlic, I’m glad I tried them but I’m not going to seek them  out again.

 

Second last benefit! New cultures and new experiences: it’s a bit obvious, but it’s true.

 

There were many different festivals throughout the year, these pictures are all  from one holiday. Plenty of outdoor events happen all the time, and when  Toulouse are playing rugby (they’re one of the best teams in Europe, or so all  the Toulousians told me) they often put up giant screens in front of the town  hall/square (top left) and the crowd is huge. It’s a lot of fun!

 

And lastly, when you’re in mainland Europe, it’s so much easier to travel. Want to go somewhere? Jump on a train! Spend a weekend in a different country, easy.

 

 

And here’s me showing off with photos of Geneva, Andorra, Bordeaux and Barcelona. Places not pictured include Malaga, the Mediterranean coast, Copenhagen and Carcassonne.

 

How did I manage this while on placement? There’s a lot of long weekends in France, plus I already mentioned the combination of student loan, placement pay and Erasmus grant…

The End – Any Questions?

This is where I would say “any questions”, but if you’re reading this then I’m  clearly not actually presenting this. I’m happy to be contacted on my student  email ( 0401739@rgu.ac.uk ) or my personal email ( glawie@gmail.com ) by  anyone thinking of doing a placement (abroad or otherwise) so if you do have  any questions, please get in touch.