Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Pedro Martins 0001

dblp:59/2784-1 · DBLP profile ↗
← Back
16ranked-venue papers
6as first author
0since 2021 · last 2019
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 3 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Software maintenance and evolution · 41% Empirical software engineering · 41% Compilers and program optimization · 18%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.722019
Towards automating precision studies of clone detectors · ICSE 2019
DéjàVu: a map of code duplicates on GitHub · Proc. ACM Program. Lang. 2017
Software maintenance and evolution
code clone detection
0.412019
Towards automating precision studies of clone detectors · ICSE 2019
Compilers and program optimization
code duplication
0.312017
DéjàVu: a map of code duplicates on GitHub · Proc. ACM Program. Lang. 2017
Software maintenance and evolution
software ecosystems
0.312017
DéjàVu: a map of code duplicates on GitHub · Proc. ACM Program. Lang. 2017

Methods — techniques the papers use, named apart from their topics

manual validation · 0.4clone classification · 0.4corpus analysis · 0.3
YearPublicationVenuePosition
2019 Towards automating precision studies of clone detectors
abstract
Current research in clone detection suffers from poor ecosystems for evaluating precision of clone detection tools. Corpora of labeled clones are scarce and incomplete, making evaluation labor intensive and idiosyncratic, and limiting intertool comparison. Precision-assessment tools are simply lacking. We present a semiautomated approach to facilitate precision studies of clone detection tools. The approach merges automatic mechanisms of clone classification with manual validation of clone pairs. We demonstrate that the proposed automatic approach has a very high precision and it significantly reduces the number of clone pairs that need human validation during precision experiments. Moreover, we aggregate the individual effort of multiple teams into a single evolving dataset of labeled clone pairs, creating an important asset for software clone research.
Vaibhav Saini, Farima Farmahinifarahani, Yadong Lu, Di Yang 0001, Pedro Martins 0001, Hitesh Sajnani, Pierre Baldi, Cristina V. Lopes
ICSE5
2019 Memoized zipper-based attribute grammars and their higher order extension
João Paulo Fernandes, Pedro Martins 0001, Alberto Pardo, João Saraiva, Marcos Viera
Sci. Comput. Program.2
2018 50K-C: a dataset of compilable, and compiled, Java projects
abstract
We provide a repository of 50,000 compilable Java projects. Each project in this dataset comes with references to all the dependencies required to compile it, the resulting bytecode, and the scripts with which the projects were built.
Pedro Martins 0001, Rohan Achar, Cristina V. Lopes
MSR1
2017 Stack overflow in github: any snippets there?
abstract
When programmers look for how to achieve certain programming tasks, Stack Overflow is a popular destination in search engine results. Over the years, Stack Overflow has accumulated an impressive knowledge base of snippets of code that are amply documented. We are interested in studying how programmers use these snippets of code in their projects. Can we find Stack Overflow snippets in real projects? When snippets are used, is this copy literal or does it suffer adaptations? And are these adaptations specializations required by the idiosyncrasies of the target artifact, or are they motivated by specific requirements of the programmer? The large-scale study presented on this paper analyzes 909k non-fork Python projects hosted on Github, which contain 290M function definitions, and 1.9M Python snippets captured in Stack Overflow. Results are presented as quantitative analysis of block-level code cloning intra and inter Stack Overflow and GitHub, and as an analysis of programming behaviors through the qualitative analysis of our findings.
Di Yang 0001, Pedro Martins 0001, Vaibhav Saini, Cristina V. Lopes
MSR2
2017 DéjàVu: a map of code duplicates on GitHub
abstract
Previous studies have shown that there is a non-trivial amount of duplication in source code. This paper analyzes a corpus of 4.5 million non-fork projects hosted on GitHub representing over 428 million files written in Java, C++, Python, and JavaScript. We found that this corpus has a mere 85 million unique files. In other words, 70% of the code on GitHub consists of clones of previously created files. There is considerable variation between language ecosystems. JavaScript has the highest rate of file duplication, only 6% of the files are distinct. Java, on the other hand, has the least duplication, 60% of files are distinct. Lastly, a project-level analysis shows that between 9% and 31% of the projects contain at least 80% of files that can be found elsewhere. These rates of duplication have implications for systems built on open source software as well as for researchers interested in analyzing large code bases. As a concrete artifact of this study, we have created DéjàVu, a publicly available map of code duplicates in GitHub repositories.
Cristina V. Lopes, Petr Maj, Pedro Martins 0001, Vaibhav Saini, Di Yang 0001, Jakub Zitny, Hitesh Sajnani, Jan Vitek
Proc. ACM Program. Lang.3
2016 Parsing and reflective printing, bidirectionally
Zirun Zhu, Yongzhe Zhang, Hsiang-Shang Ko, Pedro Martins 0001, João Saraiva, Zhenjiang Hu 0002
SLE4
2016 Evaluating refactorings for spreadsheet models
Jácome Cunha, João Paulo Fernandes, Pedro Martins 0001, Jorge Mendes 0001, Rui Pereira, João Saraiva
J. Syst. Softw.3
2016 Embedding attribute grammars and their extensions using functional zippers
Pedro Martins 0001, João Paulo Fernandes, João Saraiva, Eric Van Wyk, Anthony M. Sloane
Sci. Comput. Program.1
2014 A Visual DSL for the Certification of Open Source Software
Tiago Carção, Pedro Martins 0001
ICCSA (5)2
2014 Refactoring Smelly Spreadsheet Models
Pedro Martins 0001, Rui Pereira
ICCSA (5)1
2014 Smelling Faults in Spreadsheets
abstract
Despite being staggeringly error prone, spreadsheets are a highly flexible programming environment that is widely used in industry. In fact, spreadsheets are widely adopted for decision making, and decisions taken upon wrong (spreadsheet-based) assumptions may have serious economical impacts on businesses, among other consequences. This paper proposes a technique to automatically pinpoint potential faults in spreadsheets. It combines a catalog of spreadsheet smells that provide a first indication of a potential fault, with a generic spectrum-based fault localization strategy in order to improve (in terms of accuracy and false positive rate) on these initial results. Our technique has been implemented in a tool which helps users detecting faults. To validate the proposed technique, we consider a well-known and well-documented catalog of faulty spreadsheets. Our experiments yield two main results: we were able to distinguish between smells that can point to faulty cells from smells and those that are not capable of doing so, and we provide a technique capable of detecting a significant number of errors: two thirds of the cells labeled as faulty are in fact (documented) errors.
Rui Abreu 0001, Jácome Cunha, João Paulo Fernandes, Pedro Martins 0001, Alexandre Perez, João Saraiva
ICSME4
2014 FaultySheet Detective: When Smells Meet Fault Localization
abstract
This paper presents a tool, dubbed Faulty Sheet Detective, for aiding in spreadsheet fault localization, which combines the detection of bad smells with a generic spectrum-based fault localization algorithm.
Rui Abreu 0001, Jácome Cunha, João Paulo Fernandes, Pedro Martins 0001, Alexandre Perez, João Saraiva
ICSME4
2014 Generating attribute grammar-based bidirectional transformations from rewrite rules
abstract
Higher order attribute grammars provide a convenient means for specifying uni-directional transformations, but they provide no direct support for bidirectional transformations. In this paper we show how rewrite rules (with non-linear right hand sides) that specify a forward/get transformation can be inverted to specify a partial backward/put transformation. These inverted rewrite rules can then be extended with additional rules based on characteristics of the source language grammar and forward transformations to create, under certain circumstances, a total backward transformation. Finally, these rules are used to generate attribute grammar specifications implementing both transformations.
Pedro Martins 0001, João Saraiva, João Paulo Fernandes, Eric Van Wyk
PEPM1
2013 A Framework for Modular and Customizable Software Analysis
Pedro Martins 0001, Nuno Ramos Carvalho, João Paulo Fernandes, José João Almeida, João Saraiva
ICCSA (2)1
2012 Program and Aspect Metrics for MATLAB
Pedro Martins 0001, Paulo Lopes, João Paulo Fernandes, João Saraiva, João M. P. Cardoso
ICCSA (4)1
2012 SmellSheet detective: A tool for detecting bad smells in spreadsheets
abstract
This tool demo paper presents SmellSheet Detective: a tool for automatically detecting bad smells in spreadsheets. We have defined a catalog of bad smells in spreadsheet data which was fully implemented in a reusable library for the manipulation of spreadsheets. This library is the building block of the SmellSheet Detective tool, that has been used to detect smells in large, real-world spreadsheets within the EUSES corpus, in order to validate and evolve our bad smells catalog.
Jácome Cunha, João Paulo Fernandes, Pedro Martins 0001, Jorge Mendes 0001, João Saraiva
VL/HCC3