Top Banner
Web API Fragility How Robust Is Your Mobile Application? Tiago Espinha, Andy Zaidman , Gerd Gross MobileSoft 2015, Firenze, Italy
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web API Fragility: How Robust Is Your Mobile Application?

Web API Fragility How Robust Is Your Mobile Application?

Tiago Espinha, Andy Zaidman, Gerd Gross

MobileSoft 2015, Firenze, Italy

Page 2: Web API Fragility: How Robust Is Your Mobile Application?
Page 3: Web API Fragility: How Robust Is Your Mobile Application?
Page 4: Web API Fragility: How Robust Is Your Mobile Application?

Dude, are you still on YouTube API v2?

Page 5: Web API Fragility: How Robust Is Your Mobile Application?

Dude, are you still on YouTube API v2?

Page 6: Web API Fragility: How Robust Is Your Mobile Application?

Developer decides when Web API provider decides when

Page 7: Web API Fragility: How Robust Is Your Mobile Application?
Page 8: Web API Fragility: How Robust Is Your Mobile Application?

v1

v2

Page 9: Web API Fragility: How Robust Is Your Mobile Application?

What is the damage?

Page 10: Web API Fragility: How Robust Is Your Mobile Application?

43 Android apps

Proxy server

Page 11: Web API Fragility: How Robust Is Your Mobile Application?
Page 12: Web API Fragility: How Robust Is Your Mobile Application?

Mutation operators on response message- Remove node- Add irrelevant node- Malformed response- Empty message response- Change of implicit data type- Data formatting disruption

Page 13: Web API Fragility: How Robust Is Your Mobile Application?

Mutation operators on response message- Remove node- Add irrelevant node- Malformed response- Empty message response- Change of implicit data type- Data formatting disruption

Page 14: Web API Fragility: How Robust Is Your Mobile Application?

App behaviour

• Force close• Error message (no silent fail)• Timeout (versus indefinitely loading)• No indication

Page 15: Web API Fragility: How Robust Is Your Mobile Application?

What happens?Undesirable

Page 16: Web API Fragility: How Robust Is Your Mobile Application?

• >50% apps fail silently • Most apps fairly robust(30% crash on field removal)

Recommendations• HATEAOS versioning of Web APIs• Better error reporting for users• Built-in validity checks for Web API

response• Design for change when dealing with

Web APIs