Bugs in concurrent programs are extremely difficult to find and fix during testing. In this paper, we propose Kivati, which can efficiently detect and prevent atomicity violat...
Techniques for inferring a regular language, in the form of a finite automaton, from a sufficiently large sample of accepted and nonaccepted input words, have been employed to cons...
Requirements engineering is a central part of software projects. It is assumed that two third of all errors in software projects are caused by forgotten requirements or mutual misu...
In a future networked physical world, a myriad of smart sensors and actuators assess and control aspects of their environments and autonomously act in response to it. Examples ran...
There are a number of technologies designed to improve modularity in software systems. The technique presented here combines two of them seamlessly to exploit their respective ben...