|
| ||||
|---|---|---|---|---|---|
| 2007-02-12 | Posted By: Venkatesh Prasad Ranganath Version 0.8.3.6: first open-source release of Indus is out!! Hi, A new version (0.8.3.6) of Indus containing bug fixes (thanks to various reporters) and some optimizations is now available for download. The major change in this release is that Indus core libraries have been finally open sourced. After some delay, this decision was taken after various requests and increased interest in using, extending, and possibly learning from Indus. The sources are provided under Eclipse Public License 1.0. As part of this change, the source for Kaveri is now provided under EPL (instead of the previous KSU Academic Source License). The source for the core libraries are available under the package titled "Source_bundles" on the download page. Although Indus has served its initial personal purpose (i.e. serve as a platform for my dissertation), I will continue to act as the Indus project lead and continue to assist its users and contributors/developers. As always, I am interested in hearing about user experiences (to address bad ones and to sustain good ones), enhancement/feature requests, and bug reports. As the open sourcing eases the possibility for external contributions to Indus, I am interested in hearing about and collaborating (both development and publications) within both academia and industry on possible ideas/contributions to extend/alter/apply Indus. I have had a fun, exciting, and enriching time initiating and developing Indus. I hope the same will be true for users and prospective contributors/developers. Hoping that the open sourcing of Indus will benefit the community, - Venkatesh Prasad Ranganath |
||||
| 2006-11-01 | Posted By: Venkatesh Prasad Ranganath Version 0.8.3.5 is out!!! Hi, This version of Indus Java Slicer module contains a feature that enables users to generate Java source file line number based slice criteria from the command line (via the new -l option). The documentation and the examples bunble for this new version will be out shortly. As always, I hope you will find the new feature useful and that you will send in your questions and suggestions. - Venkatesh Prasad Ranganath |
||||
| 2006-10-09 | Posted By: Venkatesh Prasad Ranganath New releases, slides, and more!! Hi, I am happy to announce a subtle and crucial bugfix release of staticanalyses module. The fix has been propagated to Indus eclipse plugin as well. Also, the groovy scripts have been updated. All of these are available as version 0.8.3.4. Also, recently John Hatcliff gave an keynote talk about Indus at SCAM06. The slides from this talk is available at http://projects.cis.ksu.edu/docman/view.php/12/143/SCAM06-Indus-Keynote.pdf I hope you will find these artifacts useful, - Venkatesh Prasad Ranganath |
||||
| 2006-10-09 | Posted By: Venkatesh Prasad Ranganath The source for Kaveri has been released!!! Hi, I am happy to announce the first source release of Kaveri is released. As a first step to enable interested users to extend and/or better understand Kaveri, the source for Kaveri is available for the first time under a restrictive license. We are working on relaxing the license in future versions. Also, given the available resources, the source is not in the greatest of shape. Hence, any contributions that improve the code either in terms of logic, formatting, integration, features, or any other aspects are more than welcome. If you plan to do such contributions, then please contact me (Venkatesh Prasad Ranganath) and I will do the needful to enable the smooth and collective development of Kaveri. Please note that such contributions can catalyze the open sourcing of Kaveri. I urge the contributors and users alike to use the forums to post questions, suggestions, and concerns about the available source code and/or contributions to the source base. I hope you will find the source useful, - VPR |
||||
| 2006-09-10 | Posted By: Venkatesh Prasad Ranganath GroovyMonkey based scripts are available!! I am happy to announce the first batch of GroovyMonkey based scripts that access, process, and display information from Indus within Eclipse. With the new support, the user can exercise the logic in Kaveri plugin to execute the Indus program analyses by merely clicking buttons and then write lightweight scripts to access analysis data via well defined interfaces. This allows new users and educational users to focus on understanding the analysis data in various example settings (programs). Experienced users can easily experiment with new ideas by combining and/or processing analysis data. To use these scripts, you will need to install GroovyMonkey plugin. Please refer to the http://groovy.codehaus.org/Groovy+Monkey for details about GroovyMonkey. In contrast with the usual Indus release policy, the scripts are released in source form under Mozilla Public License. So, users should be able to customize the scripts to their needs. So, if you do so, then please consider contributing the customization back to Indus as 1) we would like to maintain a common public repository of scripts dealing with accessing and processing data obtained from static analyses. 2) it would help other users. This release marks the first step in open-sourcing Indus. So, please feel free to provide your inputs. As a closing note, the scripts were written against Eclipse 3.1.2 interfaces. So, if any user rewrites them to work against Eclispe 3.2 interfaces, then please do submit your rewrite as a contribution back into Indus. I hope you will find the scripts useful, - Venkatesh Prasad Ranganath |
||||
| 2006-09-08 | Posted By: Venkatesh Prasad Ranganath Version 0.8.3 of Indus/Kaveri is out!!! I am happy to inform that version 0.8.3 of Indus/Kaveri is available for public consumption. For most part, this is a minor update with bug fixes and versioning stabilization except for Kaveri. In Kaveri, we have introduced support that will enable scripts to access the data calculated by various analyses in Indus under the hoods of Kaveri. By using GroovyMonkey, users can write scripts in groovy, python, etc that can access analysis data, display them in ways appropriate to users needs, and possibly process the data if needed. Eight Groovy scripts that illustrate how to use this feature will be made available in source form shortly before the next minor release (0.8.3.1). This will be accompanied by a short documentation about the plugin interface that is exposed to the scripts. The next minor release of Kaveri will expand the existing plugin interface that is exposed to the scripts. I hope you find the new release useful, - Venkatesh Prasad Ranganath |
||||
| 2006-08-06 | Posted By: Venkatesh Prasad Ranganath Should Indus be open-sourced? To whom it may concern, Starting sometime in the Fall of 2006, I (the lead and sole developer of Indus) will not be involved in the full-time development of Indus. Indus team is currently considering various options (relaxed licensing, open sourcing, etc) to enable external contributors and developers (if any interested) contribute to and develop Indus. So, if you are using, planning to use, or interested in developing/contributing to Indus, then I would appreciate inputs (at http://projects.cis.ksu.edu/forum/message.php?msg_id=1591) about issues that might prevent you from doing so and possible ways to address these issues. These inputs would aid me and others at K-State to decide (and pursue others) on how to best open up Indus to the community. - VPR |
||||
| 2006-07-20 | Posted By: Venkatesh Prasad Ranganath Indus user survey is posted!!! Hi, An Indus user survey has been posted to collect data about users perception of Indus. It would be a great help if Indus users and enthusiasts can fill out this 20 short questions survey. http://projects.cis.ksu.edu/survey/survey.php?group_id=12&survey_id=1 Thank you, - VPR |
||||
| 2006-04-26 | Posted By: Venkatesh Prasad Ranganath Version 0.8 of Indus is out!!! I am happy to announce a new version of Indus with mere performance and memory improvements along with other feature improvements and bug fixes is available. The changes are listed at the end of this mail. Given that this release of Indus contains almost all of my research work, Indus will enter maintenance mode for the next 3-4 months. So, it would be a good time to file feature requests and bug reports. Indus: - Feature request: - 676 - Java 5 adoption - Bug report: - 768 - Context-sensitive slicing seems to be overly perssimistic - Removed dependence on commons-collections. - Removed types: FixedSizeSet. - Added/Refactored annotation types: Empty, Experimental, Functional, Immutable, InternalUse, Marker, NonNull, NonNullContainer, NumericalConstraint, OCLInvariant, OCLPostCondition, OCLPreCondition. - Published example code base has been expanded. StaticAnalyses: - New optimizations to flow analysis cuts down the execution time by close to 80% in some cases. This enables the framework to scale on system that rely on Java AWT and Swing libraries. - A new flow analysis mode (along the lines of Rapid Type Analysis) enables memory optimal object flow information calculation for purposes such as call graph construction. - Feature request: - 747 - Enhance OFA info display on the command line interface - 717 - used scoping framework to perform scoped analyses - 676 - Java 5 adoption - 701 - refactorings. - Bug report: - 768 - Context-sensitive slicing seems to be overly perssimistic - Removed dependence on commons-collections and commons-pool. JavaSlicer: - The slicer tool now uses object flow analysis in flow insenstive mode instead of flow-sensitive mode. - Feature request: - 676 - Java 5 adoption - Bug report: - 558 - Property-awareness is broken - 749 - Siena/s2: Inconsistent result and over-aggressive slicing (Bandera) - 768 - Context-sensitive slicing seems to be overly perssimistic - Removed dependence on commons-collections. I hope you will find this release useful, - Venkatesh Prasad Ranganath |
||||
| 2006-01-30 | Posted By: Venkatesh Prasad Ranganath Version 0.7.2.2 of Indus is out!!! A update (0.7.2.2) containing bug fixes for report #768 along with all changes and fixes that were made while writing the TACAS06 paper -- "Evaluating the Effectiveness of Slicing for Model Reduction of Concurrent Object-Oriented Programs" -- is available in this release. Also, many parts of the framework has been updated to leverage Java Generics. Completely generified framework and new features will be available as version 0.8 along with an updated and overhauled Kaveri (hopefully) by the end of Spring 2006. If you are interested in the TACAS06 paper, please email me and I will email a soft copy of the paper. The Indus plugin in this release functions with Kaveri v0.7.2.1. Hope you find the release useful and interesting, - Venkatesh |
||||
| 2005-11-13 | Posted By: Venkatesh Prasad Ranganath Version 0.7.2 of Indus is out!!! This is bug fix and a minor enhancement release. Bug fixes: 680, 681, 694, 696, 707, 723, 742. Feature requests: 717 The distribution now depends on slf4j (www.slf4j.org) instead of log4j. In the upcoming versions, I will be eliminating some more dependences on external jars. Please feel free to voice your concerns and requests. Hope you find it useful, - Venkatesh |
||||
| 2005-09-18 | Posted By: Venkatesh Prasad Ranganath A major bug fix release of Eclipse plugin Thanks to Barthelemy Dagenais, we have discovered a trivial but major bug in Indus eclipse plugin v0.7.0. We have fixed the bug and released v0.7.0.1 of the plugin. - Venkatesh |
||||
| 2005-09-08 | Posted By: Venkatesh Prasad Ranganath Version 0.7.1 of Indus is out!!! This version contains few bug fixes along with the first step towards moving the library to Java 5.0. In other words, JDK 1.5.0 are required to use these libraries. Also, Indus libraries depend on the listed versions of the following required libraries. commons-lang.jar => v2.1 commons-pool.jar => v1.2 jibx-run.jar => vRC1 (the version available from the Indus site will not work with v0.7.1 of Indus) swt.jar => v3.1 xmlenc.jar => v0.48 Happy computing, - Venkatesh |
||||
| 2005-07-18 | Posted By: Venkatesh Prasad Ranganath Version 0.7 of Indus is out!!! I am pleased to announce the release of version 0.7 of Indus. This release contains major internal changes in terms of precision of static analysis and slicing along with extensive code refactoring. The major changes are listed below. This release also involves minor external changes in terms of the required libraries mentioned below. - xmlenc: 0.47 - commons-logging: 1.0.4 - commons-pool: 1.2 - log4j: 1.2.11 NOTE: At this time I would like to inform that Indus will enter maintenance mode after the release of v0.8. So, I would urge users to post/discuss any feature requests they may have. As for the changes in v0.8, it will based on Java 5 -- Indus will require JRE5 but it will **not** handle Java 5 bytecodes. As for the support for Java 5, plans are underway to provide such support in v1.0 of Indus. CHANGES: Indus ----- - Renamed IAtomicityInfo to IConcurrentIndependenceInfo. - Extended IEscapeInfo to provide more precise escape info pertaining to static fields. - Extended fieldAccessShared in IEscapeInfo to specifically answer read-write and write-write based shared access. StaticAnalyses -------------- - Implemented fieldAccessShared in EscapeInfo to specifically answer read-write and write-write based shared access. - Used write-write shared access based info in SharedWriteEquivalence analysis. - Added preliminary support to do fast, scoped, (yet unsound) flow analysis. [EXPERIMENTAL] - moved AnalysesController from staticanalyses.impl package to staticanalyses.processing package. - added an intraprocedural reachability method to CFGAnalysis and used it in AliasedUseDefInfo. - refactored concurrency.atomicity package to concurrency.independence - renamed AtomicXXXX classes as IndependentXXXX. - Bug fixes in DataAliasBasedCallingContextRetriever. - Incorrect escape information for static fields due to recent refactorings was fixed. - Improved precision of escape information pertaining to static fields. - Improved precision of atomicity information as well. JavaSlicer ---------- - improved the precision of context-sensitive slicing. - feature to control the length of calling-context in context-sensitive slicing. I hope you will find this release useful. Please do mail any comments/questions/bugs/feature requests you may have. Happy computing, - Venkatesh Prasad |
||||
| 2005-06-24 | Posted By: Venkatesh Prasad Ranganath Version 0.6.4 is out!!! I am pleased to announce another minor release of Indus modules and eclipse plugin. This is a bug-fix and performance optimization release. Also, due to an oversight, previous releases of the documentation did not include the user's guide. This has been rectified. Indus ----- - Renamed indus.tools.bandera package as indus.toolkits.bandera. StaticAnalyses -------------- - Improved the precision of statement-level atomicity information. - Enabled field-specific shared access query in EscapeInfo. - Bug fixes in escape analysis. - Minor improvement in Interference dependences. JavaSlicer ---------- - Minor bug fixes and performance improvements. - Feature Request: #576. Indus-Plugin ------------ - Based on version 0.6.4 of various modules of Indus. - The API documentation and user guide for the plugin is included in this release. Happy computing, - Venkatesh |
||||
| 2005-06-24 | Posted By: Venkatesh Prasad Ranganath Version 0.6.3 is out!!! Hi, I am pleased to announce a minor update of Indus. The changes are listed below. Indus ------------- - Renamed IObjectReadWriteInfo to IReadWriteInfo. - Added support for limited calling context retrieval. JavaSlicer ---------- - Bug fix pertaining to property-aware slicing. - Enabled support to limit the length of calling context during property-aware slicing. StaticAnalyses -------------- - Modified ThreadEscapeInfoBasedCallingContextRetriever to use sharing information as opposed to escape info. - Major refactoring in concurrency.escape package. Happy computing, - Venkatesh |
||||
| 2005-06-24 | Posted By: Venkatesh Prasad Ranganath Version 0.6.1 is out!!! Hi, Version 0.6.1 of Indus is out. The changes are given below. StaticAnalyses -------------- - Fixed a bug in DataAliasBasedCallingContextRetriever. (This is was identified by Aysu Betin-Can. Thanks!!). - Added a class to create system dependence graph (SDG). JavaSlicer ---------- - Added a new optimization that (tries) prunes sliced class hierarchy to get rid of empty classes and methods. - The format of the slicer's configuration changed yet again. (sorry) Happy computing, - Venkatesh |
||||
| 2005-06-24 | Posted By: Venkatesh Prasad Ranganath Version 0.6B of Kaveri is out!! A new version (0.6) of Kaveri is out. This version functions with v0.6 of Indus and provides the features described in http://projects.cis.ksu.edu/docman/view.php/12/97/fase05-tp.ps. Happy computing, - Project Indus |
||||
| 2005-05-16 | Posted By: Venkatesh Prasad Ranganath Version 0.6 is out!!! I am pleased to announce that the first release of version 0.6 is out. Please read on for the list of changes. Please feel free to log bug/feature requests and/or discuss any issues/comments you may have. Indus: ----- - Interprocedural-exception-flow-sensitive control flow aware basic block graph. - New interface to capture exception raising info - IExceptionRaiseInfo. - Added support for sinks and sources (different from heads and tails) to graphs. - Feature request #612, #616, #617. - Added finite automaton implementation. - Added support to represent edge-labelled graphs. - Added support for fine grained control on execution of analyses and processors. - Added support to filter program points and visit locals via the ProcessingController. - Added support in the ProcessingController to control the order in which the statements of a method are visited. [API BREAKING CHANGE] - Added a Class Hierarchy implementation. - Added support to retrieve field reading/writing thread information from IEscapeInfo. StaticAnalyses: -------------- - Control dependence can now consider the effect of interprocedural exception flow on intraprocedural control flow. - Interprocedural-exception-flow-sensitive exception occurrence analysis - ExceptionRaisingAnalysis. - New interface to query object-level read/write information. - Refactored call graph calculation logic. - Added implementations of Class Hierarchy Analysis (CHA) based and Rapid Type Analysis (RTA) based call graph construction. [API BREAKING CHANGE] - Added support to retrieve field reading/writing thread information from EquivalenceClassBasedEscapeAnalysis. - Feature request #590, #613, #614. - Added new program point-relative inter-thread context retriever that is sensitive to data-equivalence (ThreadEscapeInfoBasedCallingContextRetrieverV2) - Added new program point-relative intra-thread alias-based context retriever (DataAliasBasedCallingContextRetriever) JavaSlicer: ---------- - Forward slices can now be configured to consider both exit control dependence and entry control dependence. - Support to consider various levels of interprocedural exception flow sensitive control dependence during slicing. - Feature request #616, #608. - Bug fixes. - Enabled space optimization of executable slice. - Used new calling context retrievers in property-aware operation mode. Hope you find the software useful, - Venkatesh |
||||
| 2005-03-28 | Posted By: Venkatesh Prasad Ranganath A new release of Indus and Kaveri plugins are out! Hi, We have released a major bug fix release of Indus plugin v0.5. A corresponding release of Kaveri is also available for download. Please use it and report any issues you may have, - Project Indus |
||||
| 2005-03-28 | Posted By: Venkatesh Prasad Ranganath A new release of version 0.5 of Indus is available!!! Hi, This release is mostly bug fixes. Please use it and report any issues you may have, - Project Indus |
||||
| 2005-03-07 | Posted By: Venkatesh Prasad Ranganath Version 0.4 (20050305-2019) of Kaveri is out!!! Hi, We are pleased to announce the first release of version 0.4 of Kaveri. This release adds a new feature to select calling context sensitive slice criteria. This enables the users to obtain much more precise slices. It also contains some bug fixes. We have also posted a new user's guide with updates at http://projects.cis.ksu.edu/docman/view.php/12/105/Kaveri-ug-v0.4.pdf Please feel free to submit feature requests or bug reports. Thank your for all the inputs and we hope you will find the plugins useful, - Project Indus |
||||
| 2005-03-07 | Posted By: Venkatesh Prasad Ranganath A new release of v0.5 (20050305-2019) Indus is available!!! Hi, There were some bugs in the previous release. These have been addressed. Also, the plugin has been synchronized with the module releases. Please feel free to submit feature requests or bug reports. Thank your for all the inputs and we hope you will find the libraries useful, - Project Indus |
||||
| 2005-02-28 | Posted By: Venkatesh Prasad Ranganath Version 0.5 of Indus is out!!! Hi, We are pleased to announce the release of v0.5 of Indus libraries. The changes in this release are given below. Please note that there have been some major changes. The most notable one will be the changes to the structure of slicer configuration and slicer criteria file that can be provided to the slicer CLI. Nevertheless, the older files can be massage to conform to the new structure. Indus: ----- - Added support to specify scopes that can be used during program analysis and transformation. - Added support to collect simple size metrics. - Added support to create and provide calling contexts - Added support to manage infomation based on IDs of implementation. - Refactored the mechanism to configure property-based application-level constants. - Extended use-def info interface to handle static fields. - Addressed feature request #536. ? Requires jars from Bandera to use Bandera related tools. Staticanalyses: -------------- - Added escape information preserving calling context retriever. - Added Non-termination insensitive control dependence and pure inter-procedural divergence dependence analysis. - Added support to dynamically update relation between types and tokens in the token management framework. - Incorporated SCC-based optimizations into flow analysis framework. - Optimized certain graph algorithms. - Added a side-effect analysis. - Added an atomicity analysis. This supports detection of atomic regions and "independent"/atomic statements. - Support for tracking thread "escape" information across method boundaries. - Fixed bugs in Reference-based DA and OFAXMLizer. - Added analysis to calculate static field-based use-def info. - Added support to generate thread-locality based calling context. - Code refactoring. JavaSlicer: ---------- - Updated the slicer configuration UI with more toggle switches. - Added support to perform assertion preserving slices. - Added support to toggle interference dependence. (feature request #540) - Added support to inject calling context into seed criteria. - Added support to perform property-aware (thread locality) context-sensitive slicing. This extends context injection into seed criteria. - The user can now specify scope of slicing via a scope specification file. - Added support to generate criteria based on class-level entities (feature request #232) - Provided a new class FieldBasedCriteriaGenerator" to generated criteria based on fields. - Refactored classes related criteria filters, generators, and specification. - Addressed feature request #562, #537, and #540. - Addressed bug report #558 and #551. - A whole lot of bug fixes. NOTE: Indus eclipse plugin v0.5B1 is not up-to-date with this release. We will shortly put out a Indus eclipse plugin release v0.5 that is in sync with this release. We have been able to update the user guide :-( We will do so in the coming days/weeks and post a new documentation package. If this is required by any user, please raise a feature request and we will expedite the process. Please feel free to submit feature requests or bug reports. We hope you will find the libraries useful, - Project Indus |
||||
| 2005-02-28 | Posted By: Venkatesh Prasad Ranganath Version 0.4b1 of Kaveri plugin is out!!!! First beta release of new version (v0.4) of Kaveri is available for download. This version contains a major overhaul of the UI with new features as described in http://projects.cis.ksu.edu/docman/view.php/12/97/fase05-tp.ps It is also based on the upcoming version (v0.5) of Indus. Please note that v0.4B1 of Kaveri requires v0.5B1 of Indus plugin. NOTE: Indus modules contained in Indus plugin will change. Hence, rather than using these modules outside of Kaveri, please wait for the release of v0.5 of Indus. In terms of changes, the older slicer configurations are incompatible with those used in this release. The new user's guide is available at http://projects.cis.ksu.edu/docman/view.php/12/105/Kaveri-ug.pdf Please report any bugs you may uncover and submit new feature requests if you have any. We hope you will find the new version useful, - Project Indus |
||||
| 2004-12-10 | Posted By: Venkatesh Prasad Ranganath [Indus] New pre-0.5 interim release (20041207) is available. This interim release contains the following new features of v0.5 along with bug fixes to v0.4. Indus: - Added support to specify scopes that can be used during program analysis and transformation. - Added support to collect simple size metrics. - Added support to create calling context, manage ID-based info. - Extended use-def info interface to handle static fields. ? Requires jars from Bandera to use Bandera related tools. StaticAnalyses: - Support detecting atomic regions. - Support for tracking thread "escape" information across method boundaries. - Fixed bugs in Reference-based DA and OFAXMLizer. - Added analysis to calculate static field based use-def info. - Added support to generated thread-locality based calling context. JavaSlicer: - Added support to inject context into seed criteria. This support was also used to generate context-sensitive criteria that preserve dead locking properties of the program. - Added support to perform property-aware (thread locality) context-sensitive slicing. This extends context injection into seed criteria. - The user can now specify scope of slicing via a scope specification file. - Feature request 232. - Provided a new class "FieldBasedCriteriaGenerator" to generated criteria based on fields. - Refactored classes related criteria filters, generators, and specification. This interim release will be bumped up to v0.5 after adding the side-effect analysis and writing up technical documents describing some new features. v0.5 should be available before the new year. Use it and report any bugs/feature requests, - Project Indus |
||||
| 2004-08-29 | Posted By: Venkatesh Prasad Ranganath Version 0.4 is out!!! Version 0.4 was released today. The main changes are - Program Slicing is now context-sensitive. - Refactoring and bug fixes in Indus package for speed. - Bug fixes in StaticAnalyses package. Hope you find this release useful, - Project Indus |
||||
| 2004-08-11 | Posted By: Venkatesh Prasad Ranganath Kaveri, a Java Program Slicer plugin for Eclipse is out!!! We are pleased to announce the release of the first version of Kaveri, a Java Program Slicer plugin for Eclipse 3.0. The plugin enables the user to pick slice criteria, slice the program, and view the slice. Many more features to improve program comprehension are in the works and will be rolled out in subsequent release. Please feel free to submit your bug reports/feature requests/comments. Hope you find this plugin useful, - Team Indus. |
||||
| 2004-08-11 | Posted By: Venkatesh Prasad Ranganath Version 0.3 is out!! We are happy to announce the release of v0.3 of Indus with new features and bug fixes. At this time, we would like to mention that an Eclipse-based UI for the Java Program Slicer will be released very shortly (!!!) Also, for the next release of Indus, the Java Slicer module will undergo major code refactoring for optimization and maintainance purposes. Given the future plans, most of the future effort dedicated to the slicer will be directed towards improving the Java Slicer plugin, addressing performance and scalability issues, and catering to bug/feature reports. |
||||
| 2004-07-19 | Posted By: Venkatesh Prasad Ranganath Version 0.2 out! The changes are given below. Indus: - All xmlizers use classes from xmlenc library to generate xml documents. - Lots of refactoring. - Reachability optimization in graphs. - A slew of classes for filtered viewing of java collections framework class instances. Slicer: - All xmlizers use classes from xmlenc library to generate xml documents. - Catered to feature requests 370, 371, 373, 376, 378, 379, 384, 385, 386, and 391. - Jakarta Commons IO v1.0 is used for common file and i/o operations. - Added support to specify slice criteria via command line through a criteria specification file. - Added support to serialize/deserialize slice criteria. - Forward slicing and Complete slicing is available as we introduced exit control dependence in Indus StaticAnalyses module StaticAnalyses: - Memory/Performance optimizations and bug fixes in EquivalenceClassBasedEscapeAnalysis. - All xmlizers use classes from xmlenc library to generate xml documents. - Implemented Indirect and Direct Entry Control dependence. - Added new options to OFA and CallGraph CLI classes. - Added a new implementation of Use-Def Analysis for method locals. - Implemented Divergence dependence (edu.ksu.cis.indus.staticanalyses.dependency.DivergenceDA) - Implemented Exit Control dependence (edu.ksu.cis.indus.staticanalyses.dependency.ExitControlDA) |
||||
| 2004-07-09 | Posted By: Venkatesh Prasad Ranganath New Interim release (20040624) posted! A new interim release with the following changes is posted. Indus: - All xmlizers use classes from xmlenc library to generate xml documents. - Catered to feature requests 370, 371, 373, 376, 378, 379, 384, 385, 386, and 391. - Reimplemented Entry Control dependence. - Added new commandline options to OFA and CallGraph CLI classes. - Added a new implementation of Use-Def Analysis for method locals. - Memory/Performance optimizations in EquivalenceClassBasedEscapeAnalysis. |
||||
| 2004-07-09 | Posted By: Venkatesh Prasad Ranganath Interim builds posted! To facilitate early use of features, I have added a new interim release for each module. If you find any issues, please consort on the forums/lists and log a bug or feature request to expedite the release process :-) - Venkatesh |
||||
| 2004-04-20 | Posted By: Venkatesh Prasad Ranganath Version 0.1 Hi, Version 0.1 of Indus project is released. This is mainly a bug fix release along with a notable addition of a new module/package ("tokens") in Indus that is aimed at managing values/tokens in flow analysis in a generic way and the usage of this package in the static analyses module. I also decided to stick with Soot 2.1.0 for now. (No bleeding edge is supported.) Flux in the control flow graph package of Soot was the main reason. For the test savvy people, I have most of the support for regression testing in Indus in place. In fact, in a couple of hours, (may be) the first successful regression test run will occur generating reports and stuff. It's a may be as there may be issues lurking in the cracks. So, if there are bugs, I will try to release an intermittent version by this weekend or the beginning of next week. If you think you have an interesting system that will serve as a test case in this framework, please contact me to add it into the testing framework. It would be best if the test case is small in size (say a few 10s of classes) and preferrably non-gui systems. Hope this version will solve any issues you had with version 0.1a, Happy working, |
||||
| 2004-03-05 | Posted By: Venkatesh Prasad Ranganath First release of Indus! I am happy to announce the first release binaries and documentation pertaining to the subprojects of Indus. Please note that this is an alpha release as I am still not done with with these subprojects and bugs are bound to exists. Please be patient and feel free to report bugs along with any feature requests you may have. Following features are available in this release: - preliminary flow analyses framework - object-flow (points-to) analysis - call graph and thread graph - escape analysis - dependence analysis - control - data - sychronization - interference (concurrent programs) - ready (concurrent programs) - slicer - backward slicing - works on concurrent Java programs - exposed as a tool to ease it's use - jimple xmlization support for the purpose of testing - example code to illustrate the use of various modules - sufficient and necessary java documentation - some online documentation about the modules, their design, and architecture. Please read the release notes of each module for any known limitations that may not strike out in the java docs or the user guide. At this time, it is a moderated binary release only. Subsequent releases will be unmoderated and eventually source releases along with nightly build reports will be available. Hope you have as much fun using these artifacts as I had developing them :-) |
||||
| 2004-01-08 | Posted By: Venkatesh Prasad Ranganath Slicer - status First, the mailing list for this project is broken and is being worked on. Until it is fixed, please keep tab on the news or forums. The slicer has been run over small examples and has been found working :-) However, as a system written in Java is not "complete" as it contains native method, there are inconsistencies in the static analyses used in the slicer. Currently, this problem is being addressed. Once there is a working solution to this problem, the slicer shall be tested with the solution and an alpha release of the binary shall be made around the coming weekend. More features and bug fixes will come along as I ramp up the slicer towards a stable release. |
||||
| 2003-12-09 | Posted By: Venkatesh Prasad Ranganath Status of the Indus and it's subprojects/modules Hi, For those interested in the Java Slicer module and/or other modules in Indus, the slicer module and the required modules from Indus are just about ready for release. For the curious, I am working on providing support to enable the slicer within Bandera and wrapping up the Javadoc documentation for the slicer to be useful to users. Hence, the release with all or most of the following features is planned for next weekend (12/14/2003). Various forums related to bugs, features, and open discussion will be opened with this release. Features available in the upcoming release: - preliminary flow analyses framework - object-flow (points-to) analysis - call graph and thread graph - escape analysis - dependence analysis - control - data - sychronization - interference (concurrent programs) - ready (concurrent programs) - slicer - performs backward slicing - works on concurrent Java programs - exposed as a tool to ease it's use - jimple xmlization support for the purpose of testing - example code to illustrate the use of various modules - sufficient and necessary java documentation - some online documentation about the modules, their design, and architecture. Initially, only binary releases will be available and they will be moderated (a personal basis). I am reluctant to release the slicer, just yet, as more work needs to be done to make the use of the slicer a pleasant experience. However, I want to allow people eager to use the slicer to use it and start the feed back loop (submit feature requests or file bug reports). Also, this way I want to make sure that the users know what they are dealing with (minimally tested code with minimal documentation), hence, prevent cranky behavior when things don't work and there is no document to make sense in such situation. So, the interested users can contact me after the release to obtain the binary release of the various modules. This will be followed by an effort to put out online documentation which will be followed by making the release unmoderated. This will be followed by efforts to add more features to the existing modules, add new modules, and of course fix bugs ;-) Upcoming features: - optimize object-flow analysis for performance - automated testing framework - support divergence dependence - support forward slicing - improve precision of various analyses and slicing - .... So, please subscribe to indus-announce@projects.cis.ksu.edu and/or indus-users@projects.cis.ksu.edu or keep an eye on the news on Indus at http://projects.cis.ksu.edu/news/?group_id=12 for information about releases. Thanks for being patient, |
||||
| 2003-09-15 | Posted By: Venkatesh Prasad Ranganath It's time. News and information about Indus will be presented in a casual and informal manner. Indus has been open as a project in planning and pre-alpha stage for the past several months with no news or info. Given this status, this a precursor news snippet about Indus as one of it's subproject has reached alpha stage :-), hence, time to make some noise. Indus is a project that is aimed at program analyses and program transformations that would enable the customization and adaptation of Java programs. The goal of Indus is to experiment with existing analyses/transformations and implement them as required by applications. In the due process, new analyses and transformations will be proposed and implemented. Java is the target language for the analyses/transformations. At present, Soot from http://www.sable.mcgill.ca is used as the intermediate representation. As the main developer/maintainer of Indus and Indus being the crux of my academic pursuit, I have few applications which will direct the evolution and development of Indus. However, the users are free to extend Indus as per to the needs of their applications. As always in the open source community, Indus is open to comments,suggestions, feature requests, and bug submissions from users. All binaries and source code of Indus will be publicly available via KSU Academic License and KSU Open Academic License, respectively. For more information about these licenses please refer to http://www.cis.ksu.edu/santos. As the licenses and the project distribution system are being worked on, it may be some time (very short) before the binaries/source will be available to the public. More news on the subproject that graduated "alpha" stage in a while :-) |
||||



