Beyond the x86_64: developing for embedded systems without development boards

icon/arrow Back to news Challenges of Cross-Platform Development and Solutions  Introduction In embedded software development, one of the first decisions made even before application development is the choice of a hardware platform, which due to its respective constraints and capabilities, can define functionalities of the embedded system once development has begun.  To maintain flexibility so […]

Printing a null pointer with %s is undefined behavior

Back to news Avoiding undefined behaviors in C language Introduction The C standard makes it undefined to pass anything other than a pointer to a null-terminated string as second argument to printf(“%s”,. However, most libcs kindly print the string (null) if a null pointer is passed as argument, and some developers have made it a […]

Outlining the language C programs should be written in

icon/arrow Back to news Static analysis for C language Outlining the language C programs should be written in Rich Felker, maintainer of the musl libc, recently tweeted to ask: Anyone want to guess what gcc generates for a==b?0:a-b ? Any ideas why? The answer to the first question is that when a and b are […]

Differences between the B method and Frama-C in Formal Methods

icon/arrow Back to news Technical response to the differences between B method and Frama-C Response: Differences between B method and Frama-C My interest was piqued by a question on the questions-and-answers site Quora (the irritating one that tries to get you to register by limiting the number of answers you can view in a month […]

Variadic Functions in TIS Interpreter

icon/arrow Back to news Program-defined variation functions and the ways they can be misused  Working on improving and applying TIS Interpreter, with funding from the CII, we ended up implementing support for program-defined variadic functions. Recently, while applying TIS Interpreter to the musl standard C library implementation, we found one slight violation of the C […]

An old quirky libksba bug

icon/arrow Back to news Finding bugs with TIS Interpreter The libksba library, used by GnuPG, provides functions for parsing X.509 cryptographic certificates. I was testing libksba with TIS Interpreter a little over a year ago. One of the bugs I found then illustrates a point I would like to make now. The bug Consider this […]

Strict aliasing violations analyzer: progress report

Back to news Strict aliasing, type-based alias analysis, C, and static analysis Detecting Strict Aliasing Violations in the Wild My colleagues and I have written this article. I feel we are starting to get a good grasp of what “strict aliasing” is, but who knows what other surprises remain to be had as we start […]

Auditing zlib

icon/arrow Back to news TrustInSoft analysis of zlib, finding subtle issues TrustInSoft automated lib audit zlib is a venerable multi-purpose compression library, first released in May 1995. The first time I installed GNU/Linux was in late 1995, so to me zlib has somehow always existed. Although now that I think about it, the zlib source […]

How do you report bugs that you alone can see?

Back to news Strict aliasing in C Do you remember the TV show The Invaders? It was enormously popular in France, much more than in the US where it originated. It tells the story of one David Vincent, who alone sees that currently working C programs have a serious defect and are at risk of […]