Automatic Control and Computer Sciences

, Volume 51, Issue 7, pp 531–538 | Cite as

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

  • V. M. ItsyksonEmail author


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.


formal specification software library behavioral description software defect specification language 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Lamb, D., IDL: Sharing intermediate representations ACM Trans. Progr. Lang. Syst., 1987, vol. 9, no. 3, pp. 297–318.CrossRefGoogle 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.CrossRefGoogle 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–80CrossRefGoogle Scholar
  5. 5.
    Hoare, C.A.R., Communicating Sequential Processes, Prentice Hall, 1985.zbMATHGoogle 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–120Google 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–134Google 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–140Google 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–216CrossRefGoogle 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.CrossRefGoogle 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–55Google 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.MathSciNetCrossRefGoogle Scholar

Copyright information

© Allerton Press, Inc. 2017

Authors and Affiliations

  1. 1.Peter the Great St. Petersburg Polytechnic UniversitySaint-PetersburgRussia

Personalised recommendations