
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.
82
Software engineering, Computer Engineering and Computer Science and Control, Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol
Software engineering, Computer Engineering and Computer Science and Control, Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
