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

Paulo Barros

dblp:133/8187 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
0since 2021 · last 2015
0000-0003-4287-5078ORCID · corroborated

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

Software engineering, systems software and programming languages · 2 · 1 first-authorSecurity and privacy · 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
3 papers
Program analysis · 49% Software testing · 23% Empirical software engineering · 15%
Network and information security
2 papers
Systems and software security · 50% Web and mobile security · 50%

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

TopicWeightPapersLastEvidence papers
Empirical software engineering › mining software repositories › mobile app analysis
android app analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program analysis
control flow analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program analysis
security analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program analysis
static analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Systems and software security › information flow control
information flow type system
0.212014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014
Program verification › security property verification
information flow verification
0.212014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014
Software testing
configuration testing
0.212013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013
Software testing
software product line testing
0.212013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013
Web and mobile security › mobile security
android security
0.112015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Web and mobile security
mobile security
0.112015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Web and mobile security › mobile application security
app store security
0.112014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014
Program analysis
dynamic analysis
0.012013
SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems · ESEC/SIGSOFT FSE 2013

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

static analysis · 0.4reflection resolution · 0.4intent resolution · 0.4information-flow type system · 0.4declassification auditing · 0.4dynamic analysis · 0.2configuration variable monitoring · 0.2
YearPublicationVenuePosition
2015 Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T)
abstract
Implicit or indirect control flow is a transfer of control between procedures using some mechanism other than an explicit procedure call. Implicit control flow is a staple design pattern that adds flexibility to system design. However, it is challenging for a static analysis to compute or verify properties about a system that uses implicit control flow. This paper presents static analyses for two types of implicit control flow that frequently appear in Android apps: Java reflection and Android intents. Our analyses help to resolve where control flows and what data is passed. This information improves the precision of downstream analyses, which no longer need to make conservative assumptions about implicit control flow. We have implemented our techniques for Java. We enhanced an existing security analysis with a more precise treatment of reflection and intents. In a case study involving ten real-world Android apps that use both intents and reflection, the precision of the security analysis was increased on average by two orders of magnitude. The precision of two other downstream analyses was also improved.
Paulo Barros, René Just, Suzanne Millstein, Paul Vines, Werner Dietl, Marcelo d'Amorim, Michael D. Ernst
ASE1
2014 Collaborative Verification of Information Flow for a High-Assurance App Store
abstract
Current app stores distribute some malware to unsuspecting users, even though the app approval process may be costly and time-consuming. High-integrity app stores must provide stronger guarantees that their apps are not malicious. We propose a verification model for use in such app stores to guarantee that the apps are free of malicious information flows. In our model, the software vendor and the app store auditor collaborate -- each does tasks that are easy for her/him, reducing overall verification cost. The software vendor provides a behavioral specification of information flow (at a finer granularity than used by current app stores) and source code annotated with information-flow type qualifiers. A flow-sensitive, context-sensitive information-flow type system checks the information flow type qualifiers in the source code and proves that only information flows in the specification can occur at run time. The app store auditor uses the vendor-provided source code to manually verify declassifications.
Michael D. Ernst, René Just, Suzanne Millstein, Werner Dietl, Stuart Pernsteiner, Franziska Roesner, Karl Koscher, Paulo Barros, Ravi Bhoraskar, Seungyeop Han, Paul Vines, Edward XueJun Wu
CCS8
2013 SPLat: lightweight dynamic analysis for reducing combinatorics in testing configurable systems
abstract
Many programs can be configured through dynamic and/or static selection of configuration variables. A software product line (SPL), for example, specifies a family of programs where each program is defined by a unique combination of features. Systematically testing SPL programs is expensive as it can require running each test against a combinatorial number of configurations. Fortunately, a test is often independent of many configuration variables and need not be run against every combination. Configurations that are not required for a test can be pruned from execution. This paper presents SPLat, a new way to dynamically prune irrelevant configurations: the configurations to run for a test can be determined during test execution by monitoring accesses to configuration variables. SPLat achieves an optimal reduction in the number of configurations and is lightweight compared to prior work that used static analysis and heavyweight dynamic execution. Experimental results on 10 SPLs written in Java show that SPLat substantially reduces the total test execution time in many cases. Moreover, we demonstrate the scalability of SPLat by applying it to a large industrial code base written in Ruby on Rails.
Chang Hwan Peter Kim, Darko Marinov, Sarfraz Khurshid, Don S. Batory, Sabrina Souto, Paulo Barros, Marcelo d'Amorim
ESEC/SIGSOFT FSE6