ycoady / UVic-Software-Evolution

Welcome to our extravaganza in software (r)evolution!!!
Creative Commons Zero v1.0 Universal
6 stars 0 forks source link

Lab 1: Questions for our (R)evolution #4

Open ycoady opened 9 years ago

ycoady commented 9 years ago

What "question" relating to Software Evolution do you want to try to answer with your tool?

Any and all ideas welcomed---YOU GUYS ARE ROCKING THIS! :)

Hoverbear commented 9 years ago

I'd be curious at looking into the sources of common programming mistakes. Particularly,

What is the cost of NULL upon software engineering?

What kind of errors can be detected via Static Analysis?

Does the choice of language effect the number of errors in a system?

What are the impacts of bugs in a software library that a project depends upon?

Also,

Does having a geographically diverse team (as opposed to a local team) effect how the software develops?

PolloDiablo commented 9 years ago

Jeremy Kroeker

fraserd commented 9 years ago

Are there any successful software projects which do NOT evolve? Does any one know of any?

eburdon commented 9 years ago

I'm considering looking into the evolution of a programming language (rather than a system or program). My biggest question is basically how can we analyze user impact.

Do developers respond to user requests/feedback quickly? (Also applies to programs) When languages change/"evolve", are the number of users increased? (i.e., how is popularity affected?) Do 'simpler' languages (i.e., less verbose/python) have fewer bugs (on avg) than more 'complex' languages (e.g., C)? How has this changed?

ghost commented 9 years ago

\ Chris Cook, Richard Claus, Sarah Nicholson

knowlesc commented 9 years ago

Which parts of the system grow the fastest?

Which parts of the system have had the most bugs? This could be related to number of commits that seem to not change the size of the repository.

How can you analyze the code quality? This could be things such as code structure and adhering to standards, as well as good programming practices.

How can you analyze the number of external dependencies, such as third party libraries? Do we see a lot more dependencies as the software grows?

How can we determine the percentage of code coverage that our test cases cover? So as the software evolves, we can be confident that all of the code is being tested.

BrodyHolden commented 9 years ago

Does poor project communication lead to project failure? Specifically, do tools exist that could correlate communication between developer (listing lists, emails, issue trackers) with code quality? This could be existed to additional stakeholders such as users and business orientated team members?

paulmoon commented 9 years ago

Paul Moon & Jian Guan & Jonathan Lam

kmadrick commented 9 years ago

What is the relationship between diversity between team members and how the software evolves? Does a more diverse team tend to result in more effective evolution?

How does software written by teams from different backgrounds evolve and interact differently? What is similar?

Of successful open source projects, which are the most geographically/culturally/racially/religiously diverse?

How successful are foreign projects compared to local projects of the same size and complexity?

How does multiple first languages affect communication/code quality/efficiency/evolution?

How successful are projects have source code and comments written in non-English? How well do they interact with English-based systems? Is there anything that gets lost in translation?

BrodyHolden commented 9 years ago

Is there a correlation between modules that become stale due to no developers and the communication between the developers of those modules and the rest of the team?

A module could be not have many commits often because it is either stable (which can be determined based if it meet requires and how often the computing environment around it changes), too complex to work on (can be determined by observing comparing the difficulty of developing it compared to other modules [device driver vs pretty front end]), or if there are communication/social/behavioural issues (determined from reading emails and mailing lists).

BrodyHolden commented 9 years ago

What are the business/social/political/technical hurdles as a software project evolves when a large module or technology is changed from one to another? Example: Opera using blink.

jordan-heemskerk commented 9 years ago

I would like to answer the question: How does a developers' "area of focus" or "role" change (or evolve!) throughout a long-term software project. Obviously this only pertains to people who have worked on the same project for an extended period of time. People who only have a few commits, or only have a large number of commits over a small date range, would not be relevant.

mitchellri commented 9 years ago

Mitchell Rivett, Tyler Potter

How does the addition and removal of libraries/frameworks affect the evolution of a software project? How does the performance rating for each function of a software system change over time? (while recording team changes) How does the addition/modification of automated testing software affect the number of bugs/errors in a software system? How do software development methodologies affect the development time of a software system.

RobertLeahy commented 9 years ago

When styles, paradigms, et cetera change, either because the original style/paradigm was always bad (think tightly coupled code, a lot of global state), or trends/best practices change (the historical shift from procedural to object oriented programming), how do long-lived code bases react/what mechanisms does this reaction use?

Do they stick with the old style/paradigm? Do they rewrite all their code? Do they create wrappers? Which of these (in the long run) results in the lowest "cost", where "cost" is defined as new code that has to be added, bugs created, et cetera, and how long does each reaction take to "pay off" (if they ever "pay off" at all)?

EvanHildebrandt commented 9 years ago

Evan Hildebrandt, Jason Syrotuck How does the maturity of a language effect the speed and reliability of code bases? How should the awareness of software evolution effect the initial design of a project?

JorinDW commented 9 years ago

Expansion of user base make code evolve quicker? Gotos in code? How experience level in devs affects evolution? Focus on particular subject by devs? Dead code, and activity level during runtime? Does the inclusion of vulnerable code motivate evolution? Are there markers for sudden change before the change occurs? Brandon Leech, Brayden Arthur, Jorin Weatherston, Chris Life

DigitalCoffee commented 9 years ago

What is the bug-to-size ratio of a software project, and how does this change as the size of the project increases? What are some metrics that can help determine when it's probably time to start over, because there are way too many problems! How can we track or visualize the actual code flow at run-time? This would help with understanding bugs in legacy code bases? How long does it take to discover & fix a bug as the project progresses?

Andrew Hansen and Devin Corrigall

gregnr commented 9 years ago

Greg Richardson, Parker Atkins, and Rabjot(RJ) Aujla

Maven dependencies

How is a project’s development affected by their version control system? (ie. Using Git vs. Mercurial vs. Subversion)

Evolution on open source vs proprietary projects?

Do projects with unit tests require less overall maintenance than projects without?

At what point in a software project’s growth does it make sense to introduce an automated test suite?

How does the number of developers on average correspond to the size of the code base?

KRollans commented 9 years ago

How does code duplication within a system influence its evolution? Does using duplicated code tend to cause more bugs as the system changes?

Keith Rollans