Changeset 3316

Jun 5, 2013, 6:46:05 PM (4 years ago)

Short future works section.

1 edited


  • Papers/fopara2013/fopara13.tex

    r3315 r3316  
     388\section{Future work}
     390All the software described in this paper can be found on-line at the
     391address \url{}. The technical deliverables of the
     392project are also available at the same address.
     394The results obtained so far are encouraging and provide evidence that
     395it is possible to perform static time and space analysis at the source level
     396without loosing accuracy, reducing the trusted code base and reconciling the
     397study of functional and non functional properties of programs. The
     398techniques introduced seem to be scalable, cover both imperative and
     399functional languages and are compatible with every compiler optimization
     400considered by us so far.
     402In order to prove our claim that compilers can keep track of optimizations
     403and induce a precise cost model on the source code, we targeted a simple
     404architecture that admits a cost model that is execution history independent.
     405The most important future work is dealing with modern hardware architectures
     406characterized by history dependent stateful components, like caches and
     407pipelines. The main issue consists in assigning a parametric, dependent cost
     408to basic blocks that can be later transferred by the labelling approach to
     409the source code and represented in a meaningful way to the user. The dependent
     410labelling approach that we have studied seems a promising tools to achieve
     411this goal, but the cost model generated for a realistic processor could be too
     412large and complex to be exposed in the source code. Further study is required
     413to evaluate the tecnique on a realistic processor and to introduce early
     414approximations of the cost model to make the tecnique feasible.
     416Examples of further future work consist in improving the cost invariant
     417generator algorithms and the coverage of compiler optimizations, in combining
     418the labelling approach with type \& effects systems
     419to handle languages with implicit memory management, and in experimenting with
     420our tools in early development phases. Some larger use case is also necessary
     421to evaluate the CerCo's prototype on industrial size programs.
Note: See TracChangeset for help on using the changeset viewer.