The Cathedral and the Bazaar
InfraSec '02 Proceedings of the International Conference on Infrastructure Security
Acceptability-oriented computing
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the FSE/SDP workshop on Future of software engineering research
Rethinking the economics of software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
A quantitative analysis into the economics of correcting software bugs
CISIS'11 Proceedings of the 4th international conference on Computational intelligence in security for information systems
CISIS'11 Proceedings of the 4th international conference on Computational intelligence in security for information systems
Software, vendors and reputation: an analysis of the dilemma in creating secure software
INTRUST'10 Proceedings of the Second international conference on Trusted Systems
Understanding gamification mechanisms for software development
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
An evaluation framework for software crowdsourcing
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
Software correctness has bedeviled the field of computer science since its inception. Software complexity has increased far more quickly than our ability to control it, reaching sizes that are many orders of magnitude beyond the reach of formal or automated verification techniques. We propose a new paradigm for evaluating "correctness" based on a rich market ecosystem in which coalitions of users bid for features and fixes. Developers, testers, bug reporters, and analysts share in the rewards for responding to those bids. In fact, we suggest that the entire software development process can be driven by a disintermediated market-based mechanism driven by the desires of users and the capabilities of developers. The abstract, unspecifiable, and unknowable notion of absolute correctness is then replaced by quantifiable notions of correctness demand (the sum of bids for bugs) and correctness potential (the sum of the available profit for fixing those bugs). We then sketch the components of a market design intended to identify bugs, elicit demand for fixing bugs, and source workers for fixing bugs. The ultimate goal is to achieve a more appropriate notion of correctness, in which market forces drive software towards a correctness equilibrium in which all bugs for which there is enough value, and with low enough cost to fix, are fixed.