Changeset 3452 for Papers


Ignore:
Timestamp:
Feb 20, 2014, 11:57:44 AM (5 years ago)
Author:
mulligan
Message:

changes to second para

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Papers/fopara2013/fopara13.tex

    r3451 r3452  
    125125about the high-level functional behaviour of the program that must then be reconstructed.
    126126
    127 This situation presents several problems: 1) it can be hard to infer this
    128 high-level structure in the presence of compiler optimisations; 2) techniques
    129 working on object code are not useful in early development, yet problems
    130 detected later are more expensive to tackle; 3) parametric cost analysis is very
    131 hard: how can we reflect a cost that depends on the execution state (e.g. the
    132 value of a register or a carry bit) to a cost that the user can understand
    133 looking at source code? 4) performing functional analysis on the object code
    134 makes it hard for the programmer to provide information, leading to less precision in
    135 the estimates.
     127The analysis of non-functional constraints on low-level object code presents several problems:
     128\begin{enumerate}
     129\item
     130It can be hard to deduce the high-level structure of the program in the presence of compiler optimisations.
     131The object code produced by an optimising compiler may have radically different control flow to the original source code program.
     132\item
     133Techniques that operate on object code are not useful early in the development cycle of a program, yet problems with a program's design or implementation are cheaper to resolve earlier rather than later.
     134\item
     135Parametric cost analysis is very hard: how can we reflect a cost that depends on the execution state, for example the
     136value of a register or a carry bit, to a cost that the user can understand
     137looking at the source code?
     138\item
     139Performing functional analyses on object code makes it hard for the programmer to provide information about the program and its expected execution, leading to a loss of precision in the resulting analyses.
     140\end{enumerate}
    136141
    137142\paragraph{Vision and approach.}
Note: See TracChangeset for help on using the changeset viewer.