摘要
Object Constraint Language(OCL)is one kind of lightweight formal specification,which is widely used for software verification and validation in NASA and Object Management Group projects.Although OCL provides a simple expressive syntax,it is hard for the developers to write correctly due to lacking knowledge of the mathematical foundations of the first-order logic,which is approximately half accurate at the first stage of devel-opment.A deep neural network named DeepOCL is proposed,which takes the unre-stricted natural language as inputs and automatically outputs the best-scored OCL candidates without requiring a domain conceptual model that is compulsively required in existing rule-based generation approaches.To demonstrate the validity of our proposed approach,ablation experiments were conducted on a new sentence-aligned dataset named OCLPairs.The experiments show that the proposed DeepOCL can achieve state of the art for OCL statement generation,scored 74.30 on BLEU,and greatly outperformed experienced developers by 35.19%.The proposed approach is the first deep learning approach to generate the OCL expression from the natural language.It can be further developed as a CASE tool for the software industry.
基金
The National Key Research and Development Program of China,Grant/Award Number:2021YFB2501301。