A site devoted mostly to everything related to Information Technology under the sun - among other things.
Showing posts with label Complexity. Show all posts
Showing posts with label Complexity. Show all posts
Tuesday, September 22, 2009
Wetware: A Computer in Every Living Cell
The premise of "Wetware: A Computer in Every Living Cell" is that systems of proteins can convey and process information at the level of a single free-living cell. These proteins act as switches or transistors, functioning as the nervous system does for multi-cellular organisms. That is that cellular membranes and contents may be functional equivalents of computers.
Wednesday, February 25, 2009
Rules of Thumb - Code Coversage Testing
Assuming that the cyclometric complexity of each method is available to to you:
- Cyclometric complexity ~ 0-2 => 0% code coverage testing is required.
- Cyclometric complexity ~ 3-5 => 20% code coverage testing is required.
- Cyclometric complexity ~ 6-10 => 42% code coverage testing is required.
- Cyclometric complexity ~ 25-30 => 57%-80% code coverage testing is required
- Cyclometric complexity > 30 => More than 100% code coverage testing is required.
Saturday, July 26, 2008
Complexity Tool for MS Excel
Ontonix is providing an online service which can transform MS Excel files and produce Risk and Complexity Maps.
Thursday, April 24, 2008
Friday, March 21, 2008
More on Cyclomatic Complexity
In a column titled "Debunking Cyclomatic Complexity" by Andrew Binstock, in the Software Development Times, we read the following:
"... cyclometric complexity does not correlate directly to defect probability.
... routines with CCNs of 1 through 25 did not follow the expected result that greater CCN correlates to greater probability of defects. Rather, it found that for CCNs of 1 through 11, the higher the CCN the lower the bug probability.
... The majority of routines written in object-oriented languages today ... have CCNs in this range. This means that for most code you write, CCN does not tell you anything useful about the likelihood of your code’s quality. (Above 25, CCN does correlate to greater bug probability.)"
"... cyclometric complexity does not correlate directly to defect probability.
... routines with CCNs of 1 through 25 did not follow the expected result that greater CCN correlates to greater probability of defects. Rather, it found that for CCNs of 1 through 11, the higher the CCN the lower the bug probability.
... The majority of routines written in object-oriented languages today ... have CCNs in this range. This means that for most code you write, CCN does not tell you anything useful about the likelihood of your code’s quality. (Above 25, CCN does correlate to greater bug probability.)"
The Architecture of the Jumping Universe
Take a look at the book "The Architecture of the Jumping Universe: A Polemic : How Complexity Science Is Changing Architecture and Culture" by Charles Jencks.
The book presents the basic ideas of the Sciences of Complexity and shows many buildings based on this new language by leading architects (such as Peter Eisenman, Frank Gehry and Daniel Libeskind) along with ecological and organic designs.
More than a decade ago, the architectural ideas of Christopher Alexander (see for example, "A Pattern Language: Towns, Buildings, Construction") greatly influenced many practitioners of Object-Oriented Design and Programming; which, in turn (at least indirectly), led to the (Software) Design Patterns movement and the now famous book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides.
The book presents the basic ideas of the Sciences of Complexity and shows many buildings based on this new language by leading architects (such as Peter Eisenman, Frank Gehry and Daniel Libeskind) along with ecological and organic designs.
More than a decade ago, the architectural ideas of Christopher Alexander (see for example, "A Pattern Language: Towns, Buildings, Construction") greatly influenced many practitioners of Object-Oriented Design and Programming; which, in turn (at least indirectly), led to the (Software) Design Patterns movement and the now famous book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides.
Sunday, February 4, 2007
On Various Measures of Complexity
Please find below a link to a document on the measurement of network complexity @ www.vcu.edu/csbc/pdfs/quantitative_measures.pdf It is a mathematical discussion of network complexity as applied to biological systems - however, its ideas can be adapted to IT systems - computer networks, workflows, etc. It is from Virginia Commonwealth University's Center of the Study of Biological Complexity (www.vcu.edu/csbc/)
Another study from the Center for Computational Analysis of Social and Organizational Systems (www.casos.cs.cmu.edu/index.html) which you can find @ www.casos.cs.cmu.edu/publications/papers/Butts.AxiomaticApproach.pdf is an axiomatic approach to the question "What is an appropriate or correct complexity metric?". The conclusion is that those metrics that satisfy a set of reasonable axioms are not useful and one has to relax some axioms to get a useful complexity metric.
I found a very interesting and useful research report at Helsinki University of Technology by Antti M Latva-Koivisto titled "Finding a complexity measure for business process models" @ users.tkk.fi/~alatvako/Kompleksisuus-erikoistyo_2001-02-13.PDF in which the author states the results of his evaluation of several complexity measures applied to process flows. This author has used Excel and VBA and his conclusions (in a table at the end of his report) are that thes most robust complexity metrics applied to process flows are cyclomatic complexity and the "Tree" complexity metrics.
Another study from the Center for Computational Analysis of Social and Organizational Systems (www.casos.cs.cmu.edu/index.html) which you can find @ www.casos.cs.cmu.edu/publications/papers/Butts.AxiomaticApproach.pdf is an axiomatic approach to the question "What is an appropriate or correct complexity metric?". The conclusion is that those metrics that satisfy a set of reasonable axioms are not useful and one has to relax some axioms to get a useful complexity metric.
I found a very interesting and useful research report at Helsinki University of Technology by Antti M Latva-Koivisto titled "Finding a complexity measure for business process models" @ users.tkk.fi/~alatvako/Kompleksisuus-erikoistyo_2001-02-13.PDF in which the author states the results of his evaluation of several complexity measures applied to process flows. This author has used Excel and VBA and his conclusions (in a table at the end of his report) are that thes most robust complexity metrics applied to process flows are cyclomatic complexity and the "Tree" complexity metrics.
Sunday, January 28, 2007
On Clausewitz & Complexity
On the www.clausewitz.com website, one finds Clausewitz's book "On War" being elucidated enthusiastically with help of non-linear mathematics and cognitive science.
There is a section that explores Clausewitz & Complexity:
http://www.clausewitz.com/CWZHOME/Complex/CWZcomplx.htm
A fascinating thing is that very recent developments in these disciplines point back to a fundamental principle in Clausewitz:
History, critically examined, may not yield general laws – but may contribute to judgement, insight, and even indeed wisdom.
There is a section that explores Clausewitz & Complexity:
http://www.clausewitz.com/CWZHOME/Complex/CWZcomplx.htm
A fascinating thing is that very recent developments in these disciplines point back to a fundamental principle in Clausewitz:
History, critically examined, may not yield general laws – but may contribute to judgement, insight, and even indeed wisdom.
Subscribe to:
Posts (Atom)
Useful Links
Topics
- 3-D Printing (16)
- AI (449)
- Art (112)
- Article (160)
- books (104)
- Business Intelligence (18)
- Careers (104)
- Cloud Computing (22)
- Cognition (14)
- Complexity (8)
- Computer Science (22)
- COVID-19 (1)
- Cyber-security (102)
- Data Analysis (41)
- Data Management (21)
- Data Visualization (31)
- Design Thinking (1)
- Embedded Tools (34)
- Gadgets (77)
- Games (33)
- Google (9)
- Hardware (47)
- High Performance Computing (33)
- History of Mathematics (1)
- Humor (82)
- Inetrview (6)
- Intelligent Transportation (18)
- Interview (2)
- IoT (15)
- IT as Metaphor (2)
- Magazine Subscription (8)
- Mathematics Tools (6)
- Microsoft Platforms (25)
- Microsoft Tools (66)
- Mobile Computing (3)
- Motto (3)
- Network Tools (12)
- News (266)
- Offshoring (6)
- Open-Source Sofware (9)
- Outsourcing (1)
- Philosophy (8)
- picture (1)
- Pictures (151)
- PLM (5)
- Programming Languages (78)
- Quantum Computing (5)
- Report (6)
- Reports (56)
- RFID (3)
- Robots (149)
- Science (79)
- Scientific Computing (18)
- Search Tools (7)
- Semantic Networks (11)
- Simulations (36)
- Social Computing (28)
- Software Architecture (28)
- Software Development (167)
- Software Testing (5)
- Software Tools (275)
- Some Thoughts (85)
- Speech (6)
- Standards - Telematics (9)
- Transportation (14)
- Video (11)
- Visualization (10)
- Web Site (240)
- Web Site for Science (57)
About Me
- Babak Makkinejad
- I had been a senior software developer working for HP and GM. I am interested in intelligent and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.
Blog Archive
- September (23)
- August (24)
- July (13)
- June (22)
- May (11)
- April (20)
- March (5)
- February (5)
- January (21)
- December (18)
- November (13)
- October (12)
- September (3)
- August (10)
- July (8)
- June (15)
- May (15)
- April (9)
- March (17)
- February (22)
- January (45)
- December (19)
- November (11)
- October (10)
- September (7)
- August (11)
- July (6)
- June (11)
- May (12)
- April (7)
- March (5)
- February (1)
- January (3)
- December (1)
- October (2)
- September (4)
- August (1)
- July (3)
- June (2)
- April (2)
- March (2)
- February (2)
- January (10)
- December (1)
- October (1)
- September (1)
- August (4)
- June (1)
- April (6)
- March (2)
- February (4)
- January (3)
- December (1)
- October (1)
- June (3)
- April (1)
- March (1)
- February (1)
- January (6)
- December (8)
- November (3)
- October (5)
- September (2)
- August (3)
- July (6)
- June (2)
- May (7)
- April (19)
- March (22)
- February (6)
- January (5)
- December (4)
- November (4)
- October (9)
- September (3)
- August (7)
- July (3)
- June (2)
- May (6)
- April (4)
- March (8)
- February (5)
- January (18)
- December (6)
- November (10)
- October (6)
- September (7)
- August (2)
- July (4)
- June (5)
- May (8)
- April (5)
- March (9)
- February (3)
- January (7)
- December (2)
- November (1)
- October (3)
- September (5)
- August (10)
- July (8)
- May (5)
- April (8)
- March (9)
- February (6)
- January (11)
- November (6)
- October (9)
- September (5)
- August (13)
- July (9)
- June (9)
- May (8)
- April (4)
- March (2)
- February (8)
- January (9)
- December (3)
- November (7)
- October (9)
- September (7)
- August (4)
- July (2)
- June (4)
- May (7)
- March (4)
- February (2)
- January (1)
- December (2)
- November (1)
- October (6)
- September (1)
- August (1)
- July (4)
- June (1)
- April (1)
- March (1)
- February (1)
- January (2)
- December (5)
- October (4)
- August (2)
- July (3)
- June (8)
- May (7)
- April (5)
- March (9)
- February (3)
- January (7)
- December (4)
- October (7)
- September (5)
- August (5)
- July (8)
- June (6)
- May (9)
- April (5)
- March (4)
- February (5)
- January (6)
- December (12)
- November (7)
- October (5)
- September (4)
- August (19)
- July (12)
- June (4)
- May (8)
- April (5)
- March (15)
- February (5)
- January (9)
- December (14)
- November (6)
- October (12)
- September (2)
- August (10)
- July (8)
- June (8)
- May (11)
- April (10)
- March (10)
- February (9)
- January (20)
- December (16)
- November (9)
- October (25)
- September (24)
- August (12)
- July (18)
- June (20)
- May (13)
- April (29)
- March (26)
- February (14)
- January (17)
- December (17)
- November (9)
- October (32)
- September (27)
- August (27)
- July (11)
- June (22)
- May (25)
- April (33)
- March (33)
- February (28)
- January (38)
- December (12)
- November (39)
- October (28)
- September (29)
- August (29)
- July (18)
- June (27)
- May (17)
- April (23)
- March (40)
- February (31)
- January (6)