Abstract. Memory models define which executions of multithreaded programs are legal. This paper formalises in a fixpoint form the happens-before memory model, an over-approximation of the Java one, and it presents a static analysis using abstract interpretation. Our approach is completely independent of both the programming language and the analysed property. It also appears to be a promising framework to define, compare and statically analyse other memory models
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desi...
The specification language is a critical component of the hardware-software co-design process since ...
The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithread...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Abstract. In order to contribute to the solution of the software reliability problem, tools have bee...
Static analysis is significant since it provides the information about the run-time behaviour of an ...
AbstractStatic analysis is usually faster than dynamic analysis but less precise. Therefore it is of...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
The Java language enables the development of concurrent and distributed software through the concept...
It has been observed in previous work that it is desirable to avoid causal violations in any executi...
AbstractAbstract interpretation is a technique for the static detection of dynamic properties of pro...
The application field of static analysis techniques for objectoriented programming is getting broade...
In real-time and embedded systems, it is often necessary to place conservative upper bounds on the m...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desi...
The specification language is a critical component of the hardware-software co-design process since ...
The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithread...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Abstract. In order to contribute to the solution of the software reliability problem, tools have bee...
Static analysis is significant since it provides the information about the run-time behaviour of an ...
AbstractStatic analysis is usually faster than dynamic analysis but less precise. Therefore it is of...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
The Java language enables the development of concurrent and distributed software through the concept...
It has been observed in previous work that it is desirable to avoid causal violations in any executi...
AbstractAbstract interpretation is a technique for the static detection of dynamic properties of pro...
The application field of static analysis techniques for objectoriented programming is getting broade...
In real-time and embedded systems, it is often necessary to place conservative upper bounds on the m...
A memory model for a concurrent imperative programming language specifies which writes to shared var...
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desi...
The specification language is a critical component of the hardware-software co-design process since ...
The current Java Memory Model [1] is flawed and has many unintended implications [2]. As multithread...