Top Banner
What got us here won't get us there Trends and challenges in testing tomorrow’s systems
59

ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Jan 22, 2018

Download

Software

Adam Porter
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: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

What got us here won't get us thereTrends and challenges in testing tomorrow’s systems

Page 2: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Software testing research has been tremendously successful

Page 3: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

But yesterday’s hot computing technology is today’s museum curiosity.

Page 4: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

What will tomorrow’s software systems look like?

Page 5: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

1985Graduate student at UCI

Page 6: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Researchers were laying the foundations for the entire field.

Page 7: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

ICST 2016: Daniel Liew, Alastair Donaldson and CristianCadar, Symbooglix: A Symbolic Execution Engine for

Boogie Programs

Page 8: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Cites: J. C. King, “Symbolic execution and program testing,” Communications of the Association for

Computing Machinery (CACM), vol. 19, no. 7, pp. 385–394, 1976.

Page 9: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

1995

1985

2005

2015

Exploration over

application

Research lifecycle

Laying Foundations

Page 10: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

1995Asst. Prof. at UMD

Collaborating with AT& T

Page 11: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Empirical evaluation became a standard part of research

Page 12: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

A. Avritzer and E. J. WeyukerThe Automatic Generation of Load Test Suites and the

Assessment of the Resulting SoftwareIEEE Transactions on Software Engineering, 1995

Page 13: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Cited in ICST2016: Ruoyu Gao, Zhen Ming Jack Jiang, Cornel Barna and Marin Litoiu

A Framework to Evaluate the Effectiveness of Different Load Testing Analysis Techniques

Page 14: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

1995

1985

2005

2015

Evaluating practice

Deepening theory

Demanding Data

Exploration over

application

Research lifecycle

Laying Foundations

Page 15: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

2005Assoc. Prof. at UMD

Page 16: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing takes off in industryMoore’s law makes old techniques practical

Page 17: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

“Historically, what have been called ‘testing’ and ‘model checking’ have been considered polar opposites … recently testing and model checking have been moving toward each other, testing becoming more algorithmic and using model checking as a subroutine.”

Robert Kurshan, Cadence Design SystemsISSTA 2004

Page 18: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Patrice Godefroid, Nils Klarlund, and Koushik SenDART: directed automated random testing PLDI '05

Koushik Sen, Darko Marinov, and Gul Agha. 2005. CUTE: a concolic unit testing engine for C. ESEC/FSE-13

Page 19: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

ICST2016: Abdulmajeed Alameer, Sonal Mahajan and William G. J. Halfond

Detecting and Localizing Internationalization Presentation Failures in Web Applications

Page 20: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Industry adopts

testing

Incorporating outside

research advances

Looking Outward

1995

1985

2005

2015

Evaluating practice

Deepening theory

Demanding Data

Exploration over

application

Research lifecycle

Laying Foundations

Page 21: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

2015Full Prof. at UMD

Page 22: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Basili Postdoctoral Fellowship Programhttps://www.cs.umd.edu/basili-postdoc

Page 23: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Research area specializes into multiple, focused subcommunities

Page 24: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Industry adopts

testing

Incorporating outside

research advances

Looking Outward

1995

1985

2005

2015

Significant prior work

Improvements are

more incremental

Applicability expected

Reaching for Maturity

Evaluating practice

Deepening theory

Demanding Data

Exploration over

application

Research lifecycle

Laying Foundations

Page 25: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Some reasons for field’s

success

Respecting the research

lifecycle

Demanding data

Looking outward

Reaching for Maturity

Page 26: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

A lot to be proud of!

Page 27: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

But we also need to look to the future

Page 28: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Because in technology, success doesn’t last

Page 29: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Recently became Executive DirectorMust guide organization towards the future

Page 30: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Every leader of every organization needs to do the same

Page 31: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Some major trends will change software systems and how we test them

Page 32: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Ubiquity

Page 33: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.
Page 34: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Features

• Computers and physical world merging

• Sensor rich and context aware

• Operating in, on and around humans

Page 35: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing Implications

• Physical world is a test case parameter

• Must test over continuous domains

• Many systems become safety critical

Page 36: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Complexity

Page 37: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.
Page 38: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.
Page 39: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Features

• Very large code bases

• Increasingly supported by models

–Multiple system wide properties of interest

Page 40: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing Implications

• Source code analysis can be too low level

• Integrate model-based engineering and testing throughout the lifecycle

• More model-level testing

Page 41: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Uncertainty

Page 42: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

This autonomous vehicle drove from SF to NYC

Page 43: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Features

• Intended behavior is under specified

• Decision making is autonomous

• Sensor and system limitations

• Imprecise requirements

–e.g., legal policies

Page 44: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing Implications

• Incorporating notions of uncertainty

–Test case generation

–Uncertainty injection and response

–Oracles

• Supporting / documenting regulatory compliance

Page 45: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Rapid Change

Page 46: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Some drones are designed to learn at runtime.What does it mean to test a system like this?

Page 47: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Features

• Designed for change at multiple scales

–Over the air updates

–Runtime adaption / reconfiguration

–Unconstrained learning at runtime

Page 48: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing Implications

• Greater focus on deployment time

–Runtime monitoring and verification

–Disciplined rollout and A/B testing

–Big data for telemetry streams

• Built-in test capabilities needed

–Periodic runtime audits

Page 49: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Decentralization

Page 50: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Each node represents a separate system independently managed and tested

Page 51: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

ICST2016: Teng Long, Ilchul Yoon, Adam Porter, Atif Memon and Alan Sussman

Coordinated Collaborative Testing of Shared Software Components

Page 52: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Features

• Systems of systems with distributed component ownership

• Cloud infrastructure and execution environments

• Web-scale IT technologies

Page 53: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Testing Implications

• Testing crosses ownership boundaries

• Cloud performance hard to understand and predict

• Technology semantics changing

Page 54: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.
Page 55: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Respecting the research lifecycle

Demanding data

Looking outward

Reaching for Maturity

Page 56: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Ubiquity – Testing for the physical world

Complexity –Integrating testing with models

Uncertainty – Treating uncertainty explicitly

Rapid Change – More deployment time testing

Decentralization – Make testing collaborative

Page 57: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Adam PorterProfessor: University of Maryland

Executive Director: Fraunhofer CESE

[email protected]

Page 58: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Credits

• Janus - http://i.kinja-img.com/gawker-media/image/upload/dvtgwrtxzhzhh2ztbfyc.jpg

• Win race - https://www.flickr.com/photos/68978695@N00/6152736494/• Arithmometer -

https://upload.wikimedia.org/wikipedia/commons/b/b1/Brunsvika_arithmometer.JPG

• Question marks - https://www.flickr.com/photos/87099998@N05/14713228051/• Zot on - https://www.flickr.com/photos/50854518@N05/10201180195/• Construction site - https://www.flickr.com/photos/47997385@N00/16908422032/• UMD aerial - https://www.flickr.com/photos/126497846@N03/14601582999/• Bell Labs - https://www.flickr.com/photos/21266163@N00/763433063/• Test tube - https://tanyagrove.files.wordpress.com/2011/05/test-tubes.jpg• Crash test - https://www.flickr.com/photos/54519810@N02/7920091208/• Iribe Center - http://iribe.cs.umd.edu/home• Galaxies - https://www.flickr.com/photos/24354425@N03/22492430541/

Page 59: ICST2016 Keynote - What got us here won't get us there: Trends and challenges in testing tomorrow's systems.

Credits

• Success - https://www.flickr.com/photos/zionfiction/16507837706

• Toast - https://www.flickr.com/photos/22016744@N06/23678867029/

• Penny - https://www.flickr.com/photos/26556146@N07/16254669028/in/album-72157650084451358/

• Wearables - https://www.tractica.com/newsroom/press-releases/wearable-device-shipments-to-reach-560-million-units-annually-by-2021/

• Complexity -http://41.media.tumblr.com/cf1fe0bbb5d530cc072024e7d70c16dc/tumblr_nogkpbhiSk1u51dj2o2_1280.jpg

• Connected - http://www.forbes.com/sites/salesforce/2014/08/30/5-ways-iot-marketing-smarter/

• Uncertainty - https://www.flickr.com/photos/38692570@N00/19699096321/

• Delphi - http://www.extremetech.com/wp-content/uploads/2015/04/Delphi-autonomous-driving-vehicle-parked-with-san-francisco-in-background-3-640x353.jpg

• Rapid Change - https://www.flickr.com/photos/30576334@N05/16638657367/

• Drone - https://www.flickr.com/photos/59663349@N00/23685673702/

• Decentralized - https://gigaom.com/wp-content/uploads/sites/1/2013/09/screen-shot-2013-09-03-at-2-52-20-pm.png