  In this tutorial I will present how a combination of linear and dependent
type can be useful to describe different properties about higher order
programs. Linear types have been proved particularly useful to express
properties of functions; dependent types are useful to describe the behavior of
the program in terms of its control flow. This two ideas fits together well
when one is interested in analyze properties of functions depending on the
control flow of the program. I will present these ideas with example taken by
complexity analysis and sensitivity analysis. I will conclude the tutorial by
arguing about the generality of this approach.
