towards the impact of design flaws on resources used by an application
TRANSCRIPT
Towards the Impact of Design Flawson the Resources used by an
Application
Candidate: Şerban STOENESCU
Supervisor: Assistant Professor, PhD. Eng. Cristina MARINESCU
Content 1. Introduction 2. Related Work 3. Case Studies 4. Results Interpretation 5. Conclusions and Future Work 6. References
1. Introduction Do design flaws have an impact on resource usage? We performed two case studies
– A very simple one– A large, well-known open source system
Tools used:InFusion
http://www.intooitus.com/products/infusionHyperic SIGAR
http://www.hyperic.com/products/sigar
2. Related work Some work in this direction was done Hindle performed a study that investigates the
correlation between software changes and energy consumption [1] (energy consumption scales linearly with resource usage, according to [3])
He does not take isolated changes Grosskop and Visser [2] proposed an energy model
for an application and some application-level optimizations, but they are not related to design flaws
3. Case Study Setup: Case Study B Takes on a larger system: JhotDraw 5.4 We run unit tests for the original version We measure the resource usage We refactor design flaws After removing/reducing each design flaw, we run
the tests again and perform the measurements again
The source code for the refactorings are available at http://cs.upt.ro/~cristina/jhotdraw-refactorings.zip
4. Case Study A: Results Interpretation Memory and CPU usage are higher in Scenario 2
(with Data Class)
4. Case Study B: Results Interpretation Design flaws do have an impact on resource usage In all versions, the used memory is less than in the
original version The CPU usage varies both upwards and
downwards compared to the initial version
5. Conclusions and Future Work We provide evidence of the impact of various design
flaws on the resource usage of a software system We showed that:
– They influence CPU time– They increase memory usage
5. Conclusions and Future Work (continued) Design flaws implied:- Cyclic Dependencies- Data Clumps- Blob Operations- Data Classes- God Class- Intensive Coupling,
- Feature Envy- Schizophrenic Classes
5. Conclusions and Future Work (continued) The experiment is dependent on the test cases
available Further investigations on other systems can be done An application can be deployed in a cloud
environment and the same measurements can be performed again
6. References[1] A. Hindle, “Green mining: Investigating power consumption across
versions.” in ICSE, M. Glinz, G. C. Murphy, and M. Pezz, Eds. IEEE, 2012, pp. 1301–1304. [Online]. Available: http://dblp.uni-trier.de/db/conf/icse/icse2012.html#Hindle12
[2] K. Grosskop and J. Visser, “Identification of application-level energy optimizations,” in Proceedings of ICT for Sustainability (ICT4S 2013), 2013, pp. 101–107
[3] X. Fan, W.-D. Weber, and L. A. Barroso, “Power provisioning for a warehouse-sized computer,” in The 34th ACM International Symposium on Computer Architecture, 2007..
[4] „Towards the Impact of Design Flaws on the Resources used by an Application” by Cristina Marinescu, Serban Stoenescu and Teodor-Florin Fortis