Software Engineering

  Paper details: PRT £152 Assignment 1 During the course you will be required to do a number of class activities. Marks will be awarded for successful completion of these tasks. This will contribute 20% towards the marks allocated for this assignment. In addition there is an assignment which needs to be completed and submitted using the learnline submission point provided for assignment‘l. 01. Create a Git directory for you assignment (including word or pdf documents and programming code); 10 Marks 02. Write a small program to input a graph and check if the graph is connected. a) Write a test to check if the program works using xUnit b) Implement your test. Run the test and see that it fails. c) Code up you solution using TDD d) Refactor you code so it's nice for me to see it. £10 Marks QB. Fowler et aL (1999) suggest that Code Bad Smells can give “indications that there is trouble that can be solved by a refactoring". They are widely used for detecting refactoring opportunities in software (Mens and Tourwe. 20oLl). Objective: Capture the relationship between Code Bad Smells and faults Targeted Code Bad Smells: Data Clumps. Message Chains. Middle Man. Speculative Generality, and Switch Statements Use the following data sets: Apache Common Packages (Common Io. Common Logging, Common Codec, Common DbUtils, Common DBCP, and Common Net) Choose some bad smells. Zimmerman et al.‘s (2007) fault identification approach: 1. Locate “bug", “fix(ed)" and “update(d)" token in CVS comment messages. 2. If a version entry in CVS contains one or more above tokens and those tokens are followed by numbers. this version entry is seen as a bug fixing update. Find 5 examples of some bugs and classify them according to smelL £10 Marks   References FOWLER. M., BECK, K., BRANT. J.. OPDYKE. W. & ROBERTS, D. (1999) Refactoring: Improving the Design of Existing Code, Addison Wesley. GAMMA. E.. HELM. R., JOHNSON. R. & VLISSIDES. J. (1995) Design patterns : elements of reusable object-oriented software, Reading, Mass. Addison-Wesley. MENS. T. & TOURWE. T. (2000) A survey of software refactoring. Software Engineering, IEEE Transactions on, 30.126-139. SEAMAN, C. B.. SHULL. F.. REGARDIE, M., ELBERT. D.. FELDMANN. R. L., GUO, Y. & GODFREY, S. (2008) Defect categorization: making use of a decade of widely varying historical data. Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement. Kaiserslautern. Germany, ACM. ZIMMERMANN, T., PREMRAJ, R. & ZELLER, A. (2007) Predicting Defects for Eclipse. IN PREMRAJ. R. (Ed.) Predictor Models in Software Engineering, 2007. PROMISE'07: ICSE Workshops 2007. International Workshop on.