TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Using static analysis to derive the Big-O notation of a program at compile time?

1 pointsby aerlingeralmost 11 years ago
There are various tools that use static analysis to perform validation and extract information about a program without it running. This can either happen at&#x2F;during compilation (e.g. generating documentation) or after the code has already been compiled and linked (such as a virus scanner). However, I haven&#x27;t heard of static analysis ever being used to infer the computational complexity of a program or to estimate how long a program will take to run. Of course, there&#x27;s always branching conditions within a program, but machines are strictly causal, so given some initial state and an input it should be possible to estimate the runtime of a program.<p>Perhaps I&#x27;m being naive but does a tool like this exist? Is it even possible to use this sort of analysis to estimate, even if imprecisely, the computational complexity of a program?

1 comment

zimpenfishalmost 11 years ago
&gt; it should be possible to estimate the runtime of a program<p>Isn&#x27;t this an analog of the Halting Problem?