What factors impact the comprehensibility of code? Previous research suggests that expectation-congruent programs should take less time to understand and be less prone to errors. We present an experiment in which participants with programming experience predict the exact output of ten small Python programs. We use subtle differences between program versions to demonstrate that seemingly insignificant notational changes can have profound effects on correctness and response times. Our results show that experience increases performance in most cases, but may hurt performance significantly when underlying assumptions about related code statements are violated.
Software as Science vía @jjmerelo
Software is science, in the sense that when developed in the course of computational science research, it can’t be classified as “infrastructure” or “support”. If a telescope is infrastructure for astronomy, then its equivalent or computational mathematics is a supercomputer. On the other hand, code produced to prove a theorem, simulate an explosion or study an image denoising algorithm is the subject-matter of the science being investigated. We need this work to be recognized and time and effort invested in it must be rewarded by scholarship standards. On the other hand, when science is based on software foundations, the computational part of the research should be subject to validation by the scientific method. This implies that every program used in the elaboration of a research paper should, at least, be usable by referees, and if possible be publicly available is source form. Open Source software is part of the equation, but it is not sufficient to answer the questions raised here. During this talk, we will present the rationale for the “Software as Science” approach, in relation with other ideas, chiefly Reproducible Research and Open Science, and we will mention recent workshops and conferences, as well as groups, projects and institutions involved in these dynamics. We will list and detail numerous obstacles to the recognition of software in the scientific method and open questions on that matter: identification and citation, standard APIs and languages, verification and validation, copyright and patents, limits to reproducibility, etc. Finally, we will present our own project, IPOL, a research journal on image processing, in which every algorithm is published (Open Access license) and reviewed with the source code of its implementation (Open Source license) and a web interface to test it and browse archived experiments.
In 2013, our courses will be held from March 4th to 8th at the Faculty Club, Leuven, Belgium, and at the Science Gallery, Dublin, Ireland, from July 15th to 19th. Registration is now open for the Leuven event.
secappdev.org is a non-profit organization that aims to broaden security awareness in the development community and advance secure software engineering practices. We run the SecAppDev series of courses. Katholieke Universiteit Leuven and Solvay Brussels School of Economics and Management are founding partners and have been joined in 2012 by DCU and Trinity College Dublin.
Algún día iremos…
OpenApps Euskadi. Vía @solcoz




