10 likes | 68 Views
Using Market Forces to Improve the Design of Software.
E N D
Using Market Forces to Improve the Design of Software The thick lines on the graph represent the number of lines of PLT Scheme code that are easily available. Before 2004, that was only the standard libraries that come with DrScheme. Since then, everyone has been able to contribute code via PLaneT (our answer to CPAN). The orange line is purely anecdotal, representing our experience and our hopes for the future, once PlaneT’s component quality information is more widely exploited. Markets for interchangeable components exert pressure on manufacturers to improve their products. This is especially true if the market comes with fast dissemination of information about the quality of the components. Since existing markets for software components currently lack quality assurance mechanisms, we believe that research is needed to study the relationship between software markets, quality assurance, and design. We conjecture that if a market for software components is equipped with a uniformly enforced quality control mechanism, it will force software producers to continuously overhaul their product designs. To test this conjecture, we plan to conduct experiments with controllable component markets. The products on these markets will come with explicit software contracts. The underlying software platforms monitor these contracts and publicly report violations. Producers can react to these reports with technical contributions (test cases, improved contracts, etc). In these contexts, we intend to validate our conjecture with code inspections and interviews with producers. Progress so far: We’ve adapted PLaneT to support component quality information (open bugs, download stats, contracts) and have adapted our software construction courses to build small markets for test cases.