Basile STARYNKEVITCH
Une version
française de cette page est disponible.
Temporary and New for GCC summit july 2007
My GCC stuff is mostly the MELT branch
of GCC. Use the code there, not here.
(old) obsolete patches to GCC for my GCC summit talk
are here in file basile-ggcc-patches.tgz, a slightly
updated form of my paper is here and my slides are
here. A
screenshot of the compiler probe is here (PNG). A (few megabytes, updated
nearly daily) snapshot of my work is plain-basile-ggcc.tgz
(actually, a gzipped tar containing the patch to GCC trunk
and extra coldbasilys) and its md5 is in plain-basile-ggcc.md5.
Who am I?
- Born in august 1959.
- Married and father of 4 children (and already
grand-father)
- snail mail: 8, rue de la Faïencerie, 92340 Bourg La
Reine, France
- I am now again (since september 15th 2004)
at CEA LIST/DTSI/SOL as a
research engineer. (working on embedded optimising
compiler, static analysis, ...). I don't have any web
page at my work because medium management disallow any
professional web pages (Eric Goubault and Franck
Védrine are close collegues there; I'm in the same lab,
where I was in 2003).
- From september 15th 2003 to september 14th 2004 I worked
(for a full year as ingénieur spécialiste issu
de l'industrie) as a research engineer at INRIA in the
Cristal team. My work
was on adding orthogonal persistence to Ocaml and on Just in
Time translation of the bytecode. Here is my page at INRIA
- Formerly research engineer (computer scientist) at Commissariat à l'Energie
Atomique, working in the Software and Architecture Service
(SLA) in the Direction of Technological Research (DRT) on
static analysis of code (and scripts) and the Web.
- Education: graduated from École Normale
Supérieure de Cachan (1980, section A1 =
math) and doctor (PhD) of l'Université Paris 6 (1990) in
computer science.
Computer related interests
I am interested by compiler and programming languages. I've
probably inherited this interest from my late father Dimitri
(inventor of the PAF
programming language on CAB500, similar to Basic in 1958).
I find very interesting knowledge based systems and reflexive
systems. Metaprogramming is pertinent, and under-used. I think
that computer systems should be given a lot of declarative
knowledge (including metaknowledge for using
them). Symbolic processing is interesting, but
numerical processing is boring to me. I find exciting
J.Pitrat's Maciste system and Tunes.
I am a long-time user of opensource or free software. I
am using Linux since the 0.99.15 kernel (1993?). Here is (in
french) the configuration
of my machine(s).
I am interested by programming languages, and of course I know
C, Java, C++ (I hate it - it is today's Cobol and is always
unappropriate), Scheme, CommonLisp, Smalltalk. I love Ocaml. Scripting languages are
interesting (except Tcl - Ousterhout made the
mistake of hypothesing that scripts remain tiny), such as
Ruby (and Ocaml).
Markup languages XML (eg DocBook) and text formatting such as
Lout and LaTeX
are appropriate to produce documents. I do not know Word (and you
need a big lot of time to learn it, particularily the dirty
tricks to overcome its numerous bugs).
Meta-programming, i.e. automatic and dynamic generation of
programs (from a higher level representation) is an interesting
(but underused) approach for many problems.
Memory management should be done thru a garbage
collector. Dealing explicitly with memory deallocation (like
in C and C++) is a lost of time for both the coder and the
machine. When I have to code in C a non trivial program, I either
use H.Boehm's
conservative GC or code my own GC like in Qish.
Professionally, I was the initiator of the
POESIA (Public Opensource Environment for a Safer Internet
Access) IAP-2117 european project, which started in january
2002 (till january 2004) with partial funding from the European
Commission thru the Safer
Internet Action
Plan (
filtering software). POESIA aims at developping an opensource (i.e. free) internet content filter software
(notably to protect european youth against illegal or harmful
content) thru several advanced techniques (natural language
analysis, image analysis, script analysis, decision making
systems...). The POESIA software will mainly target a Linux
system (typically acting as a filter and firewall or proxy
between a classroom and the Internet). The POESIA consortium is
made of ten partners (developers, users, ...) from France, Italy,
Spain. See poesia-filter.org
for details. Ocaml coders might use (to easily add tracing or
logging facilities) the pa_trace.ml camlp4
preprocessor file from
PoesiaMonIcap - see also the README.trace file
there.
Recent Publications
Here are some recent papers:
- (july 2007) GCC summit paper
- (september 2004)
OCamljit - a faster Just-In-Time Ocaml implementation
accepted to MetaOcaml 2004 workshop,
Vancouver, 11 pages (PostScript).
- (january 2003, in French) Basile Starynkévitch et
Mohamed Daoudi: Architecture du système Poesia de
filtrage de contenu Internet (architecture of the Poesia
system for Internet content filtering) PDF file, in CORESA
2003 (Lyon)
- (september 2001, in French) Basile Starynkévitch: un
regard extérieur sur le système Maciste de
Jacques Pitrat, in Colloque
Métaconnaissance de Berder (PDF file) [a
short and incomplete review of J.Pitrat's reflexive
metaknowledge based system Maciste]
- (spring? 2001 - gzipped PostScript) A Simple
Abstract Interpreter for Threat Detection and Test Case
Generation , Dominique Guilbaud, Eric Goubault, Anne
Pacalet, Basile Starynkévitch and Franck Védrine
presented at WAPATV'01 (associated with ICSE'01, Toronto)
[a co-authored paper on a static code analyzer, using
abstract interpretation techniques]
Other interests
I'm the webmaster of the orthodox parish of Saints
Peter and Paul (Chatenay, France).
I have other interests but I keep them private.
Links: Home my machine
Software contributions
- The PHP scripts of this site are here.
- A small utility (GPL licensed) to dump or load GDBM files
in textual format is gdbmtext.c
here
- The execicar.c program runs and
monitors processes thru a textual protocol
- I wrote manydl.c to experiment about
dlopen (dynamic loading of libraries), and found that
on my Linux/Debian/Sid/x86 box (AMD XP2000 1.66GHz 512Mb RAM)
one can generate thirty thousand (yes 30000) C sources (erach
with a randomly generated function) and shared objects and
dlopen all of them together. You can compile it with
gcc -rdynamic -O manydl.c -ldl -o manydl and run the
executable ./manydl 900 200 to generate 900 files
named genf_*.c of about 200 lines each, compile them,
and dynamically load them. You can even try ./manydl 30000
1000 as I did. See the source code for details. In
practice, you can do many -thousands- of calls to
dlopen.
- OcamlJitRun (developped at INRIA) has its own page;
it is a Just in Time translator of Ocaml bytecode into machine
code, and may run your unmodified Ocaml bytecode about twice as
faster as the usual ocamlrun interpreter.
- Persil (developped at INRIA) is a persistent library
for Ocaml
- Qish contains a runtime system, including a copying
generational garbage collector usable in CThis is opensource
free software, under GPL license, developped on Linux/x86. Here
is a documentation of Qish (in
english) and its PDF version and
its PostScript version. The latest
version of Qish is always referred as a Freshmeat project and
here. You can subscribe to
annoucements on Freshmeat.
- Guis is a small widget server (for gtk2) to avoid linking
in gtk in your application.. This is opensource free software,
under GPL license, developped on Linux/x86. Here is a documentation of Guis (in english) and its
PostScript version. The latest version
of guis is always referred as a Freshmeat project and
here. You can subscribe to
annoucements on Freshmeat.
- I worked and initiated on POESIA an opensource
internet content filter. Ocaml developers could also use (for
tracing or logging) the
pa_trace.ml file for the
camlp4 preprocessor, from
PoesiaMonIcap. See also there the README.trace
file.
How to configure an MSI S270
laptop notebook (Turion, ATI Express X200) under Linux
Comparative timing of GCC
compilations on two descktops.
the /etc/X11/xorg.conf
configuration file for Xorg (X11R7) with a twin-headed
Geforce 7600 GT with NVIDIA proprietary driver and two Samsung 17
inches LCD screens (using a twinview screen).(I don't
recommend using this, because of brittle proprietary
drivers)
Here is a photo of me taken on september 28th 2002:
.
Basile
STARYNKEVITCH (but remove the _NOSPAM and
.invalid from the email address)
Your feedback:
I am interested by your feedback (to this
basile page)
Page $Id: index_en.html 104 2008-02-19 17:59:02Z basile $