Desktop computers now contain 2, 4 or even 8 processors. To benefit from them programs must be written to work in parallel. If writing good code is hard, writing good parallel code is much harder. Parallelization adds process communication and synchronization to the list of difficulties faced by programmers. It also adds new kinds of bugs not found in single-threaded code such as deadlocks and data races. In this thesis we develop the CORE (COncurrent REpair) framework. It automatically fixes deadlocks and data races in parallel Java programs. It uses a search-based software engineering approach to mutate and evolve the source code. In these mutants synchronization blocks are added, removed, expanded, shrunk or the synchronization variable ...
Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 pack...
In this work we focus on creating a benchmark suite of concurrent programs for various programming l...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
The rise in the number of cores in a processor has resulted in computer programmers needing to write...
Threading and concurrency are crucial to building high-performance Java applications -- but they ha...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Multicore and Internet cloud systems have been widely adopted in recent years and have resulted in t...
For several decades, programmers have relied onMooreâ s Law to improve the performance of their sof...
Developing concurrent software is error prone. Others have cataloged common bug patterns in concurre...
Shared-memory multi-threaded programming is inherently more difficult than single-threaded programmi...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Tese de doutoramento, Informática (Ciências da Computação), Universidade de Lisboa, Faculdade de Ciê...
The new era of multi-core processing challenges software designers to efficiently exploit the parall...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 pack...
In this work we focus on creating a benchmark suite of concurrent programs for various programming l...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
The rise in the number of cores in a processor has resulted in computer programmers needing to write...
Threading and concurrency are crucial to building high-performance Java applications -- but they ha...
Concurrency bug detection is important to guarantee the correct behavior of multithread programs. Ho...
Multicore and Internet cloud systems have been widely adopted in recent years and have resulted in t...
For several decades, programmers have relied onMooreâ s Law to improve the performance of their sof...
Developing concurrent software is error prone. Others have cataloged common bug patterns in concurre...
Shared-memory multi-threaded programming is inherently more difficult than single-threaded programmi...
AbstractEvolving and refactoring concurrent Java software can be error-prone, resulting in race cond...
Software is pervasive in our daily lives. Unfortunately, software bugs can severely affect the depen...
Tese de doutoramento, Informática (Ciências da Computação), Universidade de Lisboa, Faculdade de Ciê...
The new era of multi-core processing challenges software designers to efficiently exploit the parall...
Testing concurrent software is hard due to its non-deterministic behavior. Concurrency bugs triggeri...
Parallelizing existing sequential programs to run efficiently on multicores is hard. The Java 5 pack...
In this work we focus on creating a benchmark suite of concurrent programs for various programming l...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...