Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/02/09 15:47
Read: times


 
#170350 - "innovation" as alternative name for bug
Responding to: ???'s previous message
There are huge amounts of existing test suites for verifying a compiler.

The majority of bugs are probably in handling of the language. Accepting everything that is included in the standard, while failing everything that is not allowed, according to the standard. The standard has huge amounts of text, and not all text is easy to read.

But when testing code optimization, it should be easy to set up tests with many, many millions of lines of reference code and make sure that the produced binaries creates the same result with or without optimization. And if a test case fails, it should be quite easy for the compiler vendor to figure out if it was nonportable or buggy code in the test case, or if the compiler produced broken code for some optimization settings. After having set up all the test code, it is just a calendar time, waiting for the results of the regression tests.

Regression-testing an RTOS is very hard, because the asynchronous events makes every test run behave differently.

A compiler should normally always produce the same results. But there are some exceptions. ARM, decided that it was too easy to test a compiler that always produces the same result. So the ARM compiler looks at the result of previous compilations when deciding how to optimize the code. So starting from empty and recompiling three times can result in three different binaries. Lucky us, that they seem to have the required time to still manage good QA on their releases.

List of 22 messages in thread
TopicAuthorDate
Odd calculation result...            01/01/70 00:00      
   Hmm. Even odder.            01/01/70 00:00      
   what is the definition...            01/01/70 00:00      
      Compiler reuses registers and memory cells            01/01/70 00:00      
         Ah.            01/01/70 00:00      
         Disable compiler optimizations.            01/01/70 00:00      
            Compiler bug?            01/01/70 00:00      
               Maturity of compilers            01/01/70 00:00      
                  the primary suspect should always be the end user.            01/01/70 00:00      
                     "innovation" as alternative name for bug            01/01/70 00:00      
                        C51 also does that!            01/01/70 00:00      
                           C51 has smart linker            01/01/70 00:00      
               I found a some genuine compiler bugs.            01/01/70 00:00      
                  Broken code in RTL is the worst            01/01/70 00:00      
            Thanks!            01/01/70 00:00      
      Defs            01/01/70 00:00      
         poor choice of names            01/01/70 00:00      
            Good data types are really critical            01/01/70 00:00      
   I'm an idiot.            01/01/70 00:00      
      informative!            01/01/70 00:00      
         "Answer is wrong"            01/01/70 00:00      
            Which one would you prefer??            01/01/70 00:00      

Back to Subject List