In the analog era of patents, the U.S. courts went nearly two centuries in which the idea of a patent was strongly tied to that of a "machine" and where they often held that, while an original invention was in itself patentable, an improvement upon that invention was not. For example, in 1875, the Supreme Court held that "it is no new invention to use an old machine for a new purpose" (I cite and discuss this in the linked item above). It was not until 1952 that Congress overruled this line of cases in amending the patent statutes, setting the stage for what became an eventual flood of software patents as the digital age began.
The policy issue making software patents problematic in our digital age is that patentable software innovations, though supportable under current legal standards, basically are creating an ever-complex web of closely-interrelated and incremental improvements in any given area (e.g., mobile devices) such that no one can develop anything there without getting entangled in the web. It is not just tricky. It is impossible. The only way to defend is to make your own web (your "defensive patent portfolio" or your "defensive pool") and use that to catch others before or as they catch you. If you don't have that, you are in trouble.
Is this, then, what was intended by the Progress Clause of the Constitution (Article I, sec. 8, cl. 8) when it provided that the Congress shall have the power "to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries"? Just how do these tangled webs of 1-and-0 based incremental improvements that are a normal part of all software development in the first place manage to promote the progress of science and useful arts?
The cause for reform in this area will be won or lost based on how the issues are framed and here we have a good example of how to begin to mount an effective challenge.