MDD and the
Tautology Problem:
Discussion Notes
MoDeVVA @ MODELS 2009
October 5, 2009
Robert V. Binder
The Tautology Effect
• Transformation of model into object code
is like transformation of source code into
object code
• An antecedent and its transformation
cannot provide additional information
necessary to reveal many common faults
• White-box testing has well know limitations
• Do these apply to implementations
produced with MDD?
White Box Testing Limitations
• Cannot test missing code – can’t reveal omissions
• Cannot completely infer requirements (intent) from code
• Where do we get the oracle? (how to discern
correct/incorrect outputs?)
• Triggering of side-effects
• Platform-specific behavior/interactions
• Blind to interaction effects outside the scope of the unit
under test
• Doesn’t scale
• Doesn’t support “non-functional” testing
• Possible developer bias in test selection
Weuyker: Adequacy Axioms
• In terms of the antecedent (source code), what must an
adequate test suite exercise?
• Must at least cover every statement
– What is a statement in a model?
• Anti-extensionality
– The semantic equality of two programs is not sufficient to imply
that they should necessarily be tested the same way
• Anti-decomposition
– Although a program has been adequately tested, it does not
necessarily imply that each of its called modules has been
adequately tested.
• More …
• Elaine J. Weyuker, “The Evaluation Of Program-based
Software Test Data Adequacy Criteria,” Communications
of the ACM, v 31 n 6, June 1988.
Manna: Limits of Verification
• Verification = proof of correctness
– We can never be sure that the specifications are
correct
– No verification system can verify every correct
program
– We can never be certain that a verification system is
correct
• Zohar Manna and Richard Waldinger, “The
Logic of Computer Programming,” IEEE
Transactions on Software Engineering, v SE-4, n
3, May 1978
Some Observations
• Transforming model elements to an executable
– Fewer constraints than code expression to machine
instructions
– Many assumptions baked-in with translator
– More fault opportunities
• Many functionally equivalent implementations
possible, suggests test strategy
– M to E1 with T1, M to E2 with T2
– Run same test suite on E1 and E2
– Expect identical results for deterministic behavior
– Expect bounded results for non-deterministic behavior

More Related Content

PPT
Reporting On The Testing Process
PDF
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
PDF
4. The Software Development Process - Testing
PDF
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
PPT
1. The Software Development Process - Analysis
PPT
Testing Software Solutions
PPTX
Adopting Agile
PDF
Search-based testing of procedural programs:iterative single-target or multi-...
Reporting On The Testing Process
Agile Mumbai 2020 Conference | How to get the best ROI on Your Test Automati...
4. The Software Development Process - Testing
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
1. The Software Development Process - Analysis
Testing Software Solutions
Adopting Agile
Search-based testing of procedural programs:iterative single-target or multi-...

What's hot (20)

PPTX
Test case writing
PPTX
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
PPTX
Software testing methods
PDF
On the application of SAT solvers for Search Based Software Testing
PPTX
All you need to know about regression testing | David Tzemach
PPTX
Python: Design Patterns
PPT
Lecture 1
PPTX
Nimbuzz advanced vs novice testers
PPTX
Testability: Factors and Strategy
PPTX
Software testing fundamentals
PPTX
Measuring the Code Quality Using Software Metrics
PDF
FutureOfTesting2008
PPTX
Software Testing
PPTX
Exploratory testing
PPTX
Effective Project Execution
PPTX
Finding Defects in C#: Coverity vs. FxCop
PPTX
Regression testing
PPT
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
PPTX
The Myths and Facts Surrounding Software Testing
Test case writing
On Parameter Tuning in Search-Based Software Engineering: A Replicated Empiri...
Software testing methods
On the application of SAT solvers for Search Based Software Testing
All you need to know about regression testing | David Tzemach
Python: Design Patterns
Lecture 1
Nimbuzz advanced vs novice testers
Testability: Factors and Strategy
Software testing fundamentals
Measuring the Code Quality Using Software Metrics
FutureOfTesting2008
Software Testing
Exploratory testing
Effective Project Execution
Finding Defects in C#: Coverity vs. FxCop
Regression testing
Make the Most of Your Time: How Should the Analyst Work with Automated Tracea...
The Myths and Facts Surrounding Software Testing
Ad

Viewers also liked (17)

PDF
Discrete Structures lecture 2
PPTX
Want to know about java
PPT
Discrete mathematics
PPT
Discrete mathematics Ch2 Propositional Logic_Dr.khaled.Bakro د. خالد بكرو
PPT
Propositional logic
PPTX
Introduction to parliamentary debate
PDF
Logic (slides)
PPTX
Truth table
PPTX
Truth tables complete and p1 of short method
PPTX
Propositions - Discrete Structures
PPTX
The logic
PPT
Mathematical Logic - Part 1
PPT
Propositional logic
PPT
Lec 02 logical eq (Discrete Mathematics)
PDF
Chapter 1 Logic of Compound Statements
PPTX
Discrete Mathematics - Propositional Logic
PPTX
Propositional logic
Discrete Structures lecture 2
Want to know about java
Discrete mathematics
Discrete mathematics Ch2 Propositional Logic_Dr.khaled.Bakro د. خالد بكرو
Propositional logic
Introduction to parliamentary debate
Logic (slides)
Truth table
Truth tables complete and p1 of short method
Propositions - Discrete Structures
The logic
Mathematical Logic - Part 1
Propositional logic
Lec 02 logical eq (Discrete Mathematics)
Chapter 1 Logic of Compound Statements
Discrete Mathematics - Propositional Logic
Propositional logic
Ad

Similar to MDD and the Tautology Problem: Discussion Notes. (20)

PPT
testing
PPT
Software testing part
PPTX
Type mock isolator
PPTX
Week 14 Unit Testing.pptx
PPTX
19 Software Testing Techniques presentation file.pptx
PPTX
Software_Testing_Techniques_undergraduate.pptx
PPTX
ST UNIT-1.pptx
PPTX
An introduction to Software Testing and Test Management
PDF
What is software testing in software engineering?
PDF
What is Testing in Software Engineering?
PDF
How to Actually DO High-volume Automated Testing
PDF
Software Engineering TESTING AND MAINTENANCE
PDF
testing.pdf
PDF
IEEE 1633 Recommended Practices for Reliable Software
PPTX
Software Testing 1/5
PPT
testing strategies and tactics
PPTX
Coding, Testing, Black-box and White-box Testing.pptx
PPTX
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
PDF
Testing concepts [3] - Software Testing Techniques (CIS640)
PPTX
Software_Testing_Overview.pptx
testing
Software testing part
Type mock isolator
Week 14 Unit Testing.pptx
19 Software Testing Techniques presentation file.pptx
Software_Testing_Techniques_undergraduate.pptx
ST UNIT-1.pptx
An introduction to Software Testing and Test Management
What is software testing in software engineering?
What is Testing in Software Engineering?
How to Actually DO High-volume Automated Testing
Software Engineering TESTING AND MAINTENANCE
testing.pdf
IEEE 1633 Recommended Practices for Reliable Software
Software Testing 1/5
testing strategies and tactics
Coding, Testing, Black-box and White-box Testing.pptx
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
Testing concepts [3] - Software Testing Techniques (CIS640)
Software_Testing_Overview.pptx

More from Bob Binder (20)

PDF
How to Release Rock-solid RESTful APIs and Ice the Testing BackBlob
PDF
Lessons learned validating 60,000 pages of api documentation
PDF
Model-based Testing: Taking BDD/ATDD to the Next Level
PDF
Model-based Testing: Today And Tomorrow
PDF
Mobile App Assurance: Yesterday, Today, and Tomorrow.
PDF
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
PDF
MTS: Controllable Test Objects
PDF
Achieving Very High Reliability for Ubiquitous Information Technology
PDF
The Tester’s Dashboard: Release Decision Support
PDF
Performance Testing Mobile and Multi-Tier Applications
PDF
Testing Object-Oriented Systems: Lessons Learned
PDF
mVerify Investor Overview
PDF
Model-Based Testing: Why, What, How
PDF
Mobile Reliability Challenges
PDF
Experience with a Profile-based Automated Testing Environment
PDF
Testability: Factors and Strategy
PDF
Test Objects -- They Just Work
PDF
A Million Users in a Box: The WTS Story
PDF
ISSRE 2008 Trip Report
PDF
Software Test Patterns: Successes and Challenges
How to Release Rock-solid RESTful APIs and Ice the Testing BackBlob
Lessons learned validating 60,000 pages of api documentation
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Today And Tomorrow
Mobile App Assurance: Yesterday, Today, and Tomorrow.
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
MTS: Controllable Test Objects
Achieving Very High Reliability for Ubiquitous Information Technology
The Tester’s Dashboard: Release Decision Support
Performance Testing Mobile and Multi-Tier Applications
Testing Object-Oriented Systems: Lessons Learned
mVerify Investor Overview
Model-Based Testing: Why, What, How
Mobile Reliability Challenges
Experience with a Profile-based Automated Testing Environment
Testability: Factors and Strategy
Test Objects -- They Just Work
A Million Users in a Box: The WTS Story
ISSRE 2008 Trip Report
Software Test Patterns: Successes and Challenges

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
STKI Israel Market Study 2025 version august
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
Configure Apache Mutual Authentication
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Five Habits of High-Impact Board Members
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
NewMind AI Weekly Chronicles – August ’25 Week III
Convolutional neural network based encoder-decoder for efficient real-time ob...
A proposed approach for plagiarism detection in Myanmar Unicode text
Benefits of Physical activity for teenagers.pptx
Module 1.ppt Iot fundamentals and Architecture
Getting started with AI Agents and Multi-Agent Systems
Enhancing plagiarism detection using data pre-processing and machine learning...
Chapter 5: Probability Theory and Statistics
STKI Israel Market Study 2025 version august
Developing a website for English-speaking practice to English as a foreign la...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Configure Apache Mutual Authentication
Final SEM Unit 1 for mit wpu at pune .pptx
Build Your First AI Agent with UiPath.pptx
Consumable AI The What, Why & How for Small Teams.pdf
Improvisation in detection of pomegranate leaf disease using transfer learni...
OpenACC and Open Hackathons Monthly Highlights July 2025
Zenith AI: Advanced Artificial Intelligence
Five Habits of High-Impact Board Members
A contest of sentiment analysis: k-nearest neighbor versus neural network

MDD and the Tautology Problem: Discussion Notes.

  • 1. MDD and the Tautology Problem: Discussion Notes MoDeVVA @ MODELS 2009 October 5, 2009 Robert V. Binder
  • 2. The Tautology Effect • Transformation of model into object code is like transformation of source code into object code • An antecedent and its transformation cannot provide additional information necessary to reveal many common faults • White-box testing has well know limitations • Do these apply to implementations produced with MDD?
  • 3. White Box Testing Limitations • Cannot test missing code – can’t reveal omissions • Cannot completely infer requirements (intent) from code • Where do we get the oracle? (how to discern correct/incorrect outputs?) • Triggering of side-effects • Platform-specific behavior/interactions • Blind to interaction effects outside the scope of the unit under test • Doesn’t scale • Doesn’t support “non-functional” testing • Possible developer bias in test selection
  • 4. Weuyker: Adequacy Axioms • In terms of the antecedent (source code), what must an adequate test suite exercise? • Must at least cover every statement – What is a statement in a model? • Anti-extensionality – The semantic equality of two programs is not sufficient to imply that they should necessarily be tested the same way • Anti-decomposition – Although a program has been adequately tested, it does not necessarily imply that each of its called modules has been adequately tested. • More … • Elaine J. Weyuker, “The Evaluation Of Program-based Software Test Data Adequacy Criteria,” Communications of the ACM, v 31 n 6, June 1988.
  • 5. Manna: Limits of Verification • Verification = proof of correctness – We can never be sure that the specifications are correct – No verification system can verify every correct program – We can never be certain that a verification system is correct • Zohar Manna and Richard Waldinger, “The Logic of Computer Programming,” IEEE Transactions on Software Engineering, v SE-4, n 3, May 1978
  • 6. Some Observations • Transforming model elements to an executable – Fewer constraints than code expression to machine instructions – Many assumptions baked-in with translator – More fault opportunities • Many functionally equivalent implementations possible, suggests test strategy – M to E1 with T1, M to E2 with T2 – Run same test suite on E1 and E2 – Expect identical results for deterministic behavior – Expect bounded results for non-deterministic behavior