CLC number: TP314
On-line Access: 2024-08-27
Received: 2023-10-17
Revision Accepted: 2024-05-08
Crosschecked: 0000-00-00
Cited: 0
Clicked: 5901
WANG Ji-min, PING Ling-di, PAN Xue-zeng, SHEN Hai-bin, YAN Xiao-lang. Tools to make C programs safe: a deeper study[J]. Journal of Zhejiang University Science A, 2005, 6(1): 63-70.
@article{title="Tools to make C programs safe: a deeper study",
author="WANG Ji-min, PING Ling-di, PAN Xue-zeng, SHEN Hai-bin, YAN Xiao-lang",
journal="Journal of Zhejiang University Science A",
volume="6",
number="1",
pages="63-70",
year="2005",
publisher="Zhejiang University Press & Springer",
doi="10.1631/jzus.2005.A0063"
}
%0 Journal Article
%T Tools to make C programs safe: a deeper study
%A WANG Ji-min
%A PING Ling-di
%A PAN Xue-zeng
%A SHEN Hai-bin
%A YAN Xiao-lang
%J Journal of Zhejiang University SCIENCE A
%V 6
%N 1
%P 63-70
%@ 1673-565X
%D 2005
%I Zhejiang University Press & Springer
%DOI 10.1631/jzus.2005.A0063
TY - JOUR
T1 - Tools to make C programs safe: a deeper study
A1 - WANG Ji-min
A1 - PING Ling-di
A1 - PAN Xue-zeng
A1 - SHEN Hai-bin
A1 - YAN Xiao-lang
J0 - Journal of Zhejiang University Science A
VL - 6
IS - 1
SP - 63
EP - 70
%@ 1673-565X
Y1 - 2005
PB - Zhejiang University Press & Springer
ER -
DOI - 10.1631/jzus.2005.A0063
Abstract: The C programming language is expressive and flexible, but not safe; as its expressive power and flexibility are obtained through unsafe language features, and improper use of these features can lead to program bugs whose causes are hard to identify. Since C is widely used, and it is impractical to rewrite all existing C programs in safe languages, so ways must be found to make C programs safe. This paper deals with the unsafe features of C and presents a survey on existing solutions to make C programs safe. We have studied binary-level instrumentation tools, source checkers, source-level instrumentation tools and safe dialects of C, and present a comparison of different solutions, summarized the strengths and weaknesses of different classes of solutions, and show measures that could possibly improve the accuracy or alleviate the overhead of existing solutions.
Open peer comments: Debate/Discuss/Question/Opinion
<1>