Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-12-20 | Report spec discrepancy on mismatching lists | Stavros Aronis | |
This patch enables Dialyzer to detect cases where a function has a specification for a return type containing some list with elements different than the ones Dialyzer's own algorithm can infer e.g. a function specified to return [atom()] when actually [[atom()]] is returned. Previously Dialyzer remained silent, under normal operation, seeing that these two types have the empty list as a common element, so they were not 'completely irrelevant'. | |||
2012-11-23 | Update copyright years | Björn-Egil Dahlberg | |
2012-10-03 | Merge branch 'maint' | Henrik Nord | |
2012-09-26 | Fix a crash in race condition detection | Stavros Aronis | |
Analysis is not always able to find the variable labels and names for any kind of arguments passed to the ets module functions. | |||
2012-09-26 | Remove old untested experimental extension | Stavros Aronis | |
This extension allowed minimal detection of race conditions that were passing through behaviour API calls, but had no tests in any suite and also caused a crash in R15B02. | |||
2012-09-26 | Respect {plt_check,false} option when using dialyzer:run/1 | Stavros Aronis | |
2012-09-24 | dialyzer: Do not output warnings for unused funs | Hans Bolinder | |
Dialyzer no longer outputs warnings for unused anonymous functions ("funs"). Warnings are still output for unused functions. Funs in functions with -nowarn_unused_function attributes generated warnings for unused functions. Unused list comprehensions also generated warnings for unused funs. | |||
2012-08-31 | Update copyright years | Björn-Egil Dahlberg | |
2012-08-24 | Stop a forgotten server process | Kostis Sagonas | |
Dialyzer forgot to stop a server process before finishing its analysis. This is a concurrency error detected by Concuerror. | |||
2012-08-24 | Changes to fix warnings identified by running dialyzer -Wunmatched_returns | Kostis Sagonas | |
2012-08-21 | Fix a bug in dialyzer_dataflow | Hans Bolinder | |
2012-08-21 | Add an undocumented option [--solver [v1 | v2]] | Hans Bolinder | |
The original implementation of the type signature solver is called 'v1' and the newly introduced alternative implementation is called 'v2'. It is possible to run just the one of the solvers (in case there is a bug in for instance the v2 implementation) or both solvers ("--solver v1 --solver v2"). In the latter case an error is thrown if the outcome differ. | |||
2012-08-21 | Add an alternative implmentation of the typesignature solver | Hans 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-08 | Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maint | Lukas 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-05 | Update to work with whitespace in exec path | Lukas Larsson | |
OTP-10106 OTP-10107 | |||
2012-06-01 | Bug fixes and improvements of dialyzer_typesig | Hans 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-21 | Logfile-like statistics (enabled with --resources) | Stavros Aronis | |
2012-05-21 | Anonymous SCCtoPID ETS table | Stavros Aronis | |
2012-05-21 | Anonymous time server | Stavros Aronis | |
2012-05-21 | Regulate all kinds of running workers up to the number of schedulers | Stavros Aronis | |
2012-05-21 | Relocate start and stop of timing server | Stavros Aronis | |
2012-05-21 | Better names for callgaph ETS tables | Stavros Aronis | |
2012-05-21 | Remove needless conversion | Stavros Aronis | |
The final version of the callgraph needs not be "reduced" for more efficient copying. | |||
2012-05-21 | Fix types and specs | Stavros Aronis | |
2012-05-21 | Inline a function in dialyzer_worker | Stavros Aronis | |
2012-05-21 | Remove unused function | Stavros Aronis | |
2012-05-21 | Change --time to --statistics and include more info | Stavros Aronis | |
2012-05-21 | Better reflect side-effect based code in dialyzer_callgraph | Stavros Aronis | |
2012-05-21 | Code simplifications (tidier) | Kostis Sagonas | |
2012-05-21 | More efficient calculation of module deps and postorder | Stavros Aronis | |
2012-05-21 | Solve big SCC constraints in parallel | Stavros Aronis | |
2012-05-21 | Coordinator is no longer a separate process | Stavros Aronis | |
2012-05-21 | All spawns are now spawn_links | Stavros Aronis | |
2012-05-21 | Fix race in coordinator | Stavros Aronis | |
2012-05-21 | Typesig and dataflow analyses no longer use ticket regulation | Stavros Aronis | |
2012-05-21 | Plain concatenation for typesig not-fixpoint list | Stavros Aronis | |
2012-05-21 | Ticket-based regulation of memory consumption | Stavros Aronis | |
2012-05-21 | Infinity timeout for coordinator calls | Stavros Aronis | |
2012-05-21 | Worker PIDs are stored in an ETS table | Stavros Aronis | |
2012-05-21 | Coordinator translates functions requiring further analysis | Stavros Aronis | |
2012-05-21 | Remove data prefetching | Stavros Aronis | |
2012-05-21 | Fix specs | Stavros Aronis | |
2012-05-21 | Add read_concurrency option to some ETS tables | Stavros Aronis | |
2012-05-21 | Avoid digraph_utils:condensation and ordering in typesig | Stavros Aronis | |
2012-05-21 | Simplify behaviour checking code | Stavros Aronis | |
2012-05-21 | Add better timing labels | Stavros Aronis | |
2012-05-21 | Parallel warning generation | Stavros Aronis | |
2012-05-21 | Add --time option to Dialyzer | Stavros Aronis | |
2012-05-21 | Fix a spec in plt | Stavros Aronis | |
2012-05-21 | Keep mini plt for warnings pass | Stavros Aronis | |