Open up the patent granting process
Software patents are hard to understand. Really hard, because patent lawyers can get away with writing them in extremely vague and broad language. This means that innovators are left without clear guidance on what patents they might be infringing. It also allows trolls to exploit the vague and confusing patent language to extort higher licensing fees than they would otherwise be entitled.
Patent applicants should be required to provide an example of running software code for each claim in the patent and tell the Patent Office which claims are covered by which lines of that code. Think, for example, of early Patent Office practice requiring the submission of a “model” of the working invention to the Patent Office.