1983 Commits (e36a768d0cca8b2edf1697accf545f483eb5d111)

Author SHA1 Message Date
Sam Blackshear e43acf7130 [Infer][incremental] structural comparison of instructions, nodes, expressions
9 years ago
Sam Blackshear 1a51254b8c [Infer][stats] Getting reliable file count/LOC count by moving computation inside inferanalyze
9 years ago
Jeremy Dubreil d5fc25f28a [infer][CPP] fix C++ tests when running on Linux
9 years ago
Sam Blackshear daac9c7af7 [Infer][tests] Adding parser for stats.json, matcher for checking number of files analyzed by stats.json
9 years ago
Dulma Rodriguez e5f6df74b0 [clang] Add procdescs to cxx method. Forgotten from last commit
9 years ago
Dulma Rodriguez 3cddd0489c [clang] Use the map of pointers to find method declarations and build method signatures
9 years ago
Irene Papakonstantinou 001e6a7c8f Bump version
9 years ago
Sam Blackshear 2f25d6344c [Infer][annotations] Adding basic annotation processor for SuppressWarnings
9 years ago
Rohan Jacob-Rao 37a4709a0f Translate call instruction and construct call graph.
9 years ago
Sam Blackshear 2d31a8c4aa [Infer][incremental] Procedure-level incrementality
9 years ago
Sam Blackshear d99ddd1ede [Infer][incremental] Refactoring: use a map of files changed -> procs in file that have changed in computing clusters
9 years ago
Sam Blackshear b2398ae990 [Infer][frontend] Pass -incremental flag to the backend
9 years ago
Rohan Jacob-Rao 5e5fac5dbc Fix some indentation and a stray comment.
9 years ago
jrm 0a2571c10a [infer][java] Infer now reports errors with relative paths on Ant and Gradle projects
9 years ago
martinoluca 721cc1957c Specify to clang to use x86_64 to build models and tests for ObjectiveCxx
9 years ago
Sam Blackshear c92bfc1093 [Infer][models] Modeling Handler.postDelayed and similar to detect more Activity leaks
9 years ago
martinoluca 279f3d15e7 Make inferTest resolve all the symlinks before running tests
9 years ago
Sam Blackshear 485d5c030e [Infer][activity leaks] Turning on Activity leak reporting
9 years ago
Rohan Jacob-Rao e127255f60 Renamed some types and variables for consistency.
9 years ago
jrm 204c585abf [infer][java] revive the small example of Ant project
9 years ago
Sam Blackshear 7821266c8f [Infer][Nullables] Eliminating some false positives from Nullable checker
9 years ago
Sam Blackshear 9a062192f8 [Infer][nullables] Turning nullable field warnings back on
9 years ago
Rohan Jacob-Rao f3afc6848b Open Utils module to avoid prefixing common list functions.
9 years ago
Rohan Jacob-Rao 96d5931744 Report source file name in error log.
9 years ago
Rohan Jacob-Rao f8ed9b91f5 Fill in source line numbers in SIL instructions.
9 years ago
jrm fcc0c72ecb [infer][eradicate] add support for butterknife @Bind annotation
9 years ago
jrm c0446276a1 [eradicate] add support for the Android support v4 @NonNull annotation
9 years ago
Rohan Jacob-Rao a7da6066e5 Build maps of metadata variables.
9 years ago
Jules Villard 7e169b0471 [copyrightor] add llvm comments
9 years ago
Irene Papakonstantinou 204b2ccc53 Make facebook-clang-plugins a submodule @update-submodule: facebook-clang-plugins
9 years ago
Jules Villard a5fa6a52ee [copyrightor] change output
9 years ago
jrm 9e5cee2444 [infer][eradicate] Fix eradicate tests for field not initialized
9 years ago
jrm 2468139fb7 [infer][java] move the Gradle filelist directory definition in one place
9 years ago
Andrzej Kotulski bb59bb04b7 [CFrontend][Cleanup] Pass whole decl to CTypesDecl.do_record_declaration
9 years ago
Rohan Jacob-Rao b4f554b5f5 Parse call to debugging llvm.dbg.declare function.
9 years ago
Rohan Jacob-Rao c264f95ab3 Setting up metadata variable mappings.
9 years ago
Rohan Jacob-Rao b3b67cdf69 Add metadata types to AST.
9 years ago
Andrzej Kotulski 394a3b4c29 [CFrontend] Sizeof should have ulong type
9 years ago
jrm 7ebd48121f [infer][backend] do not catch exceptions thrown by failwith
9 years ago
Jules Villard cc70507552 [clang] unopen some modules
9 years ago
Rohan Jacob-Rao 4a55382345 Refactored grammar for metadata definitions.
9 years ago
Rohan Jacob-Rao 4bb331ad4f Parse and ignore function declarations.
9 years ago
Sam Blackshear 41c14b249a [Infer][incremental] Refactoring exe_env_from_cluster
9 years ago
Sam Blackshear b80f74c34a [Infer][incremental] Add changed field to procdesc's and code to compute if a procdesc has changed since the last run
9 years ago
Sam Blackshear 089abea3d7 [Infer][nullables] Temporarily disabling warnings on nullable fields
9 years ago
Rohan Jacob-Rao f9939786fb Add function types.
9 years ago
Rohan Jacob-Rao ded6b1d654 Fix parsing of boolean constants
9 years ago
Andrzej Kotulski a570bf5b85 [CFrontend] Replace names containing Method with ObjCMethod
9 years ago
Andrzej Kotulski 198c3c82e1 [C++ frontend] Handle calling c++ methods
9 years ago
Andrzej Kotulski 7a839984da [C++] Add cpp methods signatures and implementations
9 years ago
Jules Villard 352b8edff9 [copyrightor] turn checkCopyright into a standalone script
9 years ago
Jules Villard 85b0ef7266 [clang] Refactor of creating method signatures. First step to use the map of pointers to find method declarations.
9 years ago
Sam Blackshear ca2699842d [Infer][nullable] Fixing bad error messages when dereferencing null literal
9 years ago
Rohan Jacob-Rao f20236fcac Parse metadata nodes.
9 years ago
Rohan Jacob-Rao ef01c485da Made parser syntax consistent: list(X) -> X* and option(X) -> X?.
9 years ago
Rohan Jacob-Rao 353f442efb Parse debug annotations and add them to AST.
9 years ago
Rohan Jacob-Rao 026ca7176e Parse data layout and target triple.
9 years ago
Rohan Jacob-Rao 06f6e349c7 Replace null_deref.ll with annotated version generated using -g flag.
9 years ago
Andrzej Kotulski be0e3c417a Update fcp version
9 years ago
martinoluca 31e7a14344 Don't pass -lib args to InferPrint
9 years ago
Rohan Jacob-Rao 950b6f4aa4 Added dumb parsing of metadata.
9 years ago
Sam Blackshear 44dfcf4a4d [Infer][nullables] Fix bad "indirectly marked" error messages
9 years ago
Rohan Jacob-Rao 3c0e698671 Moved LLVM examples and added licence headers.
9 years ago
Rohan Jacob-Rao b8b62cbcb0 Add optional alignment argument to alloca, load and store rules.
9 years ago
Rohan Jacob-Rao 07d1f8b821 Properly add local variable declarations to procedure.
9 years ago
Andrzej Kotulski 1d6873f471 [C++] Handle simple new cases
9 years ago
Andrzej Kotulski 3b22adfc15 [C Frontend][Refactor] Remove code duplication on debug messages
9 years ago
Rohan Jacob-Rao e1d071fb1f Fix error in parsing int constants.
9 years ago
Rohan Jacob-Rao 66aecca31f Allow for attribute groups in function definitions.
9 years ago
Rohan Jacob-Rao 8fbe358b34 Add tiny C example of null pointer error.
9 years ago
Rohan Jacob-Rao e9f1f03aa0 Added empty AST node for binops, to prevent build warnings.
9 years ago
Rohan Jacob-Rao 264a46f80c Initial attempt to translate alloca instruction.
9 years ago
Jules Villard 8f03d67932 [clang] uglify json when not in frontend debug mode
9 years ago
Rohan Jacob-Rao 6dc20cd4e6 Add "unnamed" (i.e. numbered) variables to syntax.
9 years ago
jrm 2dc796542a [infer][java] the detection of a resource leak should not prevent the symbolic execution to proceed
9 years ago
Rohan Jacob-Rao 9ac4b11056 Translation of load instruction.
9 years ago
Rohan Jacob-Rao a20d178e7c Translation of basic store instruction.
9 years ago
Rohan Jacob-Rao 51ebf2493e Fixed bug in parsing of variables.
9 years ago
Andrzej Kotulski 5169419216 [C frontend] Improve ObjCIvarRef/Member Exprs
9 years ago
Andrzej Kotulski 98cb3c84ac Remove code that does nothing
9 years ago
Rohan Jacob-Rao 9b8cd7d582 Generate chain of CFG nodes for instructions in a function.
9 years ago
jrm 7e00a845d8 [infer][java] stop swallowing errors coming from compilation failures
9 years ago
jrm 4b241266df [infer][java] add model for java.io.StringWriter which does not need to be closed
9 years ago
Sam Blackshear 257bdd18f1 [Infer][tests] Adding missing copyright to ActivityLeaks
9 years ago
Sam Blackshear 9cf74e0ce5 [infer][backend] basic Activity leak checking
10 years ago
Andrzej Kotulski 642e6fd33a update fcp
10 years ago
Dulma Rodriguez 732d23ce4d [clang] Add is_instance as part of the type of objc methods
10 years ago
Rohan Jacob-Rao 53125b171a Added LLVM target to top level makefile.
10 years ago
Jonathan Keljo 17fc7c93f2 Add models for many methods in javax.lang.model and com.sun.source
10 years ago
Jonathan Keljo a1c735dd84 Factor out modelTables module
10 years ago
martinoluca cfd8a55f3b Add `-lib` flag to InferPrint to read specs files from multiple places
10 years ago
Jeremy Dubreil 743c73012d [infer][java] avoid converting javac command lines from bash to python as some buck options are incorectly parsed otherwise
10 years ago
Dino Distefano 7002d0d24c Adding a test in symbolic execution when a dangling uninitialized pointer is dereferenced
10 years ago
Rohan Jacob-Rao 795742a3a2 Clean up some comments.
10 years ago
Sam Blackshear 4ad73acf9d [infer] adding is_activity method
10 years ago
Sam Blackshear 66ef0ec0b9 [infer][reporting] Adding boilerplate for reporting Activity leaks
10 years ago
Sam Blackshear 2f7c957008 [Infer] resolving TODO's by using java_is_static
10 years ago
Andrzej Kotulski 7409d48305 Update fcp to include recent changes
10 years ago
Rohan Jacob-Rao be640f9c4e Remove build warnings by commenting out unused tokens.
10 years ago
Sam Blackshear e107058bf6 [Infer] Adding warning to eliminate needless rec keywords, fixing all warnings.
10 years ago
Sam Blackshear f0c30fc166 [infer][build] Treating OCaml compiler warnings as build-blocking errors
10 years ago
Sam Blackshear 4e389cc601 [infer][frontend] catch exception from directory already existing
10 years ago
Rohan Jacob-Rao d8a2ce2417 Generate CFG and call graph files.
10 years ago
jrm d7db177b84 [infer][backend] minor refactoring of the code to report leaks
10 years ago
Sam Blackshear 60000be43b [infer][backend] refactoring code for getting reachable hpred's/pure atoms from a prop
10 years ago
Jules Villard bae8a4dced [whitespace] indent .ml files as well
10 years ago
Jules Villard 6911a1516c [whitespace] ocp-indent the code
10 years ago
Jules Villard 0368f73ce9 add ocp-indent configuration and eclipse launcher
10 years ago
Sam Blackshear d7bb75ad5d [infer][backend] eliminating duplicate declaration of ExpSet module
10 years ago
Jules Villard ca613a77ff [copyrightor] format start and end of copyright comments
10 years ago
Dulma Rodriguez d7655a087e [clang] Adding getters and setters for all the methods
10 years ago
Dulma Rodriguez c9f07e31e3 [clang] Reimplement removing nodes from procdesc in a more efficient way
10 years ago
Andrzej Kotulski 35400dd4f6 Rename Procname.from_string
10 years ago
Sam Blackshear f1daf147b3 [infer][backend] Pruning pure predicates with unreachable vals in order to eliminate PRECONDITION_NOT_FOUND errors.
10 years ago
Andrzej Kotulski 687f4958c8 Change procname types for objc/c functions
10 years ago
Dino Distefano 35b7011f81 Treating blocks iterators for NSArray
10 years ago
Sam Blackshear 14c41278e6 [Infer] Better error message for warnings based on @Nullable
10 years ago
Rohan Jacob-Rao 0946c9e460 Start of SIL generation from AST.
10 years ago
Jules Villard f07c7f9093 [infer] handle sentinel arguments in symb exec
10 years ago
Jules Villard 768a850c58 [infer][clang] fix model of sockets
10 years ago
Andrzej Kotulski b328ee1509 [C Frontend] Always add class prefix to a field name
10 years ago
Cristiano Calcagno 1eb151a733 [back-end] make infer-out the default results directory
10 years ago
=?UTF-8?q?Deniz=20T=C3=BCrkoglu?= 2b8e8dec7f Indent json files
10 years ago
Jeremy Dubreil 902e5afa61 [infer][clang] fix name collision in the C tests
10 years ago
jrm 9b63476805 [infer][java] modeling that the resource created by ZipFile.getInputStream(ZipEntry entry) is closed by ZipFile.close()
10 years ago
Cristiano Calcagno 3e199467f4 Complete copyright messages.
10 years ago
Jules Villard 9ad32bbbf0 gitignore wibble
10 years ago
Deniz Türkoglu f6cb99fc55 [java] Add TextUtils.isEmpty model
10 years ago
Cristiano Calcagno df04749cd0 Add module to fix copyright messages.
10 years ago
jrm d6fc0d4cac [infer][java] update the installation process to use javalib 2.3.1 and sawja 1.5.1
10 years ago
jrm 392cd0dee0 [infer][java] fix model of InputStreamReader to take into account charset given in lowercase
10 years ago
jrm ef27abcc8f [infer][tracing] disabling non working tests for ArrayIndexOutOfBoundsException
10 years ago
Andrzej Kotulski 2d087b7142 [C Frontend] Get support for map pointer -> decl from fcp
10 years ago
Jules Villard 72c4354395 [clang] propagate parameters of sentinel attr to the backend
10 years ago
Dulma Rodriguez b79028af32 [clang] Remove call to create_local_procdesc and create it only when it's called.
10 years ago
=?UTF-8?q?Deniz=20T=C3=BCrkoglu?= 092e447ce3 Handle java sources from a file
10 years ago
Rohan Jacob-Rao fc0ca6b6db Initial LLVM parser.
10 years ago
Cristiano Calcagno 6bde9bda88 [Bucketing] Improve error bucketing by using constant propagation when detecting direct null assignments.
10 years ago
jrm 1356fd331f [infer][clang] test reporting of assertion failures
10 years ago
Jules Villard 5912e607ff [inferTraceBugs] fix selected/displayed bug mismatch
10 years ago
Cristiano Calcagno a94fab55e8 [Eradicate] Fix issue where direct throw instructions were not handled like method calls that trow exceptions.
10 years ago
Andrzej Kotulski 2365e6244d Update fcp, add support for pointers to declarations
10 years ago
Andrzej Kotulski 927653e8d8 Update facebook-clang-plugin
10 years ago
Cristiano Calcagno 9c4a4a16f3 [inferconfig] don't fail during filtering if a file does not exist
10 years ago
Jules Villard c26401021c [infer] remove Sil.Avariadic_function_argument
10 years ago
Jules Villard 9354b1562c [infer] more generic and correct handling of arrayWithObjects:
10 years ago
jrm 8779b80f8a [infer][tracing] add an example of inter-procedural array out of bounds error
10 years ago
jrm 4013e13cbe [infer] Moving the getter for the return variable from Cfg.Procdesc to Sil
10 years ago
jrm d808a3ee26 [infer] implements call by procedure name
10 years ago
Dulma Rodriguez 41fe321582 [clang] Adding option analyzer to InferPrint in inferiOS to avoid analysing generated files
10 years ago
jrm 393f5aad1e [infer] refactoring to isolate in a single place the need for the procedure description of the callees
10 years ago
Dulma Rodriguez 63b1d1ac1c Revert "[clang] Removing the case of flagging npes in initialisers. This causes many FPs."
10 years ago
Dulma Rodriguez 18173a7b7f [clang] Removing the case of flagging npes in initialisers. This causes many FPs.
10 years ago
Sam Blackshear ca65b2b906 [Infer][Java] Adding is_static metadata to Java procname's
10 years ago
jrm 2125bfdad9 [infer][java] prevent the closeable as resource approach to report resource leak when close() throws an exception
10 years ago
Dulma Rodriguez ea3e614cce [clang] Adding support for NSMakeCollectable and CFMakeCollectable
10 years ago
Andrzej Kotulski 9f9bc53361 [Frontend][C++] Add support for default params
10 years ago
Dulma Rodriguez d15e60ffbf [clang] Translating nonnull attributes as assertions
10 years ago
Cristiano Calcagno a87bedb5dd [Bucketing] Promote NPEs originating from a call with a null parameter to bucket b1.
10 years ago
Sam Blackshear 712d27b544 [Infer][capture] Fixing Python AttributeError in javac capture
10 years ago
jrm cc89c6f8ac [infer] non-functional refactoring when obtaining the procedure description of function calls
10 years ago
Sam Blackshear 1baaa96fcc [Infer][C frontend] Fixing double translation of builtin args
10 years ago
Jules Villard 77aaa1aa8e [inferTraceBugs] fix crash on no-longer-needed bucket removal
10 years ago
Tomoyuki Saito 82c4dc6d10 [Java] Force javac to report in the correct language
10 years ago
jrm e7d0038af3 [infer] fix OCaml formatting
10 years ago
Andrzej Kotulski 76203aa847 [Frontend][C++] Add translation for static cast
10 years ago
Jules Villard 7f72397999 bumping Infer version to 0.2.0
10 years ago
Andrzej Kotulski f99f650b07 Don't add buckets to error message by default
10 years ago
Jules Villard 34aa9c2949 [infer][java] handle int boxing in HashMap model
10 years ago
Jules Villard 904ebb0154 [infer][java] model for Integer
10 years ago
Andrzej Kotulski 819227d97d [C++][Frontend] Add translation for nullptr
10 years ago
Jules Villard 119521bd83 [infer][java] do not pass -Werror to javac
10 years ago
Dulma Rodriguez 751288e5eb [clang] Remove setjmp that is causing problems in the models in linux.
10 years ago
Sam Blackshear f6784e3796 [infer][models] Fixing InferAssume
10 years ago
Dulma Rodriguez 695c87377e [clang] Fixing the model for fgetpos so that it works in linux
10 years ago
Sam Blackshear 4feb925dd7 [Infer][Java] Prevent assertion failure in jTransStaticField
10 years ago
Dulma Rodriguez d3f20dcaca [clang] Fix translation of fast loops
10 years ago
Cristiano Calcagno bec5bafc72 [java] Upstream support for class names with $dollar (requires "opam update")
10 years ago
jrm f0026006e7 [infer][java] add working example with closeQuietly in the tests
10 years ago
jrm 11712caea9 [infer][java] add models for some common classes implementing Closeable without being resources
10 years ago
jrm c1db76f9a4 [infer][java] change the integration with buck to use the infer toplevel instead of inferJ
10 years ago
martinoluca 2cf873497f Emit InferClang command on the .sh file when running in `--frontend-stats` mode (and similar)
10 years ago
Cristiano Calcagno dd066c828c [Checkers] checker for printf format strings.
10 years ago
Dulma Rodriguez 510fc4ed25 [clang] Sorting the fields in structs and classes. Was needed in the backend and forgotten.
10 years ago
jrm 843e600bb1 [infer][java] call inferlib programmatically instead of calling inferJ from the command line
10 years ago
Cristiano Calcagno d2e2bbf6a5 [Eradicate @Nullable checker] Don't apply sub-typing checks for method definitions in the case of constructors.
10 years ago
Andrzej Kotulski 77130a185e Add basic logging to infer -- script
10 years ago
jrm 224f3116ce [infer][java] remove no longer required fields in the models for Java
10 years ago
jrm 2b7060e917 [infer][Java] Treat classes implementing Closeable as a resource unless modeled otherwise
10 years ago
jrm fda373c706 [infer][Java] Deal with empty strings '' in the classpath
10 years ago
jrm 0c6db22ae4 [infer][java] Add an example of an ant project in the repository
10 years ago
martinoluca 99125144d7 Add clang frontend arguments to the xcodebuild module
10 years ago
Andrzej Kotulski fc1b26e9cf Remove INFER_DEVELOPER env variable
10 years ago
Cristiano Calcagno fb300b9948 [Eradicate @Nullable checker] Fix missing reports of PARAMETER_NOT_NULLABLE across modules.
10 years ago
jrm 762f572506 [infer][java] attach the file attribute of Cursor to the object itself, not a field.
10 years ago
Sam Blackshear d7a4474d90 [Infer][angelic] Adding angelic abduction on actuals passed by reference
10 years ago
Jules Villard ddec46d4aa [infer] add infrastructure for function attributes in sil and clang
10 years ago
martinoluca 98ab517da0 Fix minor makefile issues
10 years ago
Cristiano Calcagno 5de68e795c Remove unused -analyzer_mode
10 years ago
Dino Distefano 9a93c2ed46 Dealing with __weak/__unsafe_unretained modifier for ivars
10 years ago
Cristiano Calcagno 92ceae3cf6 [clang frontend] Fix translation of large integer constants.
10 years ago
jrm 5e9f88eaeb [infer][Java] more consistent names for env variables
10 years ago
Andrzej Kotulski d0ea01e354 Bump infer version to 0.1.1
10 years ago
martinoluca e8b91192d9 Add @import support for Xcode projects
10 years ago
Sam Blackshear 066b132da2 [Infer][Java] Handling assert keyword by adding a special case for the $assertionsDisabled field during translation
10 years ago
Cristiano Calcagno 3a51764d4c [clang frontend] Simplify logging functions.
10 years ago
Cristiano Calcagno 10970c4f51 [clang frontend] Pre-process AST locations to make them explicit and easier to deal with. Don't dive into include files.
10 years ago
Andrzej Kotulski 9c0cc5c651 Copy args from BuckAnalyze to -- buck module
10 years ago
Dulma Rodriguez b57ac1fe49 [clang] Make the script create the absolute path rather than Ocaml. Fixes issues with symbolic links
10 years ago
jrm 6a36b9f70c [infer][Java] change the models to add the file attribute to this instead of a field
10 years ago
Chase choi d77b94c13d remove duplicated allocations
10 years ago
Dino Distefano 404444d182 Fixed models for FILE C functions.
10 years ago
jrm 827d7cb3c3 [infer][Java] add an example of try-with-resource in the tests
10 years ago
jrm 7a767fe900 [infer][Java] use the containsExactly matcher for resource leak tests
10 years ago
jrm a8a8501243 [infer][Java] fail early when no Java source can be loaded
10 years ago
Andrzej Kotulski f47166eb44 Always start scripts with python2.7
10 years ago
jrm 4526ada822 [infer][Java] temporarily catching the Invalid_argument exception raised by classname with $$ in the name
10 years ago
Andrzej Kotulski ee3f88a6c1 Remove unused SCRIPT_FOLDER variable
10 years ago
Dan Ambrisco 1d90ed49c3 Update infer to support symlinking
10 years ago
Sam Blackshear 231043f5bc [Infer][bucketing] Moving warnings on dereferences of @Nullable params from B5 -> B1,
10 years ago
jrm 2bce7c6c3d [infer][Java] rename the builtin `InferBuiltins.__infer_assume` into `InferBuiltins.assume`
10 years ago
Dulma Rodriguez 34b911c935 [clang] Fixing the tests for the models of getc.
10 years ago
Dino Distefano 3ce393f511 Fixed model for getc and fgetc
10 years ago
Jules Villard 044df14616 a simple text visualisation of error traces
10 years ago
jrm 0fc2f28cba [infer][OSS] use the name Infer instead of INFER in the scripts
10 years ago
Jules Villard 0062172651 discard git and hg errors in vcs queries
10 years ago
jrm aa7bf8e69b [infer] fix inconsistencies between the errors that are saved in the generated reports and what is saved in standard output
10 years ago
Sam Blackshear 8f9cef0320 [Infer][backend] Fixing bug in removal of abducted program variables
10 years ago
Jules Villard 4820a0b9fc add version information to InferAnalyze output
10 years ago
Jules Villard 26108302d2 [infer] report number of files analysed in the absence of *.cfg
10 years ago
Andrzej Kotulski f62005a761 Add simple check for python version
10 years ago
Sam Blackshear 93cd195aef [Infer][frontend] Removing logging from inferJ
10 years ago
Open Source Synchronization b8982270f2 initial synchronization
10 years ago