Dindar ÖzSinan ÖzIsil OzM. Erten , A. Tarhan2025-10-0620189789666544899, 9788073780029, 9788024810256, 9789986342748, 9788073781712, 9782954494807, 9788024823911, 9789562361989, 8024810255, 807378002X16130073https://www.scopus.com/inward/record.uri?eid=2-s2.0-85053661505&partnerID=40&md5=a830f95741efbab5994819b14258c406https://gcris.yasar.edu.tr/handle/123456789/9615In this study we propose a transparent model for reliable execution of object-oriented software. We design a generic object-oriented programming tool for redundant software execution to provide the desired level of reliability against transient hardware faults. To achieve this we utilize the Proxy design pattern which is one of the well-known GoF design patterns that are formed to make software systems flexible and easy to maintain. Proxy design pattern provides a controlled access and a transparent mechanism for adding new functionalities to an existing object when accessing it. Combining the instruments of dynamic proxy and annotations in Java programming language we present RedundantCaller a generic transparent and configurable tool for redundant execution and majority voting. Our tool takes any object and creates a dynamic proxy for it which executes the methods of the object multiple times in separate threads and performs majority voting on the background requiring minimum amount of change in the original user code. Thanks to annotations users can configure the redundant execution scheme methodwise. Our experiments demonstrate that our tool provides a significant level of reliability to any object-oriented software with a reasonable amount of performance degradation through multithreaded execution. © 2018 Elsevier B.V. All rights reserved.TurkishObject-oriented Programming, Proxy Design Pattern, Redundant Execution, Software Reliability, Design Patterns, Multithreaded Executions, Object Oriented Software, Object-oriented Programming Tools, Performance Degradation, Redundant Execution, Reliable Execution, Software Execution, Object Oriented ProgrammingSoftware reliability, Design Patterns, Multithreaded executions, Object oriented software, Object-oriented programming tools, Performance degradation, Redundant execution, Reliable execution, Software execution, Object oriented programmingUsing proxy design pattern for transparent redundant execution, Saydam artıklı çalıştırma I çin vekil tasarım örüntüsü kullanımıConference Object