2012/4/19 Christian Kästner <[email protected]>:
> Hi,
> In a research setting, I've been working on a tool TypeChef that can
> detect compilation errors over all compile-time configurations of a
> software. The tool is intended as a lint-like of tool that reports
> compilation errors and the configurations in occurs in. Essentially it
> predicts with which preprocessor flags the code will not compile.
>
> Among others, we have experimented with that tool on Busybox. In the
> current code base, we find the two following problems:
>
> * networking/httpd.c won't compile in configurations with CONFIG_HTTPD
> and CONFIG_FEATURE_HTTPD_BASIC_AUTH, without
> CONFIG_FEATURE_HTTPD_AUTH_MD5 and with CONFIG_PAM (struct pam_userinfo
> not defined)
>
> * shell/hush.c won't compile in configurations with CONFIG_HUSH and
> CONFIG_FEATURE_EDITING_SAVE_ON_EXIT but without CONFIG_HUSH_INTERACTIVE
> and without CONFIG_FEATURE_EDITING (field line_input_state unknown in
> globals)

Fixed both, and a few more on top of them. Thanks!

> My question is to what degree you as community are interested in such
> feedback? Unfortunately, we don't have the capacity to investigate and
> submit actual patches every time we could identify a problem. Would it
> be still helpful to send just (automatic) error reports, similar to the
> ones above?

Yes, it would be helpful.

> Finally, we were surprised that we found essentially no compile-time
> problems despite the large configuration space (we have found no
> compilation errors in released code). Do you have a process to prevent
> or detect those kinds of problems for releases, such as randomized testing?

We have scripts/randomtest[.loop] which can be used to build
randomly-configured busybox and run testsuite on it.

I use it for pre-release testing.

-- 
vda
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to