Formalism and Language Tools for Specification of the Semantics of Software Libraries


The paper considers the specification of the structure and the behavior of software libraries. It describes the existing problems of library specifications. A brief overview of the research field concerned with formalizing the specification of libraries and library functions is presented. The requirements imposed on the formalism designed are established; the formalism based on these requirements allows specification of all the properties of the libraries needed for automation of several classes of problems: defect detection in software, migration of applications into a new environment, and generation of software documentation. Requirements for language tools based on the developed formalism are proposed. The conclusion defines potential directions for further research.

This is a preview of subscription content, log in to check access.


  1. 1.

    Lamb, D., IDL: Sharing intermediate representations ACM Trans. Progr. Lang. Syst., 1987, vol. 9, no. 3, pp. 297–318.

    Article  Google Scholar 

  2. 2.

    Exton, C., Watkins, D., and Thompson, D., Comparisons between CORBA IDL and COM/DCOM MIDL: Interfaces for distributed computing, Proceedings of the technology of object-oriented languages and systems, Tools-25 (TOOLS’97), IEEE Computer Society, Washington, DC, USA, 1997, pp. 15–23.

    Google Scholar 

  3. 3.

    Sankar, S. and Hayes, R., ADL—an interface definition language for specifying and testing software, SIGPLAN, 1994, vol. 29, no. 8, pp. 13–21.

    Article  Google Scholar 

  4. 4.

    Allen, R. and Garlan, D., Formalizing architectural connection, Proceedings of the 16th International Conference on Software Engineering (ICSE’94), Los Alamitos, CA: IEEE Computer Society Press, 1994, pp. 71–80

    Google Scholar 

  5. 5.

    Hoare, C.A.R., Communicating Sequential Processes, Prentice Hall, 1985.

    Google Scholar 

  6. 6.

    Roscoe, A.W., Modelling and verifying key-exchange protocols using CSP and FDR, Proceedings of 1995 IEEE Computer Security Foundations Workshop, IEEE Computer Society Press, 1995.

    Google Scholar 

  7. 7.

    de Alfaro, L. and Henzinger, T., Interface automata, Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-9), New York: ACM, 2001, pp. 109–120

    Google Scholar 

  8. 8.

    Ramanathan, M., Grama, A., and Jagannathan, S., Static specification inference using predicate mining, Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '07), New York: ACM, 2007, pp. 123–134

    Google Scholar 

  9. 9.

    Sankaranarayanan, S., Ivancic, F., and Gupta, A., Mining library specifications using inductive logic programming, Proceedings of the 30th International Conference on Software Engineering (ICSE’08), New York: ACM, 2008, pp. 131–140

    Google Scholar 

  10. 10.

    Ball, T. and Rajamani, S.K., SLIC: A Specication Language for Interface Checking (of C), Microsoft Research, Technical Report, MSR-TR-2001-21, 2002.

    Google Scholar 

  11. 11.

    Leavens, G.T., The future of library specification, Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (FoSER’10), New York: ACM, 2010, pp. 211–216

    Google Scholar 

  12. 12.

    Itsykson, V.M. and Zozulya, A.V., The formalism for description of the partial specifications of program envinroment components, S.-Petersb. State Polytech. Univ. J., Comput. Sci., Telecommun. Control Syst., 2011, vol. 4, pp. 81–90.

    Google Scholar 

  13. 13.

    Itsykson, V.M. and Glukhikh, M.I., A program component behavior specification language, St.-Petersb. State Polytech. Univ. J., Comput. Sci., Telecommun. Control Syst., 2010, vol. 3, pp. 63–71.

    Google Scholar 

  14. 14.

    Akhin, M.Kh., Belyaev, M.A., and Itsykson, V.M., Software defect detection by combining bounded model checking and approximations of functions, Autom. Control Comput. Sci., 2014, vol. 48, no. 7, pp. 389–397.

    Article  Google Scholar 

  15. 15.

    Itsykson, V., et al., Automatic defects detection in industrial C/C++ software, Proceeding of 5th Central and Eastern European Software Engineering Conference in Russia (CEESECR), IEEE, 2009, pp. 50–55

    Google Scholar 

  16. 16.

    Itsykson, V.M. and Zozulya, A.V., Automated program transformation for migration to new libraries, Software Eng., 2012, vol. 6, pp. 8–14.

    Google Scholar 

  17. 17.

    Kirchner, F., et al., Frama-C: A software analysis perspective, Formal Aspects Comput., 2015, vol. 27, no. 3, pp. 573–609.

    MathSciNet  Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to V. M. Itsykson.

Additional information

Original Russian Text © V.M. Itsykson, 2016, published in Modelirovanie i Analiz Informatsionnykh Sistem, 2016, Vol. 23, No. 6, pp. 754–766.

About this article

Verify currency and authenticity via CrossMark

Cite this article

Itsykson, V.M. Formalism and Language Tools for Specification of the Semantics of Software Libraries. Aut. Control Comp. Sci. 51, 531–538 (2017).

Download citation


  • formal specification
  • software library
  • behavioral description
  • software defect
  • specification language