ML Dependency Analysis for Assessors

  • Philippe Ayrault
  • Vincent Benayoun
  • Catherine Dubois
  • François Pessaux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7504)


Critical software needs to obtain an assessment before commissioning. This assessment is given after a long task of software analysis performed by assessors. They may be helped by tools, used interactively, to build models using information-flow analysis. Tools like SPARK-Ada exist for Ada subsets used for critical software. But some emergent languages such as those of the ML family lack such adapted tools. Providing similar tools for ML languages requires special attention on specific features such as higher-order functions and pattern-matching. This paper presents an information-flow analysis for such a language specifically designed according to the needs of assessors. This analysis can be parametrized to allow assessors getting a view of dependencies at several levels of abstraction and gives the basis for an efficient fault tolerance analysis.


Operational Semantic Dependency Analysis Recursive Call Dependency Term Fault Injection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Banerjee, A., Heintze, N., Riecke, J.G.: A core calculus of dependency. In: Appel, A.W., Aiken, A. (eds.) POPL, pp. 147–160. ACM (1999)Google Scholar
  2. 2.
    Abadi, M., Lampson, B.W., Lévy, J.-J.: Analysis and caching of dependencies. In: Harper, R., Wexelblat, R.L. (eds.) ICFP, pp. 83–91. ACM (1996)Google Scholar
  3. 3.
    Ayrault, P.: Développement de logiciel critique en Focalize. Méthodologie et outils pour l’évaluation de conformité. PhD thesis, Université Pierre et Marie Curie - LIP6 (2011)Google Scholar
  4. 4.
    Consel, C.: Binding time analysis for high order untyped functional languages. In: LISP and Functional Programming, pp. 264–272. ACM (1990)Google Scholar
  5. 5.
    Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Aho, A.V., Zilles, S.N., Rosen, B.K. (eds.) POPL, pp. 269–282. ACM Press (1979)Google Scholar
  6. 6.
    Fehnker, A., Huuck, R., Jayet, P., Lussenburg, M., Rauch, F.: Goanna—A Static Model Checker. In: Brim, L., Haverkort, B.R., Leucker, M., van de Pol, J. (eds.) FMICS 2006 and PDMC 2006. LNCS, vol. 4346, pp. 297–300. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Heintze, N., Riecke, J.G.: The slam calculus: Programming with secrecy and integrity. In: MacQueen, D.B., Cardelli, L. (eds.) POPL, pp. 365–377. ACM (1998)Google Scholar
  8. 8.
    Jones, S.L.P., Eber, J.-M., Seward, J.: Composing contracts: an adventure in financial engineering, functional pearl. In: Odersky and Wadler [11], pp. 280–292Google Scholar
  9. 9.
    Minsky, Y., Weeks, S.: Caml trading - experiences with functional programming on wall street. J. Funct. Program. 18(4), 553–564 (2008)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Nielson, H.R., Nielson, F.: Automatic binding time analysis for a typed lambda-calculus. In: Ferrante, J., Mager, P. (eds.) POPL, pp. 98–106. ACM Press (1988)Google Scholar
  11. 11.
    Odersky, M., Wadler, P. (eds.): Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP 2000), Montreal, Canada, September 18-21. ACM (2000)Google Scholar
  12. 12.
    Pagano, B., Andrieu, O., Canou, B., Chailloux, E., Colaço, J.-L., Moniot, T., Wang, P.: Certified Development Tools Implementation in Objective Caml. In: Hudak, P., Warren, D.S. (eds.) PADL 2008. LNCS, vol. 4902, pp. 2–17. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Pottier, F., Conchon, S.: Information flow inference for free. In: Odersky and Wadler [11], pp. 46–57Google Scholar
  14. 14.
    Pottier, F., Simonet, V.: Information flow inference for ml. In: Launchbury, J., Mitchell, J.C. (eds.) POPL, pp. 319–330. ACM (2002)Google Scholar
  15. 15.
    Standard Cenelec EN 50128. Railway Applications - Communications, Signaling and Processing Systems - Software for Railway Control and Protection Systems (1999)Google Scholar
  16. 16.
    Standard IEC-61508, International Electrotechnical Commission. Functional safety of electrical/electronic/programmable electronic safety-related systems (1998)Google Scholar
  17. 17.
    Tang, Y.M., Jouvelot, P.: Effect systems with subtyping. In: Jones, N.D. (ed.) PEPM, pp. 45–53. ACM Press (1995)Google Scholar
  18. 18.
    Tip, F.: A survey of program slicing techniques. Technical report, Amsterdam, The Netherlands (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Philippe Ayrault
    • 1
    • 2
  • Vincent Benayoun
    • 3
  • Catherine Dubois
    • 3
    • 4
    • 5
  • François Pessaux
    • 6
  1. 1.EtersafePalaiseauFrance
  2. 2.LIP6Université Paris 6ParisFrance
  3. 3.Laboratoire CEDRICCNAMParisFrance
  4. 4.ENSIIEEvryFrance
  5. 5.INRIAParisFrance
  6. 6.ENSTA ParisTechUEIPalaiseauFrance

Personalised recommendations