Network


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

Hotspot


Dive into the research topics where Gustavo Santos is active.

Publication


Featured researches published by Gustavo Santos.


conference on software maintenance and reengineering | 2014

Remodularization analysis using semantic clustering

Gustavo Santos; Marco Tulio Valente; Nicolas Anquetil

In this paper, we report an experience on using and adapting Semantic Clustering to evaluate software remodularizations. Semantic Clustering is an approach that relies on information retrieval and clustering techniques to extract sets of similar classes in a system, according to their vocabularies. We adapted Semantic Clustering to support remodularization analysis. We evaluate our adaptation using six real-world remodularizations of four software systems. We report that Semantic Clustering and conceptual metrics can be used to express and explain the intention of the architects when performing common modularization operators, such as module decomposition.


source code analysis and manipulation | 2015

Recording and replaying system specific, source code transformations

Gustavo Santos; Anne Etien; Nicolas Anquetil; Stéphane Ducasse; Marco Tulio Valente

During its lifetime, a software system is under continuous maintenance to remain useful. Maintenance can be achieved in activities such as adding new features, fixing bugs, improving the systems structure, or adapting to new APIs. In such cases, developers sometimes perform sequences of code changes in a systematic way. These sequences consist of small code changes (e.g., create a class, then extract a method to this class), which are applied to groups of related code entities (e.g., some of the methods of a class). This paper presents the design and proof-of-concept implementation of a tool called MacroRecorder. This tool records a sequence of code changes, then it allows the developer to generalize this sequence in order to apply it in other code locations. In this paper, we discuss MACRORECORDERs approach that is independent of both development and transformation tools. The evaluation is based on previous work on repetitive code changes related to rearchitecting. MacroRecorder was able to replay 92% of the examples, which consisted in up to seven code entities modified up to 66 times. The generation of a customizable, large-scale transformation operator has the potential to efficiently assist code maintenance.


international conference on software maintenance | 2015

System specific, source code transformations

Gustavo Santos; Nicolas Anquetil; Anne Etien; Stéphane Ducasse; Marco Tulio Valente

During its lifetime, a software system might undergo a major transformation effort in its structure, for example to migrate to a new architecture or bring some drastic improvements to the system. Particularly in this context, we found evidences that some sequences of code changes are made in a systematic way. These sequences are composed of small code transformations (e.g., create a class, move a method) which are repeatedly applied to groups of related entities (e.g., a class and some of its methods). A typical example consists in the systematic introduction of a Factory design pattern on the classes of a package. We define these sequences as transformation patterns. In this paper, we identify examples of transformation patterns in real world software systems and study their properties: (i) they are specific to a system; (ii) they were applied manually; (iii) they were not always applied to all the software entities which could have been transformed; (iv) they were sometimes complex; and (v) they were not always applied in one shot but over several releases. These results suggest that transformation patterns could benefit from automated support in their application. From this study, we propose as future work to develop a macro recorder, a tool with which a developer records a sequence of code transformations and then automatically applies them in other parts of the system as a customizable, large-scale transformation operator.


Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies | 2016

Phorms: Pattern Combinator Library for Pharo

Markiyan Rizun Lviv; Stéphane Ducasse; Gustavo Santos; Camille Teruel

Pattern matching is a common mechanism to provide analysis and transformation of data structures. Such an approach basically checks whether the containing elements of a data structure are constituents of a pattern, described by the developer. This paper is a step towards having seamless object-oriented pattern matching, which would be applicable to any object in Pharo. We present a pattern matching library, called Phorms, which enables users to compose patterns using the syntax of the Pharo programming language. In this library, patterns are objects and therefore can be inspected and debugged using existing Pharo tools. Our solution is extensible unlike The Rewrite Engine -- Pharos current pattern matching facilities. Moreover, by treating patterns as first class objects, our library provides more flexibility in the pattern matching process.


JAMA Neurology | 2014

Weil Syndrome: A Rare Cause of Cerebral Venous Thrombosis

Thiago Cardoso Vale; Gustavo Santos; Saulo Fernandes Saturnino; Adao Soares Antunes Neto; Frederico Figueiredo Amâncio; Marluce Aparecida Assunção Oliveira; Breno Franco Silveira Fernandes; Rodrigo Santiago Gomez; Marcus V. Andrade; Antônio Lúcio Teixeira

A50-year-oldpreviouslyhealthywomanpresentedwitha4-day history of low back pain, nausea, vomiting, diarrhea, jaundice, and fever.Shedevelopedhypoxemic respiratory insufficiencyandachest radiographshoweddiffusealveolarand interstitial infiltrates.Shewas promptly intubatedandbecamehemodynamicallyunstableanddevelopeddialytic-renal insufficiency.At this time, laboratoryworkup revealed a hemoglobin level of 6.1 mg/dL (to convert to grams per liter, multiply by 10), leukocyte count of 0.2603/μL (to convert to ×109/L,multiplyby0.001),C-reactiveprotein level of 59 000mg/L (toconvert tonanomolesper liter,multiplyby9.524),platelet count of 28×103/μL (to convert to×109/L,multiply by 1), serumurea level of 80mg/dL (to convert to millimoles per liter, multiply by 0.357), serumcreatinine level of 2.24mg/dL (to convert tomicromolesper liter,multiplyby88.4), serumpotassiumlevelof0.72mEq/L (toconvert to millimoles per liter, multiply by 1), and abnormal coagulation profile (international normalized ratio of 1.8; D-dimer level of 125 200 mg/mL [to convert to nanomoles per liter, multiply by 5.476).Apresumptivediagnosis of hemolytic-uremic syndrome led to a day of plasmapheresis, but then no schizocytes were found in the peripheral blood and results of the Coombs testwere negative. Empirical antibiotic andantiviral treatmentwere startedwith ceftriaxonesodium,clarithromycin,andoseltamivirphosphate.Herblood and urine culture findings were negative. After 4 days of intensive care unit treatment, the patient progressively recovered and became hemodynamically stable. She no longer needed daily hemodialysis and she was being ventilated in spontaneous mode without sedativedrugs.However, noawakeningoccurred.Neurological examination revealed a comatose patient with decorticated posturing after noxious stimuli, with normal brainstem functions and pupillary responses, without focal signs. Cranial computed tomographyshowed widespread cortical and deep brain hemorrhages (Figure, A and B). Brain magnetic resonance imaging and


evaluation and usability of programming languages and tools | 2016

AngularJS in the wild: a survey with 460 developers

Miguel Ramos; Marco Tulio Valente; Ricardo Terra; Gustavo Santos

To implement modern web applications, a new family of JavaScript frameworks has emerged, using the MVC pattern. Among these frameworks, the most popular one is ANGULARJS, which is supported by Google. In spite of its popularity, there is not a clear knowledge on how ANGULARJS design and features affect the development experience of Web applications. Therefore, this paper reports the results of a survey about ANGULARJS, including answers from 460 developers. Our contributions include the identification of the most appreciated features of ANGULARJS (e.g., custom interface components, dependency injection, and two-way data binding) and the most problematic aspects of the framework (e.g., performance and implementation of directives).


Clinical Lymphoma, Myeloma & Leukemia | 2017

A Cross-Sectional Study of Myelodysplastic Syndrome in a Brazilian Population

Glaciano Ribeiro; Gustavo Santos; Warlenn Silva; Gabriel R. Diniz; Fabiana Piassi; Sergio Araujo


Arquivos Brasileiros de Cirurgia Digestiva Express | 2017

“SCORE” DE ALVARADO NA AVALIAÇÃO DO PACIENTE COM SUSPEITA DE APENDICITE

Caroline Nascimento; Cassio Coelho; Carolina Vissoci; Sergio Araujo; Stenio Carvalho; Gustavo Santos


Arquivos Brasileiros de Cirurgia Digestiva Express | 2017

ABSCESSO ESPLÊNICO COMO COMPLICAÇÃO DE REOPERAÇÃO DE MEGAESÔFAGO

Carolina Vissoci; Cassio Coelho; Gustavo Santos; Andre Carvalho


II Congresso de Inovação e Metodologias de Ensino | 2016

Abordando profissões em sala de aula: um relato de experiência

Jeander Silva; Gustavo Santos; Maria José Flores

Collaboration


Dive into the Gustavo Santos's collaboration.

Top Co-Authors

Avatar

Marco Tulio Valente

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Breno Franco Silveira Fernandes

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Sergio Araujo

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Thiago Cardoso Vale

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Anne Etien

Lille University of Science and Technology

View shared research outputs
Top Co-Authors

Avatar

Adao Soares Antunes Neto

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Antônio Lúcio Teixeira

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Dalton Serey

Universidade Federal de Minas Gerais

View shared research outputs
Researchain Logo
Decentralizing Knowledge