windows Sockets作为Microsoft Windows的网络程序接口,它定义并记录了如何使用API及网络通信中常见的TCP/IP协议。本文详细介绍了基于套接字的应用程序通信机制及基于WEB的客户/服务器开发模式,并对在windows环境下的Socket编程接口作...windows Sockets作为Microsoft Windows的网络程序接口,它定义并记录了如何使用API及网络通信中常见的TCP/IP协议。本文详细介绍了基于套接字的应用程序通信机制及基于WEB的客户/服务器开发模式,并对在windows环境下的Socket编程接口作了阐述。展开更多
Automatic protocol mining is a promising approach for inferring accurate and complete API protocols. However, just as with any data-mining technique, this approach requires sufficient training data(object usage scena...Automatic protocol mining is a promising approach for inferring accurate and complete API protocols. However, just as with any data-mining technique, this approach requires sufficient training data(object usage scenarios). Existing approaches resolve the problem by analyzing more programs, which may cause significant runtime overhead. In this paper, we propose an inheritance-based oversampling approach for object usage scenarios(OUSs). Our technique is based on the inheritance relationship in object-oriented programs. Given an object-oriented program p, generally, the OUSs that can be collected from a run of p are not more than the objects used during the run. With our technique, a maximum of n times more OUSs can be achieved, where n is the average number of super-classes of all general OUSs. To investigate the effect of our technique, we implement it in our previous prototype tool, ISpec Miner, and use the tool to mine protocols from several real-world programs. Experimental results show that our technique can collect 1.95 times more OUSs than general approaches. Additionally, accurate and complete API protocols are more likely to be achieved. Furthermore, our technique can mine API protocols for classes never even used in programs, which are valuable for validating software architectures, program documentation, and understanding. Although our technique will introduce some runtime overhead, it is trivial and acceptable.展开更多
文摘无论是信息管理系统,还是多媒体应用系统,都需要强大的数据库来支持,访问数据库则是应用程序必须具备的基本功能之一。Visual Basic 6.0提供了多种访问数据库的方法,包括数据控件、DAO(数据访问对象)、RDO(远程数据对象)、VBSQL以及ADO(ActiveX Data Objects)等。本文分析比较了两类VB对数据库编程的常用方法,总结了各类方法在VB中对数据库编程的使用原则。
基金supported by the Scientific Research Project of the Education Department of Hubei Province,China(No.Q20181508)the Youths Science Foundation of Wuhan Institute of Technology(No.k201622)+5 种基金the Surveying and Mapping Geographic Information Public Welfare Scientific Research Special Industry(No.201412014)the Educational Commission of Hubei Province,China(No.Q20151504)the National Natural Science Foundation of China(Nos.41501505,61502355,61502355,and 61502354)the China Postdoctoral Science Foundation(No.2015M581887)the Key Program of Higher Education Institutions of Henan Province,China(No.17A520040)and the Natural Science Foundation of Henan Province,China(No.162300410177)
文摘Automatic protocol mining is a promising approach for inferring accurate and complete API protocols. However, just as with any data-mining technique, this approach requires sufficient training data(object usage scenarios). Existing approaches resolve the problem by analyzing more programs, which may cause significant runtime overhead. In this paper, we propose an inheritance-based oversampling approach for object usage scenarios(OUSs). Our technique is based on the inheritance relationship in object-oriented programs. Given an object-oriented program p, generally, the OUSs that can be collected from a run of p are not more than the objects used during the run. With our technique, a maximum of n times more OUSs can be achieved, where n is the average number of super-classes of all general OUSs. To investigate the effect of our technique, we implement it in our previous prototype tool, ISpec Miner, and use the tool to mine protocols from several real-world programs. Experimental results show that our technique can collect 1.95 times more OUSs than general approaches. Additionally, accurate and complete API protocols are more likely to be achieved. Furthermore, our technique can mine API protocols for classes never even used in programs, which are valuable for validating software architectures, program documentation, and understanding. Although our technique will introduce some runtime overhead, it is trivial and acceptable.