Programming theory
[Closed]
Work description
Program quality is usually evaluated along two-axes which often are not in sync. On the one hand, we want programs to be correct and easy to understand, that is, they should clearly behave as intended by the programmer and produce no errors. On the other hand, they should be efficient when applied to the practical situations for which they are intended. Seeking efficiency too early can put correctness at risk, in particular if done in an ad hoc manner. But staying at the abstract level and making no concession concerning performance may be counterproductive too. Interestingly, the concept underlying the two above mentioned dimensions of programming is the same: that of a mathematical function. In fact, the meaning of a deterministic program is a function; and the theory of algorithmic complexity is based on the analysis of the asymptotic behavior of particular functions measuring complexity. The calculation of recursive functional programs has witnessed great developments in recent decades, giving rise to the so-called ‘algebra of programming’, thanks to which “correct by construction” and more efficient implementations can be obtained by calculation. But it is not common to analyze the efficiency of these implementations using the same calculational techniques used to infer them.
Academic Qualifications
Student in computer engineering.
Minimum profile required
- Current overall grade BSc degree average of 16 or above;- Background that includes solid knowledge of algebraic programming theory (vulgarly. program calculus).
Preference factors
- Good awareness of the project's theme; - Creativity and critical thinking.
Application Period
Since 25 Oct 2024 to 08 Nov 2024
[Closed]
Centre
High-Assurance Software