473,405 Members | 2,338 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

Is using splint a waste of time ?

While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

But after reading a little bit the manual and looking at the source
and the generated messages. I'm not sure if the amout of time to set
it up and to add all the comments is justified by the results.

What's your opinion?

Does anybody know of a larger (10KLoc) real world system that is
lintable ?

Mar 4 '07 #1
6 3099
llothar wrote:
While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

But after reading a little bit the manual and looking at the source
and the generated messages. I'm not sure if the amout of time to set
it up and to add all the comments is justified by the results.

What's your opinion?
I've used a lint, (splint), in the past and I've found some use with
it. Yes, getting to exploit it well, takes a bit of time, (as does any
non-trivial tool), but it may pay off in the long run. It hasn't
really been a killer advantage for me yet, but YMMV.

<snip>

Mar 4 '07 #2
llothar wrote:
While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.
No sure what OS you are on, but on Linux I am a big fan of Valgrind:

http://valgrind.org/

Valgrind takes your executable (with debug info compiled in) and
monitors all memory accesses and reports things like uninitialized
data, buffer overruns etc.

The big advantage of this over lint/split, is that you don't need
all the annotations in your source code.

I think that the commercial program Purify on windows does something
similar.

Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo
+-----------------------------------------------------------+
"The growing and dangerous intrusion of this new technology,
threatens an entire industry's economic vitality and future
security." -- Jack Valenti (MPAA president) on the video
cassette recorder, 1982.
Mar 4 '07 #3
On 4 Mar 2007 03:52:56 -0800, "llothar" <ll*****@web.dewrote in
comp.lang.c:
While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

But after reading a little bit the manual and looking at the source
and the generated messages. I'm not sure if the amout of time to set
it up and to add all the comments is justified by the results.

What's your opinion?

Does anybody know of a larger (10KLoc) real world system that is
lintable ?
I have no experience with splint, but Gimpel's PCLint is a truly
marvelous tool. I know of several projects >50KLoc that are
completely processed by it, and using most of MISRA C's rules as well.

In fact, the larger the project, the greater the payback for the
effort of getting it to work. This is always assuming that you set up
your lint and reasonable, and enforced, coding standards before the
code is written, and adhere to them.

And, of course, make sure no code is allowed into the build until it
has been at least linted, if not code inspected.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Mar 5 '07 #4
llothar wrote:
While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

But after reading a little bit the manual and looking at the source
and the generated messages. I'm not sure if the amout of time to set
it up and to add all the comments is justified by the results.

What's your opinion?

Does anybody know of a larger (10KLoc) real world system that is
lintable ?
OpensSolaris. The build process include both compile and lint runs.

--
Ian Collins.
Mar 5 '07 #5
On Mar 4, 3:52 am, "llothar" <llot...@web.dewrote:
While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

But after reading a little bit the manual and looking at the source
and the generated messages. I'm not sure if the amout of time to set
it up and to add all the comments is justified by the results.

What's your opinion?
I use it with C. I prefer Gimpel's PC-Lint, but both are good.
Does anybody know of a larger (10KLoc) real world system that is
lintable ?
We have one million (roughly) lines that I pass through PC-Lint once
in the while, but it's C++ code and not C and so we cannot use Splint
(which is C only).
Mar 5 '07 #6
On Sun, 4 Mar 2007 15:49:22 -0600, Erik de Castro Lopo wrote
(in article <45********@news.peopletelecom.com.au>):
llothar wrote:
>While 90% of my application is written in Eiffel i have a few modules
that are in C and i'm still gettings crashs from time to time. Not
sure where it comes from but i thought about using lint as just
another helping item in the toolchain.

No sure what OS you are on, but on Linux I am a big fan of Valgrind:

http://valgrind.org/

Yes, it's good enough that even if you don't use Linux as your primary
development system, it's nice to compile and use the code on a Linux
box for debugging with valgrind if you suspect a problem in an area it
can detect.

--
Randy Howard (2reply remove FOOBAR)
"The power of accurate observation is called cynicism by those
who have not got it." - George Bernard Shaw

Mar 11 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: Mark | last post by:
Sorry, I'm a newbie to php ;) I was thinking about using php to write the script file, something like: <script type="text/javascript" src="http://insert_url_here.com/myScript.php"></script> ...
121
by: typingcat | last post by:
First of all, I'm an Asian and I need to input Japanese, Korean and so on. I've tried many PHP IDEs today, but almost non of them supported Unicode (UTF-8) file. I've found that the only Unicode...
0
by: Greg Roberts | last post by:
I was trying to use splint under Visual Studio VC6 and it is giving parsing errors on windows system .h files (so far). Anyone know of a switch option to ignore these .h or make splint work ? ...
2
by: Guy Eschemann | last post by:
When running the following code through splint, I get two warnings that I don't fully understand. This is the code : --- typedef struct { int *pData; } t_MyStruct;
9
by: Henry Fr?d?ric | last post by:
I am currently working in Aisin-AW, in development of navigation systems (embedded SW). Since a few weeks, we are checking our source code with splint. We encounter this problem. I hope this...
1
by: arcliber | last post by:
I have download the splint-3.1.1 but i donnot know how to use and configure it could someone do me a favor, thx.
12
by: spibou | last post by:
I have two identical files , u1.c and u2.c which only contain the line typedef int Q ; When I issue "splint u1.c u2.c" I get u2.c:1:13: Datatype Q defined more than once A function or variable...
2
by: Peter Bencsik | last post by:
Hi, does anybody has experience with static source code checker for C? I am thinking of choosing splint as my favorite tool, is this a good choice? regards, pb
3
by: Army1987 | last post by:
I can see no problem with the loop below, and gcc compiles it without complaining no matter how many warnings I enable, but splint has a parse error on line 103 (marked below), column 22. Is it...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.