ECOOP 2022
Mon 6 June - Thu 7 July 2022 Berlin, Germany
Wed 8 Jun 2022 12:10 - 12:30 at Aurora Borealis 1 - Program Analysis 1 Chair(s): Karim Ali
Thu 7 Jul 2022 17:15 - 17:45 at Zoom - VCOOP 11 Chair(s): Doug Lea

Amazon Web Services (AWS) is a comprehensive and broadly adopted cloud provider. AWS SDKs provide access to AWS services through API endpoints. However, incorrect use of these APIs can lead to code defects, crashes, performance issues, and other problems. AWS best practices are a set of guidelines for correct and secure use of these APIs to access cloud services, allowing conformant clients to fully reap the benefits of cloud computing.

We present static analyses, developed in the context of a commercial service for detection of code defects and security vulnerabilities, to identify deviations from AWS best practices. We focus on applications that use the AWS SDK for Python, called Boto3. Precise static analysis of Python cloud applications requires robust type inference for inferring the types of cloud service clients. However, Boto3’s “Pythonic” APIs pose unique challenges for type resolution, as does the interprocedural style in which service clients are used. We offer a layered approach that combines multiple type-resolution and tracking strategies in a staged manner: (i) general-purpose type inference augmented by type annotations, (ii) interprocedural dataflow analysis expressed in a domain-specific language, and (iii) name-based resolution as a low-confidence fallback. Across >3,000 popular Python GitHub repos that make use of the AWS SDK, our layered type inference system achieves 85% precision and 100% recall in inferring Boto3 clients in Python client code.

Additionally, we use real-world developer feedback to assess a representative sample of eight AWS best-practice rules. These rules detect a wide range of issues including pagination, polling, and batch operations. Developers have accepted more than 85% of the recommendations made by five out of eight Python rules, and almost 83% of all recommendations.

Wed 8 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30
Program Analysis 1Expert Discussion / Hub Talks / Research Papers at Aurora Borealis 1
Chair(s): Karim Ali University of Alberta
11:00
30m
Panel
Software verification/program analysisExpert Discussion
Expert Discussion
P: Omer Tripp Amazon, P: Sebastian Erdweg JGU Mainz
11:30
20m
Talk
Partial (In)Completeness in Abstract Interpretation: Limiting the Imprecision in Program AnalysisHub Talk
Hub Talks
Marco Campion University of Verona, Mila Dalla Preda University of Verona, Roberto Giacobazzi University of Verona
Link to publication DOI
11:50
20m
Talk
Concolic Execution for WebAssemblyArtifacts Evaluated - ReusableArtifacts Evaluated - FunctionalECOOP 2022
Research Papers
Filipe Marques INESC-ID / Instituto Superior Tecnico, University of Lisbon, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal , Nuno Santos INESC-ID / Instituto Superior Tecnico, University of Lisbon, Pedro Adão IST-ULisboa and Instituto de Telecomunicações
12:10
20m
Talk
Static Analysis for AWS Best Practices in Python CodeVCOOP 2022ECOOP 2022
Research Papers
Rajdeep Mukherjee Amazon Web Services, Omer Tripp Amazon, Ben Liblit Amazon, Michael Wilson Amazon Web Services
DOI

Thu 7 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:45 - 18:15
VCOOP 11Research Papers at Zoom
Chair(s): Doug Lea State University of New York (SUNY) Oswego
16:45
30m
Talk
REST: Integrating Term Rewriting with Program VerificationArtifacts Evaluated - ReusableArtifacts Evaluated - FunctionalVCOOP 2022ECOOP 2022
Research Papers
Zachary Grannan University of British Columbia, Eva Darulova Uppsala University, Alexander J. Summers University of British Columbia, Niki Vazou IMDEA Software Institute
17:15
30m
Talk
Static Analysis for AWS Best Practices in Python CodeVCOOP 2022ECOOP 2022
Research Papers
Rajdeep Mukherjee Amazon Web Services, Omer Tripp Amazon, Ben Liblit Amazon, Michael Wilson Amazon Web Services
DOI
17:45
30m
Talk
A Deterministic Memory Allocator for Dynamic Symbolic ExecutionArtifacts Evaluated - FunctionalVCOOP 2022ECOOP 2022
Research Papers
Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London, UK