SableWiki - Diff: AstMetrics

Differences between current version and predecessor to the previous major change of AstMetrics.

Other diffs: Previous Revision, Previous Author

Newer page: version 28 Last edited on March 11, 2006 9:38 pm. by mbatch
Older page: version 25 Last edited on March 5, 2006 7:47 pm. by nnaeem
@@ -1,7 +1,9 @@
 HowToGatherData 
  
 ApproachPage 
+  
+LiteratureSearch  
  
 Metrics: 
  
 * Discuss whether Blocks increase complexity!! 
@@ -9,15 +11,28 @@
 * Nesting Depth: So here the nesting depth will be the sum of the maximums of all branches. Structure based flow analysis on the AST. At each merge point add to the existing nesting depth the max depth on each of the paths. Assuming that loops only execute ONCE??? This will give us the number of conditionals that had to be checked for a path. 
  
 * Number of branches (Total paths that can be taken in the method) 
  
-* Identifiers tokenize them (Capital letters, underscores etc )...  
- Create a learner using sample java source (a dictionary maybe)  
- Compare the identifiers  
+* Identifiers: have not yet looked at complexity of non-alphas ('__' more complex than '_'
+ 
  
 * complexity measure of statements. See [http://www.cs.mcgill.ca/~mbatch/complexity_metrics.html] 
+  
+* Number of live variables at a given stmt ?  
+* average variable lifespan ?  
+* Average number of definitions that reach uses  
+  
+* Number of expressions used whose values are NOT placed in a variable  
+  
  
 **************************************************************************** 
+  
+* Nested Expression complexity - "a + b + c" versus "a + b" ----> DONE ~ExpressionComplexityMetric (reports "average expression depth")  
+  
+* Identifiers tokenize them (Capital letters, underscores etc)... -----> DONE ~IdentifiersMetric ( checks for mydict.txt in root classpath and dict.txt in /soot/toolkits/astmetrics, makes tokens of each "recognizable" word ( getASTNode becomes: (get, AST, Node) )  
+ HAVE NOT: Created a learner using sample java source  
+ Compare the identifiers  
+  
  
 * Sum of depths of all returns 
  
 * Complexity of Conditions -------> DONE ~/ConditionComplexityMetric