Unblocking The Main Thread Solving ANRs and Frozen Frames
Can we predict dependencies using domain information?
1. Can we predict
dependencies using
domain information?
Amir Aryani Fabrizio Perin Mircea Lungu Abdun Mahmood Oscar Nierstrasz
RMIT University, Australia
University of Bern, Switzerland
Presented at 18th Working Conference on Reverse Engineering (WCRE),
IEEE, Limerick, Ireland, October, 2011
2. Outline
• A method for finding architectural dependencies
• without looking at the source code,
• without looking at design documents.
• A case study on ADempiere.
• Research collaboration opportunities.
3. 915,250
Management Information Systems (MIS)
$1.8 trillion
Development Cost of MIS systems in USA, Capers Jones, Applied Software Measurement: Global analysis of
productivity and quality, Third Edition, McGraw-Hill, 2008
4. Motivation example: It is required to remove
Business Partner tab from this screen.
Fact: There are 346 other screens in this software
5. Common problems in
software maintenance
• Systems with legacy code, e.g., COBOL
• Hybrid systems, e.g., Python and Java
• Missing design documents
• Inaccessible maintenance history
6. Motivations
• Domain-based approach works
• without access to source code,
• without access to design documents.
• It might be cost efficient.
• You can collaborate with domain experts.
7. How does it work?
• Domain-based Coupling
• A case study on ADempiere
19. Future work
• Extending the case study to other systems
• Studying finer-grained components, e.g., Tabs
• Qualitative analysis of false negatives
20. Further research
opportunities
• Can we develop a hybrid method for impact
analysis which uses code analysis and domain
information?
• Can we use domain-based coupling to modularise
the source code to more domain relevant blocks?
• Can domain information assist dynamic analysis?
21. Conclusion
• Domain-based coupling can be used for
approximating dependencies where
• source code analysis is not an option,
• design documents are outdated or
missing.
• In future work, we plan to experiment other
applications of domain-based coupling.