Skip to main content
  • Log in
  • Manage Cookies
Eclipse Foundation
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Blogs
  3. Wayne Beaton's blog
  4. Fun with Combinatorics

Fun with Combinatorics

Monday, October 3, 2005 - 10:10 by Wayne Beaton

I attended a talk a few days ago in which the speaker was talking about some of the challenges faced by organizations building plug-ins. He stated something to the effect of “if you have six separately deployable (i.e. not interdependent) plug-ins, then there are ‘six factorial‘ (6 x 5 x 4 x 3 x 2 x 1 = 720) different ways to deploy them”. The statement bothered me, primarily because I’m a huge nerd and mathematical genius wannabe. In fact, if you have six different plug-ins that have no interdependences and so can be deployed in any combination, you really only have at most 26 – 1 = 63 different combinations. The breakdown is pretty simple: in each combination of plug-ins, you either include or do not include each plug-in. The -1 is added because you don’t care about the combination that includes none of the plug-ins. 63 seems like a big number (and it is), but it’s nowhere near as big as 720.

Why do I care? Like I said, I’m a huge nerd. That, and implication is that testing combinations of features can be really time consuming. Even if the plug-ins you’re testing have no interdependencies, they may have common dependencies that need to be tested. Two plug-ins might, for example, manipulate the same set of resources in the workspace. These two (hypothetical) plug-ins can exist without each other, but may stomp on the shared resources when deployed together. In short, they really need to be tested together. So… for these two plug-ins, there are at most three different scenarios that need to be tested: one test to ensure that the first feature works, one to ensure that the second one works, and a final test to ensure that they work together. The fourth possible combination of the plug-ins (neither of them is deployed) isn’t all that interesting (and is tested by other folks).

Of course, a combinatorial explosion occurs as you increase the number of plug-ins (every one you add doubles the number of potentially valid combinations).

So, for a collection of n separately deployable plug-ins there are at most 2n – 1 combinations to test. Pragmatically, it is likely the case that most of these combinations can be excluded from testing by doing some dependency analysis.

Tags: 
Uncategorized
Source: 
https://waynebeaton.wordpress.com/2005/10/03/fun-with-combinatorics/
  • Wayne Beaton's blog

Eclipse Foundation Blogs

  • Wayne Beaton (821 posts)
  • Mike Milinkovich (322 posts)
  • Ivar Grimstad (256 posts)
  • Benjamin Cabé (131 posts)
  • Tanja Obradovic (61 posts)
  • Thabang Mashologu (37 posts)
  • John Kellerman (31 posts)
  • Paul Buck (22 posts)
  • Frédéric Desbiens (19 posts)
  • Brian King (19 posts)
  • Mikaël Barbero (17 posts)
  • Christopher Guindon (16 posts)
  • Gael Blondelle (14 posts)
  • Hailley Seed (10 posts)
  • Denis Roy (9 posts)
  • Hudson Kelly (8 posts)
  • Michael Plagge (4 posts)
  • Serina El Salibi (3 posts)
  • Shabnam Mayel (3 posts)
  • Shanda Giacomoni (3 posts)
  • Karla Ferrer (2 posts)
  • Jacob Harris (2 posts)
  • Clark Roundy (2 posts)
  • Sharon Corbett (1 posts)
  • Paul White (1 posts)
  • Stephanie Swart (1 posts)

Recent blog posts

  • The Jakarta EE 2021 Developer Survey is now open!
  • Hashtag Jakarta EE #169
  • JavaLand 2023
  • Organising Your Eclipse Open Source Project Team
  • Hashtag Jakarta EE #168
  • New SLSA++ Survey Reveals Real-World Developer Approaches to Software Supply Chain Security
  • Take the 2023 Jakarta EE Developer Survey
  • Hashtag Jakarta EE #167
  • Product Liability Directive: More Bad News for Open Source
  • Rodrigo Pinto: Eclipse Cloud DevTools Contributor of the Month!
More

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top