aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer
AgeCommit message (Collapse)Author
2012-08-21Add an alternative implmentation of the typesignature solverHans Bolinder
An alternative implementation of the solver in dialyzer_typesig has been introduced. It is faster than the original implementation. Note: there is code for "loop detection". Where a loop occurs, the evaluation is stopped and the current solution returned. This behaviour is consistent with how the original implementation works. There are a few known cases where the loop detection kicks in. They are due to bugs which will hopefully be fixed in a near future.
2012-06-08Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maintLukas Larsson
* lukas/otp/install_with_whitespace/OTP-10107: Update to work with space in include path Update to work with whitespace in exec path
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-06-01Bug fixes and improvements of dialyzer_typesigHans Bolinder
1. Sometimes the solver forgot that a list had entered the error state. The bug has been fixed by storing the atom 'error' in MapDict. An example where the bug occurred is io_lib_pretty:printable_bin(). The returned spec was weaker than it should have been, but the fix-point loop hid the bug (in this case). 2. lists:partition() has been substituted for lists:splitwith() in enumerate_constraints(). This fix together with 3. solves a problem with long execution times for deeply nested fun:s. An example which is now much faster is lib/compiler/test/lc_SUITE:deeply_nested/1 (included as dialyzer/test/small_SUITE_data/src/deep_lc.erl). 3. The calculation of components in enumerate_constraints() has been simplified and optimized. The important thing here is that _all_ of the simple constraints have been saturated before entering the complex part. 4. The pretty printing of constraints has been improved.
2012-05-21Logfile-like statistics (enabled with --resources)Stavros Aronis
2012-05-21Anonymous SCCtoPID ETS tableStavros Aronis
2012-05-21Anonymous time serverStavros Aronis
2012-05-21Regulate all kinds of running workers up to the number of schedulersStavros Aronis
2012-05-21Relocate start and stop of timing serverStavros Aronis
2012-05-21Better names for callgaph ETS tablesStavros Aronis
2012-05-21Remove needless conversionStavros Aronis
The final version of the callgraph needs not be "reduced" for more efficient copying.
2012-05-21Fix types and specsStavros Aronis
2012-05-21Inline a function in dialyzer_workerStavros Aronis
2012-05-21Remove unused functionStavros Aronis
2012-05-21Change --time to --statistics and include more infoStavros Aronis
2012-05-21Better reflect side-effect based code in dialyzer_callgraphStavros Aronis
2012-05-21Code simplifications (tidier)Kostis Sagonas
2012-05-21More efficient calculation of module deps and postorderStavros Aronis
2012-05-21Solve big SCC constraints in parallelStavros Aronis
2012-05-21Coordinator is no longer a separate processStavros Aronis
2012-05-21All spawns are now spawn_linksStavros Aronis
2012-05-21Fix race in coordinatorStavros Aronis
2012-05-21Typesig and dataflow analyses no longer use ticket regulationStavros Aronis
2012-05-21Plain concatenation for typesig not-fixpoint listStavros Aronis
2012-05-21Ticket-based regulation of memory consumptionStavros Aronis
2012-05-21Infinity timeout for coordinator callsStavros Aronis
2012-05-21Worker PIDs are stored in an ETS tableStavros Aronis
2012-05-21Coordinator translates functions requiring further analysisStavros Aronis
2012-05-21Remove data prefetchingStavros Aronis
2012-05-21Fix specsStavros Aronis
2012-05-21Add read_concurrency option to some ETS tablesStavros Aronis
2012-05-21Avoid digraph_utils:condensation and ordering in typesigStavros Aronis
2012-05-21Simplify behaviour checking codeStavros Aronis
2012-05-21Add better timing labelsStavros Aronis
2012-05-21Parallel warning generationStavros Aronis
2012-05-21Add --time option to DialyzerStavros Aronis
2012-05-21Fix a spec in pltStavros Aronis
2012-05-21Keep mini plt for warnings passStavros Aronis
2012-05-21Fix types and specs in DialyzerStavros Aronis
2012-05-21Parallel compilation of files under analysisStavros Aronis
2012-05-21Callgraph is ets based from the startStavros Aronis
2012-05-21Parallel dataflowStavros Aronis
2012-05-21Generalize coordinator and workerStavros Aronis
2012-05-21Prepare for parallel dataflowStavros Aronis
2012-05-21Separate race related fields of callgraphStavros Aronis
2012-05-21Remove unused race detection related codeStavros Aronis
2012-05-21Simplification in dataflowStavros Aronis
2012-05-21Refactorings in succ_typingsStavros Aronis
2012-05-21Moving code between callgraph & dataflowStavros Aronis
2012-05-21Parallel typesig analysisStavros Aronis