Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-14989] Code Processor: Investigate efficacy of multi-pass analysis

GitHub Issuen/a
TypeStory
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2013-08-30T19:22:18.000+0000
Affected Version/sn/a
Fix Version/s2013 Sprint 18, 2013 Sprint 18 Tooling
ComponentsCode Processor
Labelsn/a
ReporterIngo Muschenetz
AssigneeMatt Langston
Created2013-08-28T21:58:13.000+0000
Updated2014-02-04T01:09:21.000+0000

Description

To aid in increasing the accuracy of the code processor, a multi-pass mechanism could be implemented that will attempt to determine all of the functions in the project and where they are called from. This information will be fed into the final pass, which is the current implementation of the code processor. This information should help greatly in solving the following:
function a() {
	console.log('hi');
}

function b() {
	console.log('world');
}

if (platform =='iphone') {
	a();
} else {
	b();
}
which currently reports less than 100% coverage because either a or b will be unvisited. The information from the previous passes can be fed into the code processor so we can determine that b was called from the skipped block, and thus we can mark it as skipped.

Comments

  1. Bryan Hughes 2013-08-30

    Estimates of the impact this fix will have on Samples and Templates: Sample.Mapping Currently: 84.4% Estimated: 95% (there is a separate bug, TIMOB-15011 that should take care of the rest) Sample.RSS Currently: 56.7% Estimated: 99% Sample.TODO Currently: 96.4% Estimated: 96.4% (TIMOB-15012 is responsible for the remaining) Templated.HTML Currently: 91.9% Estimated: 91.9% (TIMOB-15013 is responsible for the remaining) Template.MasterDetail Currently: 55.0% Estimated: 100% Template.SingleWindow Currently: 70.8% Estimated: 100% Template.Tabbed Currently: 77.7% Estimated: 100%
  2. Bryan Hughes 2013-08-30

    Resolution: created TIMOB-15017 to address the issue.
  3. Michael Xia 2013-09-09

    Investigation ticket. Closing.

JSON Source