The platform will undergo maintenance on Sep 14 at about 7:45 AM EST and will be unavailable for approximately 2 hours.
2014
DOI: 10.1145/2559935
|View full text |Cite
|
Sign up to set email alerts
|

Improving software modularization via automated analysis of latent topics and dependencies

Abstract: Oftentimes, during software maintenance the original program modularization decays, thus reducing its quality. One of the main reasons for such architectural erosion is suboptimal placement of source code classes in software packages. To alleviate this issue, we propose an automated approach to help developers improve the quality of software modularization. Our approach analyzes underlying latent topics in source code as well as structural dependencies to recommend (and explain) refactoring operations aiming a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
61
0

Year Published

2015
2015
2018
2018

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 102 publications
(62 citation statements)
references
References 60 publications
1
61
0
Order By: Relevance
“…Some studies have used the term "semantic" (Poshyvanyk et al 2009;Qusef et al 2011, Bavota et al 2010, 2013b, 2014aKagdi et al 2010;Gethers et al 2012), while others have used the term "conceptual" (Gethers et al 2012) to describe the same concept. Poshyvanyk et al (2009) state that conceptual coupling captures the degree to which the identifiers and comments from different classes relate to each other (Qusef et al 2011, Bavota et al 2010, 2013b, 2014aKagdi et al 2010).…”
Section: Semantic Couplingmentioning
confidence: 99%
See 1 more Smart Citation
“…Some studies have used the term "semantic" (Poshyvanyk et al 2009;Qusef et al 2011, Bavota et al 2010, 2013b, 2014aKagdi et al 2010;Gethers et al 2012), while others have used the term "conceptual" (Gethers et al 2012) to describe the same concept. Poshyvanyk et al (2009) state that conceptual coupling captures the degree to which the identifiers and comments from different classes relate to each other (Qusef et al 2011, Bavota et al 2010, 2013b, 2014aKagdi et al 2010).…”
Section: Semantic Couplingmentioning
confidence: 99%
“…Poshyvanyk et al (2009) state that conceptual coupling captures the degree to which the identifiers and comments from different classes relate to each other (Qusef et al 2011, Bavota et al 2010, 2013b, 2014aKagdi et al 2010). Gethers et al (2012) add a twist to the definition and state that conceptual coupling captures the extent to which domain concepts/features and software artefacts are related to each other.…”
Section: Semantic Couplingmentioning
confidence: 99%
“…However, during software evolution or maintenance, as the software systems' internal structure is subjected to continuous enhancement, modification and adaptation, its code becomes comp lex and consequently drift away fro m the orig inal design [5] [21]. Furthermo re, poor design decisions due to strict condition of deadline forces developers not to adhered to the princip le of h igh cohesion and low coupling [11] [12]. As a result, the software (packages, classes , methods or field) in turn becomes mo re co mp lex and deteriorates in quality thereby making it difficult to understand and maintain [9].…”
Section: A Software Refactoringmentioning
confidence: 99%
“…Consequently, as the class responsibilities increases, so its complexity leading to the deterioration of its quality [9] [10]. Studies have shown that some of the causes of design flaws in software systems are due to the applicat ion of inappropriate design solutions by developers leading to code not conforming to OO programming rules and market pressure resulting to strict deadline [11] [12]. To this end, co mprehending and maintaining the software systems becomes a difficult, if not impossible tasks.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation