ABSTRACT
Although software development involves making numerous decisions amongst alternatives, the design and implementation choices made typically become invisible; what a developer sees in the project's artifacts are the end result of all of the decisions. What if, instead, all of the choices made were tracked and it was easy for a developer to revisit a point where a decision was made and choose another alternative? What if the development environment could detect and suggest alternative choices? What if it was easy and low-cost to try another path? We explore the idea of speculative reprogramming that could support a what-if environment for the programming stages of software development.
- Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Speculative analysis: exploring future development states of software. In Proc. of the FSE/SDP Work. on Future of Soft. Eng. Research, pages 59–64. ACM, 2010. Google ScholarDigital Library
- C. Cadar, P. Pietzuch, and A. L. Wolf. Multiplicity computing: a vision of software engineering for next-generation computing platform applications. In Proc. of the FSE/SDP Work. on Future of Soft. Eng. Research, pages 81–86. ACM, 2010. Google ScholarDigital Library
- B. Dagenais and M. P. Robillard. Recommending adaptive changes for framework evolution. In Proc. of the 30th Int’l Conf. on Soft. Eng., ICSE ’08, pages 481–490, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, 25(1):53–95, 2013.Google ScholarCross Ref
- M. Harman. The current state and future of search based softnnware engineering. In 2007 Future of Soft. Eng., FOSE ’07, pages 342–357. IEEE Computer Society, 2007. Google ScholarDigital Library
- M. Harman and B. F. Jones. Search-based software engineering. Information and Software Technology, 43(14):833–839, 2001.Google ScholarCross Ref
- M. O’Keeffe and M. O’Cinneide. Search-based software maintenance. In Proc. of the Conf. on Soft. Maint. and Reengineering, pages 249–260. IEEE Computer Society, 2006. Google ScholarDigital Library
- D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053–1058, 1972. Google ScholarDigital Library
- G. Soares, E. Murphy-Hill, and R. Gheyi. Live feedback on behavioral changes. In 1st Int’l Workshop on Live Programming, pages 23–26. IEEE, 2013. Google ScholarDigital Library
- C. Teyton, J.-R. Falleri, and X. Blanc. Automatic discovery of function mappings between similar libraries. In 20th Working Conf. on Reverse Engineering, pages 192–201, 2013.Google ScholarCross Ref
- Y. Yoon and B. A. Myers. A longitudinal study of programmers’ backtracking. In IEEE Symp. on Visual Lang. and Human-Centric Comp., 2014.Google ScholarCross Ref
Index Terms
- Speculative reprogramming
Recommendations
Speculative analysis: exploring future development states of software
FoSER '10: Proceedings of the FSE/SDP workshop on Future of software engineering researchMost software tools and environments help developers analyze the present and past development states of their software systems. Few approaches have investigated the potential consequences of future actions the developers may perform. The commoditization ...
Automated Reasoning with Goal Tree Models for Software Quality Requirements
COMPSACW '12: Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference WorkshopsImplementation of software quality requirements is critical for producing high-quality softwares. High-level quality requirements are usually refined stepwise by different low-level quality requirements, until some potential functional design ...
Comments