Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Nuno Machado is active.

Publication


Featured researches published by Nuno Machado.


programming language design and implementation | 2015

Concurrency debugging with differential schedule projections

Nuno Machado; Brandon Lucia; Luís E. T. Rodrigues

We present Symbiosis: a concurrency debugging technique based on novel differential schedule projections (DSPs). A DSP shows the small set of memory operations and data-flows responsible for a failure, as well as a reordering of those elements that avoids the failure. To build a DSP, Symbiosis first generates a full, failing, multithreaded schedule via thread path profiling and symbolic constraint solving. Symbiosis selectively reorders events in the failing schedule to produce a non-failing, alternate schedule. A DSP reports the ordering and data-flow differences between the failing and non-failing schedules. Our evaluation on buggy real-world software and benchmarks shows that, in practical time, Symbiosis generates DSPs that both isolate the small fraction of event orders and data-flows responsible for the failure, and show which event reorderings prevent failing. In our experiments, DSPs contain 81% fewer events and 96% less data-flows than the full failure-inducing schedules. Moreover, by allowing developers to focus on only a few events, DSPs reduce the amount of time required to find a valid fix.


dependable systems and networks | 2012

Lightweight cooperative logging for fault replication in concurrent programs

Nuno Machado; Paolo Romano; Luís E. T. Rodrigues

This paper presents CoopREP, a system that provides support for fault replication of concurrent programs, based on cooperative recording and partial log combination. CoopREP employs partial recording to reduce the amount of information that a given program instance is required to store in order to support deterministic replay. This allows to substantially reduce the overhead imposed by the instrumentation of the code, but raises the problem of finding the combination of logs capable of replaying the fault. CoopREP tackles this issue by introducing several innovative statistical analysis techniques aimed at guiding the search of partial logs to be combined and used during the replay phase. CoopREP has been evaluated using both standard benchmarks for multi-threaded applications and a real-world application. The results highlight that CoopREP can successfully replay concurrency bugs involving tens of thousands of memory accesses, reducing logging overhead with respect to state of the art non-cooperative logging schemes by up to 50 times in computationally intensive applications.


hot topics in system dependability | 2013

Towards effective and efficient search-based deterministic replay

Manuel Bravo; Nuno Machado; Paolo Romano; Luís E. T. Rodrigues

Deterministic replay tools are a useful asset when it comes to pinpoint hard-to-reproduce bugs. However, no sweet spot has yet been found with respect to the trade-off between recording overhead and bug reproducibility, especially in the context of search-based deterministic replay techniques, which rely on inference mechanisms. In this paper, we argue that tracing the locking order, along with the local control-flow path affected by shared variables, allows to dramatically reduce the inference time to find a fault-inducing trace, while imposing only a slight increase in the overhead during production runs. Preliminary evaluation with a micro-benchmark and third-party benchmarks provides initial evidence that supports our claim.


acm sigplan symposium on principles and practice of parallel programming | 2016

Production-guided concurrency debugging

Nuno Machado; Brandon Lucia; Luís E. T. Rodrigues

Concurrency bugs that stem from schedule-dependent branches are hard to understand and debug, because their root causes imply not only different event orderings, but also changes in the control-flow between failing and non-failing executions. We present Cortex: a system that helps exposing and understanding concurrency bugs that result from schedule-dependent branches, without relying on information from failing executions. Cortex preemptively exposes failing executions by perturbing the order of events and control-flow behavior in non-failing schedules from production runs of a program. By leveraging this information from production runs, Cortex synthesizes executions to guide the search for failing schedules. Production-guided search helps cope with the large execution search space by targeting failing executions that are similar to observed non-failing executions. Evaluation on popular benchmarks shows that Cortex is able to expose failing schedules with only a few perturbations to non-failing executions, and takes a practical amount of time.


Revista Brasileira de Ciências Sociais | 2016

TRÊS VIVAS AO PROLETARIADO! PARA UMA CONTEXTUALIZAÇÃO DA OBRA GORZIANA DA DÉCADA DE 1960

Nuno Machado

Andre Gorz is known as one of the main authors in the contemporary debate on the crisis of the labor-based society. In Farewell to the working class, published in 1980, he fiercely criticizes traditional Marxism and its “religion of the proletariat”. However, Gorz’s earlier work, published in previous decades, has not been given proper attention. The aim of this article is to analyze in detail his thought of the 1960’s, showing that in those writings Gorz sustains theses that, in many aspects, are diametrically opposed to the ones upheld from Farewell to the working class onwards.


Software Testing, Verification & Reliability | 2018

CoopREP: Cooperative record and replay of concurrency bugs

Nuno Machado; Paolo Romano; Luís E. T. Rodrigues

This paper presents CoopREP, a system that provides support for fault replication of concurrent programs based on cooperative recording and partial log combination. CoopREP uses partial logging to reduce the amount of information that a given program instance is required to store to support deterministic replay. This allows reducing substantially the overhead imposed by the instrumentation of the code, but raises the problem of finding a combination of logs capable of replaying the fault. CoopREP tackles this issue by introducing several innovative statistical analysis techniques aimed at guiding the search of the partial logs to be combined and needed for the replay phase. CoopREP has been evaluated using both standard benchmarks for multithreaded applications and real‐world applications. The results highlight that CoopREP can successfully replay concurrency bugs involving tens of thousands of memory accesses, while reducing recording overhead with respect to state‐of‐the‐art noncooperative logging schemes by up to 13× (and by 2.4× on average).


Sociologia, Problemas e Práticas | 2018

Review: André Gorz - Une vie [Willy Gianinazzi, 2016, Paris, Editions La Découverte]

Nuno Machado

André Gorz (1923-2007) é sobejamente conhecido como um dos principais intervenientes no debate contemporâneo acerca da crise da “sociedade do trabalho”. No entanto, poucas pessoas dão a devida atenção à longa trajetória intelectual de Gorz, marcada por várias ruturas. Pode, com efeito, falar-se de vários “Gorz”: nos anos 50 foi um dos principais pensadores existencialistas, nos anos 60 foi um dos grandes impulsionadores da Nova Esquerda, nos anos 70 foi o fundador da Ecologia Política e, finalmente, a partir dos anos 80, foi um crítico acérrimo da sociedade capitalista assente no trabalho, na mercadoria e no valor económico. Para além disso, estamos perante um indivíduo sui generis, cindido numa identidade tripartida: a vida pessoal de Gérard Horst, o jornalista Michel Bosquet e o filósofo André Gorz. Naturalmente que a biografia intelectual é a tradição disciplinar mais adequada para abordar oito décadas de uma vida tão rica e diversificada. Todavia, não têm sido muitos os investigadores a aceitarem o desafio (quanto a mim) aliciante de escrutinar Gorz. Foram publicadas quatro biografias intelectuais de Gorz nos últimos 20 anos. Em três dessas obras, as principais virtudes são simultaneamente as maiores fraquezas: a concisão implica uma perda de profundidade da análise (cf. Lodziak e Tatman, 1997); a ênfase excessiva no contexto intelectual significa que, por vezes, a evolução da teoria de Gorz é difícil de acompanhar e reter (cf. Little, 2013 [1996]); a análise minuciosa dos seus três primeiros livros — de cunho existencialista — implica um tratamento mais superficial da sua obra tardia (cf. Bowring, 2000). A obra de Josué Pereira da Silva era, até agora, provavelmente o retrato mais rigoroso, equilibrado e fiel de André Gorz (cf. Silva, 2002). Esta investigação primorosa encontrou finalmente um rival à sua altura em André Gorz — Une Vie. Willy Gianinazzi teve acesso a vários arquivos — mormente ao espólio de André Gorz presente no IMEC (Institut Mémoires de l’Edition Contemporaine), situado em Caen — que albergam material inédito, onde se destacam numerosos manuscritos e a correspondência de Gorz. Ademais, é de frisar o trabalho de pesquisa notável de Gianinazzi, porquanto foi capaz de “desenterrar” dezenas de textos gorzianos em publicações de circulação bastante limitada. Gianinazzi realizou, ainda, diversas entrevistas, recolhendo testemunhos de vários amigos íntimos e pensadores que privaram com Gorz ao longo dos anos. O estudo deste manancial de informação permitiu a Gianinazzi lançar uma nova luz sobre diversos aspetos biobibliográficos da obra gorziana e, simultaneamente, realizar uma excelente contextualização social, económica e intelectual. Gianinazzi adota naturalmente uma abordagem cronológica. O livro está dividido em cinco partes. Assim, na primeira parte, o autor procede a uma análise da vida de Gorz durante as décadas de 1940 e 1950, mas, antes, estuda minuciosamente a infância e a juventude de Gorz. Gianinazzi destaca o ambiente familiar difícil,


design, automation, and test in europe | 2017

Automatic technology migration of analog IC designs using generic cell libraries

José Cachaço; Nuno Machado; Nuno Lourenço; Jorge Guilherme; e Nuno Horta

This paper addresses the problem of automatic technology migration of analog IC designs. The proposed method introduces a new level of abstraction, for EDA tools addressing analog IC design, allowing a systematic and effortless adaption of a design to a new technology. The new abstraction level is based on generic cell libraries, which includes topology and testbenches descriptions for specific circuit classes. In addition to technology independence, reusing the testbenches when adding new topologies for the already implemented circuit classes also improves design productivity. The new method is implemented and tested using a state-of-the-art multi-objective multi-constraint circuit-level optimization tool for circuit sizing, and is validated for the design and optimization of continuous-time comparators, including technology migration between two different design nodes, respectively, XFAB 350 nm technology and ATMEL 150 nm SOI technology.


Análise Social | 2016

De Marx a Illich: economia, ecologia e tecnologia na obra de André Gorz da década de 1970

Nuno Machado


ACM Transactions on Software Engineering and Methodology | 2016

Concurrency Debugging with Differential Schedule Projections

Nuno Machado; Daniel Quinta; Brandon Lucia; Luís E. T. Rodrigues

Collaboration


Dive into the Nuno Machado's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Paolo Romano

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

Brandon Lucia

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

José Cachaço

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nuno Lourenço

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

e Nuno Horta

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar

Manuel Bravo

Université catholique de Louvain

View shared research outputs
Researchain Logo
Decentralizing Knowledge