Dosso-automatic detector of shared objects in multithreaded java programs
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Bu tezde koşutzamanlı Java programları içindeki ortak kullanım nesnelerini otomatik olarak bulmak için bir analiz yöntemi geliştirilmiştir. Bu analiz yöntemi geliştirdiğimiz DoSSO adındaki araç ile hayata geçirilmiştir. DoSSO analiz sonucunda ortak kullanımda olan ve en az bir iş parçacığı tarafından yazılan nesneler raporlanmaktadır. Aracımız sayesinde programcı senkronizasyonu düşünmeden yazılımını yapabilir ve daha sonra DoSSO sonuçlarına gore sadece gerekli nesneleri uygun bir senkronize mekanizması kullanabilir. Bu şekilde zor olan senkronizasyon gerçekleştirimi en sona bırakılır ve iş mantığı üzerine yoğunlaşılır. DoSSO'nun etkinliğini değerlendirmek amacıyla, kullanıcı arayüzüne sahip dağıtımlı ve koşutzamanlı bir sistem üzerinde durum çalışması gerçekleştirilmiştir. Durum çalışmasında DoSSO'nun belirtilmiş iş parçacıkları aralarında ortak kullandıkları nesneleri; uzaktan erişim nesneleri sebebi ile ortak kullanılan nesneleri; ve kullanıcı olaylarını yakalayan iş parçacığı ile belirtilmiş iş parçacıkları arasında ortak kullanılan nesneleri etkin bir şekilde yakaladığı izlenmiştir. In this thesis, we present a simple and efficient automated analysis tool called DoSSO that detects shared objects in multithreaded Java programs. DoSSO reports only the shared objects that are modified by at least one thread. Based on this tool, we propose a new approach in developing concurrent software where programmers implement the system without considering synchronization issues first and then use appropriate locking mechanism only for the objects reported by DoSSO.To evaluate the applicability of DoSSO, we have conducted a case study on a distributed and concurrent system with graphical user interfaces. Case study results showed that DoSSO is able to identify objects that become shared among explicitly defined threads and event threads, and objects that become shared through RMI.
Collections