About MathWorks Products Markets Served Staff Revenue

Transcription

About MathWorks Products Markets Served Staff Revenue
About MathWorks
MathWorks is the leading developer of
mathematical computing software.
Engineers and scientists worldwide rely on
our products
to accelerate the pace of discovery,
innovation, and development.
Products



MATLAB®, the language of technical
computing, is a programming environment
for algorithm development, data analysis,
visualization, and numeric computation.
Simulink® is a graphical environment for
simulation and Model-Based Design of
multidomain dynamic and embedded
systems. MathWorks® produces nearly 100
additional products for specialized tasks
such as data analysis and image
processing.
Markets Served







MathWorks products are used throughout
the automotive, aerospace,
communications, electronics, and industrial
automation industries as fundamental tools
for research and development. They are
also used for modeling and simulation in
increasingly technical fields, such as
financial services and computational
biology. MathWorks software enables the
design and development of a wide range of
advanced products, including automotive
systems, aerospace flight control and
avionics, telecommunications and other
electronics equipment, industrial machinery,
and medical devices. More than 5000
colleges and universities around the world
use MathWorks solutions for teaching and
research in a broad range of technical
disciplines.
Staff




MathWorks employs over 3000 people, with
30% located outside the United States.
Revenue
MathWorks generated $750 million in 2013,
with more than 60% from outside the United
States. The company has been profitable
every year since inception in 1984.
Headquarters
MathWorks, Inc.
3 Apple Hill Drive
Natick, Massachusetts 01760 USA
© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered
trademarks of their respective holders.
Sujet 1. Développement d’un domaine abstrait de formes affines
Thématique : méthodes formelles, algorithmique, interprétation abstraite
Lieu : Mathworks, 2 rue de Paris, Meudon
Maitre de stage : Olivier Bouissou ([email protected])
Rémunération : 1300€ brut / mois
Sujet
Polyspace (http://www.mathworks.com/products/polyspace/index.html) est un outil de validation
statique de programmes développé par la société MathWorks. Grâce à des méthodes formelles
(interprétation abstraite), il permet non seulement de détecter des erreurs, mais surtout de prouver
mathématiquement que le programme ne fera jamais certaines erreurs à l’exécution. Polyspace vérifie
les programmes écrits en langage Ada, C et C++ et est particulièrement utilisé dans les secteurs de
l’informatique embarquée : automobile (ex : Delphi, Nissan), aéronautique (ex : EADS), transports (ex :
RATP), nucléaire (ex : IRSN). Polyspace est majoritairement développé en langage SML (proche d’OCaml)
et dans un environnement Linux.
Polyspace fournit deux outils : CodeProver qui vise à prouver l’absence d’erreurs à l’exécution, et
BugFinder qui vise à trouver certaines erreurs, quitte à en louper. CodeProver dispose d’une analyse
numérique relationnelle grâce à un domaine abstrait polyhédrique, alors que BugFinder pour des raisons
d’efficacité ne dispose que d’une analyse par intervalles. Le but du stage est de participer, au sein de
l’équipe Core de Polyspace, au développement d’un nouveau domaine relationnel commun à
CodeProver et BugFinder. Ce domaine, basé sur la théorie des formes affines [1,2], sera moins expressif
mais plus efficace que celui proposé par CodeProver, et devra permettre de générer efficacement des
cas de tests pour BugFinder.
Entre autres, le stagiaire devra au cours du stage :



Faire une étude de l’art sur l’utilisation des formes affines en analyse statique
Proposer une architecture pour le développement d’un domaine abstraite de formes affines
Evaluer l’impact de ce domaine en termes de performance et gain de précision grâce à la très
grande base de test et d’applications industrielles de Polyspace
Références
[1] Eric Goubault and Sylvie Putot. A zonotopic framework for functional abstractions. CoRR,
abs/0910.1763, 2009.
[2] L.H. de Figueiredo and J. Stolfi.: Self-Validated Numerical Methods and Applications. Brazilian Mathematics
Colloquium monographs. IMPA/CNPq (1997)
Sujet 2. Ecriture d’une analyse d’alias
Thématique : analyse d’alias, compilation, algorithmique/combinatoire, calcul formel
Lieu: MathWorks. 38330 Montbonnot Saint-Martin (près de Grenoble – à 20m du campus)
Maître de stage : Gaël Mulat – [email protected]
Rémunération: 1300 euros bruts / mois
Polyspace (http://www.mathworks.com/products/polyspace/index.html) est un outil de validation
statique de programmes développé par la société MathWorks. Grâce à des méthodes formelles
(interprétation abstraite), il permet non seulement de détecter des erreurs, mais surtout de prouver
mathématiquement que le programme ne fera jamais certaines erreurs à l’exécution. Polyspace vérifie
les programmes écrits en langage Ada, C et C++ et est particulièrement utilisé dans les secteurs de
l’informatique embarquée : automobile (ex : Delphi, Nissan), aéronautique (ex : EADS), transports (ex :
RATP), nucléaire (ex : IRSN). Polyspace est majoritairement développé en langage SML (proche de
O’Caml) et dans un environnement Linux.
L’analyse des relations d’aliasing dans les programmes C ou C++ est critique pour obtenir des résultats
précis dans un outil comme Polyspace. L’outil traite ces sujets avec une efficacité reconnue, mais les
besoins augmentent et les techniques progressent.
L’objectif du stage est de participer – au sein de l’équipe de développement – à l’amélioration de
Polyspace dans le traitement des pointeurs et des alias.
Entre autres, le stagiaire devra au cours du stage :
 Faire une étude de l’état de l’art récent autour de l’analyse statique des pointeurs et des alias.
 Proposer et développer une solution d’amélioration de la situation actuelle.
 Evaluer l’impact de cette solution sur les résultats de Polyspace sur un important jeu de tests et
d’applications industrielles.
© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See