@conference {ewdc:soares:2013, title = {Software Component Replication for Improved Fault-Tolerance: Can Multicore Processors Make It Work?}, booktitle = {Dependable Computing}, series = {Lecture Notes in Computer Science}, volume = {7869}, year = {2013}, note = {

n/a

}, pages = {173-180}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, abstract = {

n/a

}, isbn = {978-3-642-38788-3}, doi = {10.1007/978-3-642-38789-0_15}, url = {http://dx.doi.org/10.1007/978-3-642-38789-0_15}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/ewdc2013.pdf}, author = {Soares, Jo{\~a}o and Jo{\~a}o M. Louren{\c c}o and Pregui{\c c}a, Nuno}, editor = {Vieira, Marco and Cunha, Jo{\~a}oCarlos} } @conference {CunhaLD:JETC:2008, title = {Consistent State Software Transactional Memory}, booktitle = {IV Jornadas de Engenharia de Electr{\'o}nica e Telecomunica{\c c}{\~o}es e de Computadores (JETC{\textquoteright}08)}, year = {2008}, note = {

n/a

}, pages = {251{\textendash}256}, publisher = {ISEL - Instituto Superior de Engenharia de Lisboa}, organization = {ISEL - Instituto Superior de Engenharia de Lisboa}, address = {Lisboa, Portugal}, abstract = {

Software transactional memory (STM) is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to memory (RAM) locations. In this paper we propose a new classification for the active states of a transaction; a new memory quiescing algorithm, to allow the safe transition of a memory block form transactional to non-transactional space; we compare word and object transactional grain units; and evaluate the cost of consistent state validation, arguing that this cost can be minimized by performing partial validation on problematic code regions.

}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/jetc_2008.pdf}, author = {Cunha, Gon{\c c}alo and Louren{\c c}o, Jo{\~a}o and Ricardo J. Dias}, editor = {ISBN: 9789729580949} } @article {DBLP:journals/comsis/DiasLC08, title = {Developing libraries using software transactional memory}, journal = {Comput. Sci. Inf. Syst.}, volume = {5}, number = {2}, year = {2008}, note = {

n/a

}, pages = {103{\textendash}117}, abstract = {

Software transactional memory is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM). This paper discusses how to support revertible operations, such as memory allocation and release, within software libraries that will be used in software memory transactional contexts. The proposal is based in the extension of the transaction life cycle state diagram with new states associated to the execution of user-defined handlers. The proposed approach is evaluated in terms of functionality and performance by way of a use case study and performance tests. Results demonstrate that the proposal and its current implementation are flexible, generic and efficient

}, keywords = {compensation actions, revertible operations, software transactional memory, transactions}, doi = {10.2298/CSIS0802103D}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/comsis_final.pdf}, author = {Ricardo J. Dias and Jo{\~a}o M. Louren{\c c}o and Cunha, Gon{\c c}alo} } @conference {DiasLC:CoRTA:2008, title = {Developing Libraries Using Software Transactional Memory}, booktitle = {CoRTA 2008: Proceedings of the Conference on Compilers, Related Technologies and Applications}, year = {2008}, note = {

n/a

}, publisher = {Instituto Polit{\'e}cnico de Bragan{\c c}a - ESTG}, organization = {Instituto Polit{\'e}cnico de Bragan{\c c}a - ESTG}, address = {Bragan{\c c}a, Portugal}, abstract = {

Software transactional memory (STM) is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM) locations. This paper aims at discussing how to support apparently irreversible operations within a memory transaction.

}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/corta_2008.pdf}, author = {Ricardo J. Dias and Louren{\c c}o, Jo{\~a}o and Cunha, Gon{\c c}alo} } @conference {Lourenco:2007:TPS:1273647.1273655, title = {Testing patterns for software transactional memory engines}, booktitle = { Proceedings of the 5th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging (PADTAD{\textquoteright}07)}, series = {{PADTAD}{\textquoteright}07}, year = {2007}, pages = {36{\textendash}42}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {

The emergence of multi-core processors is promoting the use of concurrency and multithreading. To raise the abstraction level of synchronization constructs is fundamental to ease the development of concurrent software, and Software Transactional Memory (STM) is a good approach towards such goal. However, execution environment issues such as the processor instruction set, caching policy, and memory model, may have strong influence upon the reliability of STM engines. This paper addresses the testing of STM engines aiming at improving their reliability and independence from execution environment. From our experience with porting and extending a specific STM engine, we report on some of the bugs found and synthesize some testing patterns that proved to be useful at testing STM engines.

}, keywords = {concurrency, debugging, software transactional memory, testing, testing patterns}, isbn = {9781-595-9374-8-3}, doi = {10.1145/1273647.1273655}, url = {http://dx.doi.org/10.1145/1273647.1273655}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/padtad21s.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Gon{\c c}alo} } @proceedings {Cunha:2005:1067445, title = {Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE{\textquoteright}05)}, year = {2005}, note = {

457054

}, publisher = {ACM}, address = {New York, NY, USA}, abstract = {

n/a

}, isbn = {1-59593-024-8}, url = {http://dl.acm.org/citation.cfm?id=1067445}, author = {Cunha, Jos{\'e} C. and Fleischman, William and Jo{\~a}o M. Louren{\c c}o and Proulx, Viera K.}, editor = {Cunha, Jos{\'e} C. and Fleischman, William and Louren{\c c}o, Jo{\~a}o and Proulx, Viera K.} } @mastersthesis {jml-phd, title = {A Debugging Engine for Parallel and Distributed Programs}, year = {2004}, note = {

n/a

}, school = {Faculdade de Ci{\^e}ncias e Tecnologia}, type = {PhD thesis}, abstract = {

In the last decade a considerable amount of research work has focused on distributed debugging, one of the crucial fields in the parallel software development cycle. The productivity of the software development process strongly depends on the adequate definition of what debugging tools should be provided, and what debugging methodologies and functionalities should these tools support. The work described in this dissertation was initiated in 1995, in the context of two research projects, the SEPP (Software Engineering for Parallel Processing) and HPCTI (High-Performance Computing Tools for Industry), both sponsored by the European Union in the Copernicus program, which aimed at the design and implementation of an integrated parallel software development environment. In the context of these projects, two independent toolsets have been developed, the GRADE and EDPEPPS parallel software development environments. Our contribution to these projects was in the debugging support. We have designed a debugging engine and developed a prototype, which was integrated the both toolsets (it was the only tool developed in the context of the SEPP and HPCTI projects which achieved such a result). Even after the closing of those research projects, further research work on distributed debugger has been carried on, which conducted to the re-design and re-implementation of the debugging engine. This dissertation describes the debugging engine according to its most up-to-date design and implementation stages. It also reposts some of the experimental work made with both the initial and the current implementations, and how it contributed to validate the design and implementations of the debugging engine.

}, url = {http://hdl.handle.net/10362/2314}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/fiddle-thesis.pdf}, author = {Jo{\~a}o M. Louren{\c c}o}, editor = {Cunha, Jos{\'e} C.} } @article {DBLP:journals/corr/cs-DC-0309049, title = {Control and Debugging of Distributed Programs Using Fiddle}, journal = {CoRR}, volume = {cs.DC/0309049}, year = {2003}, note = {

n/a

}, pages = {143{\textendash}157}, abstract = {

n/a

}, url = {http://arxiv.org/abs/cs.DC/0309049}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/aadebug.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C. and Vitor Moreira} } @inbook {Duarte:2004:SOD:1024677.1024681, title = {Supporting on-line distributed monitoring and debugging}, booktitle = {On-Line Monitoring Systems and Computer Tool Interoperability}, year = {2003}, note = {

n/a

}, pages = {43{\textendash}59}, publisher = {Nova Science Publishers, Inc.}, organization = {Nova Science Publishers, Inc.}, address = {Commack, NY, USA}, abstract = {

Monitoring systems have traditionally been developed with rigid objectives and functionalities, and tied to specific languages, libraries and run-time environments. There is a need for more flexible monitoring systems which can be easily adapted to distinct requirements. On-line monitoring has been considered as increasingly important for observation and control of a distributed application. In this paper we discuss monitoring interfaces and architectures which support more extensible monitoring and control services. We describe our work on the development of a distributed monitoring infrastructure, and illustrate how it eases the implementation of a complex distributed debugging architecture. We also discuss several issues concerning support for tool interoperability and illustrate how the cooperation among multiple concurrent tools can ease the task of distributed debugging.

}, keywords = {distributed debugging, environments, on-line monitoring, software engineering, tool interoperability}, isbn = {1-59033-888-X}, url = {http://portal.acm.org/citation.cfm?id=1024677.1024681}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/pdcp_0.pdf}, author = {Duarte, Vitor and Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C.} } @inbook {Cunha:2001:DDD:379741.379773, title = {The DDBG distributed debugger}, booktitle = {Parallel Program Development for Cluster Computing}, year = {2001}, note = {

n/a

}, pages = {279{\textendash}290}, publisher = {Nova Science Publishers, Inc.}, organization = {Nova Science Publishers, Inc.}, address = {Commack, NY, USA}, abstract = {

n/a

}, isbn = {1-56072-865-5}, url = {http://portal.acm.org/citation.cfm?id=379741.379773}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/cap13.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Duarte, Vitor} } @inbook {Cunha:2001:DPD:379741.379761, title = {Debugging of parallel and distributed programs}, booktitle = {Parallel Program Development for Cluster Computing}, year = {2001}, note = {

n/a

}, pages = {97{\textendash}129}, publisher = {Nova Science Publishers, Inc.}, organization = {Nova Science Publishers, Inc.}, address = {Commack, NY, USA}, abstract = {

n/a

}, isbn = {1-56072-865-5}, url = {http://portal.acm.org/citation.cfm?id=379741.379761}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/cap03.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Duarte, Vitor} } @conference {Lourenco:2001:FFD:645456.654826, title = {Fiddle: A Flexible Distributed Debugging Architecture}, booktitle = {Proceedings of the International Conference on Computational Science-Part II}, series = {{ICCS}{\textquoteright}01}, year = {2001}, note = {

n/a

}, pages = {821{\textendash}830}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {London, UK}, abstract = {

In the recent past, multiple techniques and tools have been proposed and contributed to improve the distributed debugging functionalities, in several distinct aspects, such as handling the non-determinism, allowing cyclic interactive debugging of parallel programs, and providing more user-friendly interfaces. However, most of these tools are tied to a specific programming language and provide rigid graphical user interfaces. So they cannot easily adapt to support distinct abstraction levels or user interfaces. They also don{\textquoteright}t provide adequate support for cooperation with other tools in a software engineering environment. In this paper we discuss several dimensions which may contribute to develop more flexible distributed debuggers. We describe Fiddle, a distributed debugging tool which aims at overcoming some of the above limitations.

}, isbn = {3-540-42233-1}, issn = {0302-9743}, url = {http://portal.acm.org/citation.cfm?id=645456.654826}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/lourenco001.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C.} } @article {Cunha:1999:ETI:315247.315257, title = {An experiment in tool integration: the {DDBG} parallel and distributed debugger}, journal = {J. Syst. Archit.}, volume = {45}, year = {1999}, note = {

n/a

}, month = {may}, pages = {897{\textendash}907}, publisher = {Elsevier North-Holland, Inc.}, address = {New York, NY, USA}, abstract = {

Most known teaching experiences focus on parallel computing courses only, but some teaching experiences on distributed computing courses have also been reported. In this paper we describe a course on Parallel and Distributed Processing that is taught at undergraduate level in the Computer Science degree of our University.This course presents an integrated approach concerning concurrency, parallelism, and distribution issues. It{\textquoteright}s a breadth-first course addressing a wide spectrum of abstractions: the theoretical component focus on the fundamental abstractions to model concurrent systems, including process cooperation schemes, concurrent programming models, data and control distribution, concurrency control and recovery in transactional systems, and parallel processing models; the practical component illustrates the design and implementation issues involved in selected topics such as a data and control distribution problem, a distributed transaction-based support system and a parallel algorithm.We also discuss how this approach has been contributing to prepare the student to further actions regarding research and development of concurrent, distributed, or parallel systems.

}, keywords = {debugging, monitoring, parallel programming environments}, issn = {1383-7621}, doi = {10.1016/S1383-7621(98)00024-1}, url = {http://dx.doi.org/10.1016/S1383-7621(98)00024-1}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/jsa99.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Ant{\~a}o, Tiago} } @conference {DBLP:conf/pdpta/CunhaMDLG99, title = {An Experience in Building a Parallel and Distributed Problem-Solving Environment}, booktitle = {Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA{\textquoteright}99)}, year = {1999}, note = {

n/a

}, pages = {1804{\textendash}1809}, publisher = {CSREA Press}, organization = {CSREA Press}, abstract = {

We describe our experimentation with the design and implementation of specific environments, consisting of heterogeneous computational, visualization, and control components. We illustrate the approach with the design of a problem–solving environment supporting the execution of genetic algorithms. We describe a prototype supporting parallel execution, visualization, and steering. A life cycle for the development of applications based on genetic algorithms is proposed.

}, isbn = {1-892512-15-7}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/pdpta99.pdf}, author = {Cunha, Jos{\'e} C. and Medeiros, Pedro D. and Duarte, Vitor and Louren{\c c}o, Jo{\~a}o and Gomes, Cecilia} } @conference {Cunha:1998:DPT:645562.659835, title = {The DOTPAR Project: Towards a Framework Supporting Domain Oriented Tools for Parallel and Distributed Processing}, booktitle = {Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking (HPCN{\textquoteright}98)}, series = {HPCN Europe 1998}, year = {1998}, note = {

n/a

}, pages = {952{\textendash}954}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {London, UK}, abstract = {

We discuss the problem of building domain oriented environments by a composition of heterogeneous application components and tools. We describe several individual tools that support such environments, namely a distributed monitoring and control tool (DAMS), a process-based distributed debugger (PDBG) and a heterogeneous interconnection model (PHIS). We discuss our experience with the development of a Problem Oriented Environment in the domain of genetic algorithms, obtained by a composition of heterogeneous tools and application components.

}, isbn = {3-540-64443-1}, url = {http://portal.acm.org/citation.cfm?id=645562.659835}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/dotpar98.pdf}, author = {Cunha, Jos{\'e} C. and Medeiros, Pedro D. and Jo{\~a}o M. Louren{\c c}o and Duarte, V{\'\i}tor and Vieira, Jo{\~a}o and Mosc{\~a}o, Bruno and Pereira, Daniel and Vaz, Rui} } @conference {Cunha:1998:FSP:645562.659536, title = {A Framework to Support Parallel and Distributed Debugging}, booktitle = {Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking (HPCN{\textquoteright}98)}, series = {HPCN Europe 1998}, year = {1998}, note = {

n/a

}, pages = {708{\textendash}717}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {London, UK}, abstract = {

We discuss debugging prototypes that can easily support new functionalities, depending on the requirements of high-level computational models, and allowing a coherent integration with other tools in a software engineering environment. Concerning the first aspect, we propose a framework that identifies two distinct levels of functionalities that should be supported by a parallel and distributed debugger using: a process and thread-level, and a coordination level concerning sets of processes or threads. An incremental approach is used to effectively develop prototypes that support both functionalities. Concerning the second aspect, we discuss how the interfacing with other tools has influenced the design of a process-level debugging interface (PDBG) and a distributed monitoring and control layer called (DAMS).

}, isbn = {3-540-64443-1}, url = {http://portal.acm.org/citation.cfm?id=645562.659536}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/hpcn98.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Vieira, Jo{\~a}o and Mosc{\~a}o, Bruno and Pereira, Daniel} } @article {Cunha:1998:ICP:274790.274300, title = {An Integrated Course on Parallel and Distributed Processing}, journal = {SIGCSE Bull.}, volume = {30}, year = {1998}, pages = {217{\textendash}221}, publisher = {ACM}, address = {New York, NY, USA}, abstract = {

Most known teaching experiences focus on parallel computing courses only, but some teaching experiences on distributed computing courses have also been reported. In this paper we describe a course on Parallel and Distributed Processing that is taught at undergraduate level in the Computer Science degree of our University.This course presents an integrated approach concerning concurrency, parallelism, and distribution issues. It{\textquoteright}s a breadth-first course addressing a wide spectrum of abstractions: the theoretical component focus on the fundamental abstractions to model concurrent systems, including process cooperation schemes, concurrent programming models, data and control distribution, concurrency control and recovery in transactional systems, and parallel processing models; the practical component illustrates the design and implementation issues involved in selected topics such as a data and control distribution problem, a distributed transaction-based support system and a parallel algorithm.We also discuss how this approach has been contributing to prepare the student to further actions regarding research and development of concurrent, distributed, or parallel systems.

}, issn = {0097-8418}, doi = {10.1145/274790.274300}, url = {http://doi.acm.org/10.1145/274790.274300}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/sigcse98.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o} } @conference {Lourenco:1998:PPD:281035.281056, title = {The PDBG Process-Level Debugger for Parallel and Distributed Programs}, booktitle = {Proceedings of the SIGMETRICS symposium on Parallel and Distributed Tools}, series = {{SPDT}{\textquoteright}98}, year = {1998}, pages = {154}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, abstract = {

In this paper we discuss several issues concerning the design and implementation of a debugger for parallel and distributed applications. This debugger uses a client-server approach to isolate the debugging user-interface from the debugging services, by way of a two-level structured approach: the component-level to observe and act upon individual processes; and the coordination-level to observe the interprocess relations and act upon them.

}, isbn = {1-58113-001-5}, doi = {10.1145/281035.281056}, url = {http://doi.acm.org/10.1145/281035.281056}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/spdt-asbt98.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C.} } @conference {Lourenco.Cunha-105ip-98, title = {Replaying Distributed Applications with RPVM}, booktitle = {Proceeding of the 2nd Austrian-Hungarian Workshop on Distributed and Parallel Systems (DAPSYS{\textquoteright}98)}, year = {1998}, note = {

n/a

}, publisher = {University of Vienna}, organization = {University of Vienna}, abstract = {

Parallel debugging is complex and difficult. Complex because the programmer has to deal with multiple program flows and process interactions, and difficult due to the very limited choice on effective and easy-to-use debugging tools for parallel programming. Simple and necessary features for parallel debugging are absent even from commercial debuggers, such as a record-replay feature, that allows to re-execute multiple times a parallel application assuring that during each re-execution the internal race conditions are solved in the same way they were in the first time. Some work has been done on record-replay techniques for parallel and distributed applications, but just a few have been applied to specific systems (such as PVM or MPI), and even less have produced working prototypes. In this paper we describe a method designed to work with the PVM system and how it was implemented to provide a working prototype.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.12.5057\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/dapsys98.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C.} } @conference {Lourenco.Cunha-109ip-98, title = {A Thread-Level Distributed Debugger}, booktitle = {Proceedings of the 3rd International Conference on Vector and Parallel Processing (VecPar{\textquoteright}98)}, year = {1998}, note = {

n/a

}, pages = {359{\textendash}366}, publisher = {Universidade do Porto}, organization = {Universidade do Porto}, address = {Porto, Portugal}, abstract = {

In order to address the diversity of existing parallel programming models, it is important to provide development environments that can be incrementally extended with new services. Concerning the debugging of process based models, we have previously designed and implemented a basic interface that can be accessed by other tools as well as by debugging modules associated with high-level programming languages.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.12.7983\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/vecpar98.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C.} } @conference {seihpc:1998, title = {Tool Integration Issues for Parallel and Distributed Debugging}, booktitle = {Proceedings of the 3rd SEIHPC Workshop}, year = {1998}, note = {

n/a

}, publisher = {University of Westminster}, organization = {University of Westminster}, address = {Braga, Portugal}, abstract = {

This paper describes our experience with the design and implementation of a distributed debugger for C/PVM programs within the scope of the SEPP and HPCTI Copernicus projects. These projects aimed at the development of an integrated parallel software engineering environment based on a high-level graphical parallel programming model (GRAPNEL) and a set of associated tools supporting graphical edition, compilation, simulated and real parallel execution, testing, debugging, performance monitoring, mapping, and load balancing. We discuss how the development of the debugging tool was strongly influenced by the requirements posed by other tools in the environment, namely support for high-level graphical debugging of GRAPNEL programs, and support for the integration of static and dynamic analysis tools. We describe the functionalities of the DDBG debugger and its internal architecture, and discuss its integration with two separate tools in the SEPP/HPCTI environment: the GRED graphical editor for GRAPNEL programs, and the STEPS testing tool for C/PVM programs.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.2752\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/seihpc98.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Duarte, Vitor} } @article {DBLP:journals/cai/CunhaLD98, title = {Using DDBG to Support Testing and High-level Debugging Interfaces}, journal = {Computers and Artificial Intelligence}, volume = {17}, number = {5}, year = {1998}, note = {

n/a

}, abstract = {

This paper describes our experience with the design and implementation of a distributed debugger for C/PVM programs within the scope of the SEPP and HPCTI Copernicus projects. These projects aimed at the development of an integrated parallel software engineering environment based on a high-level graphical parallel programming model (GRAPNEL) and a set of associated tools supporting graphical edition, compilation, simulated and real parallel execution, testing, debugging, performance monitoring, mapping, and load balancing. We discuss how the development of the debugging tool was strongly influenced by the requirements posed by other tools in the environment, namely support for high-level graphical debugging of GRAPNEL programs, and support for the integration of static and dynamic analysis tools. We describe the functionalities of the DDBG debugger and its internal architecture, and discuss its integration with two separate tools in the SEPP/HPCTI environment: the GRED graphical editor for GRAPNEL programs, and the STEPS testing tool for C/PVM programs.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.12.4150\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/caij98.pdf}, author = {Cunha, Jos{\'e} C. and Louren{\c c}o, Jo{\~a}o and Duarte, Vitor} } @article {Kacsuk:1997:GDD:251146.251151, title = {A graphical development and debugging environment for parallel programs}, journal = {Parallel Comput.}, volume = {22}, year = {1997}, note = {

n/a

}, pages = {1747{\textendash}1770}, publisher = {Elsevier Science Publishers B. V.}, address = {Amsterdam, The Netherlands, The Netherlands}, abstract = {

To provide high-level graphical support for PVM (Parallel Virtual Machine) based program development, a complex programming environment (GRADE) is being developed. GRADE currently provides tools to construct, execute, debug, monitor and visualise message-passing parallel programs. It offers high-level graphical programming abstraction mechanism to construct parallel applications by introducing a new graphical language called GRAPNEL. GRADE also provides the programmer with the same graphical user interface during the program design and debugging stages. A distributed debugging engine (DDBG) assists the user in debugging GRAPNEL programs on distributed memory computer architectures. Tape/PVM and PROVE support the performance monitoring and visualization of parallel programs developed in the GRADE environment.

}, keywords = {debugging, graphical programming language, parallel processing, software tools}, issn = {0167-8191}, doi = {10.1016/S0167-8191(96)00075-0}, url = {http://portal.acm.org/citation.cfm?id=251146.251151}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/par-comp97.pdf}, author = {Kacsuk, P{\'e}ter and Cunha, Jos{\'e} C. and D{\'o}zsa, G{\'a}bor and Jo{\~a}o M. Louren{\c c}o and Fadgyas, Tibor and Ant{\~a}o, Tiago} } @article {10.1109/EURMIC.1997.617289, title = {An integrated testing and debugging environment for parallel and distributed programs}, journal = {EUROMICRO Conference}, year = {1997}, pages = {291}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, abstract = {

To achieve a certain degree of confidence that a given program follows its specification, a testing phase must be included in the program development process, and also a complementary debugging phase to help locating the program{\textquoteright}s bugs. This paper presents an environment which results of the composition and integration of two basic tools: STEPS (Structural TEsting of Parallel Software), which is a testing tool, and DDBG (Distributed DeBuGger), which is a debugging tool. The two tools are presented individually as stand-alone tools, and we describe how they were combined through the use of another intermediate tool: DEIPA (Deterministic re-Execution and Interactive Program Analysis). We claim that the result achieved is a very effective testing and debugging environment.

}, issn = {1089-6503}, doi = {10.1109/EURMIC.1997.617289}, url = {http://doi.ieeecomputersociety.org/10.1109/EURMIC.1997.617289}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/euromicro97.pdf}, author = {Jo{\~a}o M. Louren{\c c}o and Cunha, Jos{\'e} C. and Krawczyk, H. and Kuzora, P. and Neyman, M. and Wiszniewski, B.} } @conference {Cun.Lou.Ant-128ip-96, title = {A Distributed Debugging Tool for a Parallel Software Engineering Environment}, booktitle = {Proceedings of the 1st European Parallel Tools Meeting (EPTM{\textquoteright}96)}, year = {1996}, month = {October}, publisher = {ONERA (French National Establishment for Aerospace Research)}, organization = {ONERA (French National Establishment for Aerospace Research)}, address = {Paris, France}, abstract = {

We discuss issues in the design and implementation of a flexible debugging tool and its integration into a parallel software engineering environment.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.9674\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/eptm96.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Ant{\~a}o, Tiago} } @conference {Cun.Lou.Ant-131ip-96, title = {A Debugging Engine for a Parallel and Distributed Environment}, booktitle = {Proceedings of the 1st Austrian-Hungarian Workshop on Distributed and Parallel Systems (DAPSYS{\textquoteright}96)}, year = {1996}, note = {

n/a

}, pages = {111{\textendash}118}, publisher = {Hungarian Academy of Sciences, KFKI}, organization = {Hungarian Academy of Sciences, KFKI}, address = {Wien, Austria}, abstract = {

This paper describes a debugging interface that has been developed for a parallel software engineering environment and that was developed on top of the PVM environment in the scope of the SEPP and HPCTI projects of the COPERNICUS Program. The main goal of this interface is to provide the basic debugging functionalities that are required by some components of that environment. We give special attention to the requirements posed by high-level tools of the environment, and to the need of providing a flexible debugging support layer that can be suitably adapted and extended. We present the system logical architecture and the interface specification of the debugging engine. We discuss its interfacing with other components of the environment, namely a graphical editor for the GRAPNEL visual parallel programming language, and a testing tool. We finally describe current work on the improvement of the debugging engine. Keywords: Debugging, monitoring, parallel processing, software tools.

}, url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.9063\&rep=rep1\&type=pdf}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/dapsys96.pdf}, author = {Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Ant{\~a}o, Tiago} } @article {Kwiatkowski:1996:TPP:1013718.237633, title = {Teaching parallel processing: development of curriculum and software tools}, journal = {SIGCUE Outlook}, volume = {24}, year = {1996}, pages = {159{\textendash}161}, publisher = {ACM}, address = {New York, NY, USA}, abstract = {

This paper presents an approach to education in Parallel and Distributed Processing undertaken in the Technical University of Gdansk and Technical University of Wroclaw. The paper gives a detailed structure of the project entitled "Teaching Parallel Processing: Development of Curriculum and Software Tools" which was started in 1994 and will be finish in 1997. Two universities from Poland: Technical University of Gdansk and Technical University of Wroclaw and two universities from EC countries: University Aut{\`o}noma of Barcelona from Spain and University Nova of Lisbon from Portugal participate in the presented project. The main aim of the project is to develop existing curricula of Computer Science specialisation and to establish specialisation concerned with parallel and distributed processing at Polish universities.

}, issn = {0163-5735}, doi = {10.1145/1013718.237633}, url = {http://doi.acm.org/10.1145/1013718.237633}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/sigcse96.pdf}, author = {Kwiatkowski, Jan and Andruszkiewicz, Marek and Luque, Emilio and Margalef, Tomas and Cunha, Jos{\'e} C. and Jo{\~a}o M. Louren{\c c}o and Krawczyk, Henryk and Szejko, Stanislaw} } @mastersthesis {jml-msc, title = {Mecanismos de Suporte {\`a} Execu{\c c}{\~a}o Concorrente de Programas em L{\'o}gica}, year = {1994}, school = {Faculdade de Ci{\^e}ncias e Tecnologia, Universidade Nova de Lisboa}, type = {MSc thesis}, abstract = {

A evolu{\c c}{\~a}o do hardware dos computadores para arquitecturas paralelas, incentivou a concep{\c c}{\~a}o de novos modelos de programa{\c c}{\~a}o e o desenvolvimento dos sistemas de suporte {\`a} execu{\c c}{\~a}o correspondentes, de forma a conseguir uma melhor explora{\c c}{\~a}o do paralelismo. A linguagem de programa{\c c}{\~a}o Prolog, pelas suas caracter{\'\i}sticas declarativas e operacionais, tem vindo a ser objecto de estudo nesta {\'a}rea, atrav{\'e}s de adapta{\c c}{\~o}es da linguagem e/ou da sua m{\'a}quina de infer{\^e}ncia. Este trabalho incide sobre os aspectos de concep{\c c}{\~a}o e implementa{\c c}{\~a}o de um modelo de um sistema de suporte {\`a} execu{\c c}{\~a}o de programas em Prolog, em arquitecturas de m{\'u}ltiplos processadores, com unidades de mem{\'o}ria fisicamente distribu{\'\i}das. O modelo prop{\~o}e extens{\~o}es a um executor de Prolog convencional, de forma a disponibilizar funcionalidades que permitam o controlo do paralelismo e da distribui{\c c}{\~a}o. Estas funcionalidades podem ser utilizadas para a implementa{\c c}{\~a}o de modelos de linguagens l{\'o}gicas concorrentes de mais alto n{\'\i}vel, ou ent{\~a}o serem utilizadas directamente para a programa{\c c}{\~a}o de sistemas distribu{\'\i}dos, em que m{\'u}ltiplos executores Prolog cooperam na resolu{\c c}{\~a}o de um golo, comunicando com base em mensagens. Para avaliar a funcionalidade do modelo proposto, concebeu-se e implementou-se um sistema de distribui{\c c}{\~a}o de golos Prolog, que permite recorrer a diversas estrat{\'e}gias para composi{\c c}{\~a}o sequencial e paralela de golos, escondendo os aspectos de gest{\~a}o expl{\'\i}cita dos recursos efectivos. A disserta{\c c}{\~a}o inclui uma discuss{\~a}o dos aspectos mais relevantes da realiza{\c c}{\~a}o do prot{\'o}tipo do modelo proposto sobre uma arquitectura baseada em Transputers.

}, url = {http://hdl.handle.net/10362/2313}, attachments = {https://docentes.fct.unl.pt/sites/default/files/joao-lourenco/files/msc-thesis94.pdf}, author = {Jo{\~a}o M. Louren{\c c}o}, editor = {Cunha, Jos{\'e} C.} }