View
319
Download
1
Category
Preview:
Citation preview
@yuriy_tymchuk
Treating Code Quality as a First Class Entity
R AE E LVSupervisor: Michele Lanza
How can development tools help to ensure a good quality of code during the evolution
of a software system?
Code Quality
How easy it is tounderstandmodifytest
the software
ISO/IEC, ISO/IEC 9126. Software Engineering – Product quality 6.5. ISO/IEC, 2001
(maintainability)
Code Review
A. Bacchelli, C. Bird. Expectations, outcomes, and challenges of modern code review. In Proceedings of ICSE’13, pp. 712–721, IEEE, 2013
Code Review Tools
Y. Tymchuk, A. Mocci, and M. Lanza. Code Review: Veni, ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015
Visual Design Inspection
Y. Tymchuk, A. Mocci, and M. Lanza. Code Review: Veni, ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015
Y. Tymchuk, A. Mocci, and M. Lanza. Code Review: Veni, ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015 Y. Tymchuk, A. Mocci, and M. Lanza. Vidi: The Visual Design Inspector. In Proceedings of ICSE’15, to be published, IEEE, 2015
Y. Tymchuk, A. Mocci, and M. Lanza. Code Review: Veni, ViDI, Vici. In Proceedings of SANER’15, pp. 151-160, IEEE, 2015 Y. Tymchuk, A. Mocci, and M. Lanza. Vidi: The Visual Design Inspector. In Proceedings of ICSE’15, to be published, IEEE, 2015
Issues of Quality Rule Checkers
B. Johnson, Y. Song, E. Murphy-Hill, and R. Bowdidge. Why don’t software developers use static analysis tools to !nd bugs? In Proceedings of ICSE’13, pp. 672–681, IEEE, 2013
Issues of Quality Rule Checkers
B. Johnson, Y. Song, E. Murphy-Hill, and R. Bowdidge. Why don’t software developers use static analysis tools to !nd bugs? In Proceedings of ICSE’13, pp. 672–681, IEEE, 2013
Issues of Quality Rule Checkers
B. Johnson, Y. Song, E. Murphy-Hill, and R. Bowdidge. Why don’t software developers use static analysis tools to !nd bugs? In Proceedings of ICSE’13, pp. 672–681, IEEE, 2013
Can a critic noise be reduced by dedicated automated resolution?
Noisy rules → auto-"x. Analyze the impact
Can a critic noise be reduced by dedicated automated resolution?
Noisy rules → auto-"x. Analyze the impact
The “Greatest Common Divisor” Way
C. Sadowski, J. Gogh, C. Jaspan, E. Soederberg, C. Winter. Tricorder: Building a Program Analysis Ecosystem. In Proceedings of ICSE’15, pp. 598–608, IEEE, 2015
One Size Fits All
L. Renggli, S. Ducasse, T. Gîrba, O. Nierstrasz. Domain-speci!c program checking. In Proceedings of TOOLS’10, pp. 213-232, 2010 A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
The Dedicated Rule
L. Renggli, S. Ducasse, T. Gîrba, O. Nierstrasz. Domain-speci!c program checking. In Proceedings of TOOLS’10, pp. 213-232, 2010 A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
Improving Co-Evolution
A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
Improving Co-Evolution
A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
Improving Co-Evolution
A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
Improving Co-Evolution
A. C. Hora. Assessing and Improving Rules to Support Software Evolution. PhD diss., Université Lille 1-Sciences et Technologies, 2014
Method Class Package Project
Dependency
Inheritance
Organization
Team
Developer
Rules Should Be Dedicated
Method Class Package Project
Dependency
Inheritance
Organization
Team
Developer
Rules Should Be Dedicated
User
Method Class Package Project
Dependency
Inheritance
Organization
Team
DeveloperUser
What are the con#icts for dedicated rules of dependent projects?
What are the con#icts for dedicated rules of dependent projects?
BL OC low-level core UI framework
agile visualization framework
What are the con#icts for dedicated rules of dependent projects?
BL OC low-level core UI framework
agile visualization framework
Can a critic noise be reduced by dedicated automated resolution?
Can deprecation / API changes be enhanced by quality rules?
What are the con#icts for dedicated rules of dependent projects?
Is the importance of a critic related to a software lifecycle period?
BL OC
vs
Can a critic noise be reduced by dedicated automated resolution?
Can deprecation / API changes be enhanced by quality rules?
What are the con#icts for dedicated rules of dependent projects?
Is the importance of a critic related to a software lifecycle period?
Do developer/teem dedicated rules perform better than generic?
Can the cost/value of critic resolution be derived from history? (Dedicated technical debt)
BL OC
vs
@yuriy_tymchuk
Treating Code Quality as a First Class Entity
R AE E LVSupervisor: Michele Lanza
In order to build helpful software quality tools, we need an underlying model that
1) facilitates “smart” rules (that aid in critic resolution) 2) allows adaptation of rules for a speci"c scope 3) is aware of software scopes and lifecycle
Recommended