Advanced Performance Research
Claire Cates holds a unique
position at SAS, one she created herself during a previous stint as
director of an SAS R&D group. She works as a floating debugging expert,
drawing on her 20 years of experience at SAS to help developers
throughout the company resolve problems faster. "It's important to SAS
that we ship the best quality product available," explains Cates. "My
job is to help ensure that we do that."
a serious memory or performance problem, Cates works with the
appropriate group of programmers to analyze and help diagnose the
situation. "I never know what I'm going to be doing from one week to the
next," says Cates. "But I enjoy putting my expertise to use to make our
When Cates isn't working on a specific
problem, she writes tools that she can use herself or that she can offer
to developers so they can solve their own problems.
built tools that scan source code to optimize it, show where memory is
incorrectly allocated, where you have loops," Cates explains. "When you
do this a lot, there are things you see over and over again. I think, I
can write a program to find that."
Cates had already
written eight tools to help track down memory problems when she heard
about RootCause, a debugging tool from OC Systems, Inc.
"One of the tools, which was hooked up to a debugger, would set break
points, dump data, and do an analysis of the data. I rewrote that one to
test RootCause," explains Cates. "It ran much faster without the
debugger, and I found that I could do things I couldn't do before."
As Cates worked with RootCause, she started to get excited about all the
things she could do with it. "I could see that it would let me be
proactive in learning what is happening in the code," says Cates. "It's
She decided to combine the eight tools
she had previously written into one custom memory probe with RootCause.
"It takes a little while to write the custom probes, but it's worth it,"
says Cates. "Now I don't have to support eight tools anymore. The one
I've built with RootCause has more detail."
"I had one
developer using it because he had a big problem with memory," states
Cates. "He just e-mailed me to say he's found the problems. Some were
his; for the others, he shipped off the details to the divisions so they
can fix them."
Cates has also written a lock contention
probe and some input/output probes for use with RootCause. "I know the
more I get the probes out there and get people using them, the better it
will be. I want to show our developers that when they have certain types
of problems we can throw in a probe to analyze the data and help them
find the problem."
"If we have a problem in the field, I
can use RootCause to send out a probe and do the same kind of analysis I
can do here," adds Cates. "I haven't had to do that yet, but it's good
to know that I can."
"I wish every company I had to work
with was as good as OC Systems," says Cates. "I can send something to
support at another company and I might hear back in two to three days
with an acknowledgement that they received it. At OCS, I hear back in 10
minutes, and often from more than one person."
worked with just about everybody and everyone is great," continues
Cates. "I have not had one bad experience. At SAS, we have our own funky
set of problems, and that throws a lot of tech support people off. But
OCS knows me and is learning some of the quirks of my environment. I'm
not just another number."
"I love RootCause," concludes
Cates. "I'm a coder, but with RootCause I can write probes in standard C
and get out all the data that I want. To me it is a phenomenal tool."
SAS provides business intelligence software and services that are used
at more than 40,000 sites, including 97 of the top 100 of the 2004
Fortune 500. With more than one billion dollars in revenue, SAS is the
world's largest privately held software company.