+ All Categories
Home > Software > What if Clippy Would Criticize Your Code? (benevol2015)

What if Clippy Would Criticize Your Code? (benevol2015)

Date post: 14-Feb-2017
Category:
Upload: yuriy-tymchuk
View: 346 times
Download: 0 times
Share this document with a friend
51
What if Clippy Would Criticize Your Code? Yuriy Tymchuk R A E E L V
Transcript

What if Clippy Would Criticize Your Code?

Yuriy TymchukR AE E LV

@yuriy_tymchuk

What if Clippy Would Criticize Your Code?

R AE E LV

Sometimes I just popup for no reason at all. Like now.

@yuriy_tymchuk

What if Clippy Would Criticize Your Code?

R AE E LV

Criticize Your Code?

Code Quality

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

Static Analyzer

Static Analyzer

Quality Rules

Static Analyzer

Quality Rules

Source Code

Static Analyzer

Quality Rules

Critics

Static Analyzer

Find Bugs

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

ViDI

packages 400 classes 5.5k methods 90k

Pharo 4: patches / months ≈ patches/day1726 12 5Pharo 5: patches / months ≈ patches/day1560 7.5 7

packages 400 classes 5.5k methods 90k

ViDI is …

Disconnected from Development

Yes, I will help you to write code!

Static Analyzer Interface

FindBugs IntelliJ Code Analysis

Static Analyzer Interface

FindBugs IntelliJ Code Analysis

standalone/on demand embedded/intrusive

Static Analyzer Interface

Critics Browser

standalone/on demand embedded/intrusive

in Pharo

Critics Browser

Critics Browser Survey46 participants

Critics Browser Survey

Critics Browser Survey

QualityAssistant

QualityAssistant in Code Browser

QualityAssistant in Code Browser

QualityAssistant in Inspector

QualityAssistant in Spotter

Pharo 4: patches / months ≈ patches/day1726 12 5Pharo 5: patches / months ≈ patches/day1560 7.5 7

packages 400 classes 5.5k methods 90k

Pharo 4: patches / months ≈ patches/day1726 12 5Pharo 5: patches / months ≈ patches/day1560 7.5 7

packages 400 classes 5.5k methods 90k

QualityAssistant Survey29 participants

QualityAssistant Survey

Browser Inspector Spotter

QualityAssistant Survey

QualityAssistant Survey

Critics Browser QualityAssistant

Critics Browser QualityAssistant

Critics Browser QualityAssistant

Critics Browser QualityAssistant

Critics Browser QualityAssistant

Critics Browser QualityAssistantau

to"x

ban

igno

re

ban

igno

rera

tiona

le

highli

ght

diff

auto"x

ban

ban i

n s

cope

31%

10%31%

7%3%

17%

48%

14%

21%

17% Don’t know QANegativeSlightly NegativeNeutralSlightly PositivePositive

removal of “Missing yourself”

addition of “notNilDo: -> notNil:”

QualityAssistant-In!uenced Changes

Developers Like QualityAssistant

Developers Like QualityAssistant

38%

24%

14%

3%3%

17%

“!nd QualityAssistant very useful”

38%

24%

14%

3%3%

17%

48%

14%

21%

17%

“!nd QualityAssistant very useful”

“!nd introduction of a new rule in"uenced by QualityAssistant to be positive”

Developers Like QualityAssistant

38%

24%

14%

3%3%

17%

48%

14%

21%

17%

“!nd QualityAssistant very useful”

“!nd introduction of a new rule in"uenced by QualityAssistant to be positive”

Developers Like QualityAssistant

@yuriy_tymchuk

38%

24%

14%

3%3%

17%

48%

14%

21%

17%

“!nd QualityAssistant very useful”

“!nd introduction of a new rule in"uenced by QualityAssistant to be positive”

Developers Like QualityAssistant


Recommended