(cross post from Reddit, where apparently the software development industry is flawless)<p>I need to propose a term research project involving some aspect of software development, but I need help finding ideas relevant to the industry. The ideal suggestion should be:<p>Not incredibly difficult to implement (think ~a month full time work for an undergrad)<p>1. Interesting :D<p>2. Directly involve code (e.g. analyzing source code, injecting bytecode, optimizing some artefact based on static analysis, etc.)<p>So far I&#x27;ve had three ideas:<p>1. Automated feature toggle lifecycles. Since the idea seems to boil down to &#x27;implement branching in code&#x27;, why not use some of the work done in semantic merging to accept patches, but gate (and remove it, at a later date) it with a feature toggle automatically?<p>2. Better log compression by examining paths + encoding. Since logs generated by a single thread should only appear in specific orders, with specific values, one should be able to compress the data down to some integer representing the combination of messages and a fixed size array of the data itself.<p>3. Finding code that might lead to a bug by analyzing the structure of runtime data. Contrast what &#x27;sort&#x27; of data (e.g. infer invariants [1], quantify distributions, etc.) gets pushed through a function during unit tests (aka. what you think should be executed) and during functional tests + manual QA passes + beta environments (aka. what everyone thinks should be executed) to a production environment (aka. what does execute). The intent would be to highlight uncommon data patterns in the hopes that they would lead to the discovery of a bug.<p>Any thoughts? :)<p>[1]: https:&#x2F;&#x2F;homes.cs.washington.edu&#x2F;~mernst&#x2F;pubs&#x2F;daikon-tool-scp2007.pdf
Ask HN: What are some common industry problems?