多线程软件由于进程间共享使用资源而极易发生死锁这一严重的并发漏洞.通过Petri网模型对多线程软件进行建模,并利用混合整数规划技术检测其漏洞.目前,使用互斥锁的多线程软件可通过Gadara网建模和检测.而使用信号量的多线程软件,虽可用S*PR网建模,但是尚未有理论支撑混合整数规划用于其漏洞检测.定义了S*PR网的一个子类——SEM-S*PR网,它允许资源库所初始标志大于1且分支可对称地使用资源,进而可建模一类使用信号量的多线程软件.依据结构特点,证明了该网保持活性的充分必要条件是网运行过程中所有信标始终非空.此结论是混合整数规划用于SEM-S*PR网建模的多线程软件的并发漏洞检测的理论基础.